Wat is het verschil tussen 1: M en 1: N relaties in een relationele database?


Antwoord 1:

SQL relationele databases ondersteunen twee hoofdrelatiemodellen.

  • 1: M Eén-op-veel gegevensmodel1: 1 Eén-op-één gegevensmodel

Eén op veel betekent dat elke rij in tabel A betrekking heeft op nul of meer rijen in tabel B. De PERSON-tabel heeft bijvoorbeeld enkele PHONE_NUMBERS in een andere tabel, maar sommige PERSON heeft helemaal geen telefoonnummerrij. De tabel PHONE_NUMBERS heeft FOREIGN KEYS die naar de PERSON verwijzen.

- Vind alle mensen en hun telefoonnummers. SELECTEER * VAN PERSOON DOE MEE MET PHONE_NUMBERS DIE GEBRUIKEN (PERSON_ID);

Eén op één betekent dat elke rij in tabel A betrekking heeft op nul of één rij in een referentietabel B. De PERSON-tabel heeft bijvoorbeeld een ADRES-veld en de STATE komt overeen met een referentietabel van staten in het land. De tabel PERSON heeft BUITENLANDSE SLEUTELS die de STATE naar de tabel STATE_CODES verwijzen.

- Vind alle mensen en toon de volledige staat waar ze wonen. SELECTEER P.PERSON_ID, P.HOUSE_NUMBER, P.STREET, P.CITY, S.STATE_NAME VAN PERSOON ALS P WORD LID VAN STATE_CODES ZOALS (PERSON.STATE = STATE_ID);

Nul rijen en de NULL-waarde

Een één op één kolom BUITENLANDSE SLEUTEL kan NULL zijn. Dit betekent dat het veld nog onbekend is. De kolom STATE hierboven is bijvoorbeeld NULL totdat iemand het adres van de persoon heeft ingesteld.

PS

Ik heb geen idee wat 1: N betekent.


Antwoord 2:

1: M en 1: N zijn gewoon alternatieve notatie voor een conventionele 1-op-veel-relatie tussen twee tabellen in een relationele database. Mogelijk ziet u dit relatietype ook geschreven als M: 1 of N: 1.

Een één-op-één relatie tussen twee tabellen wordt 1: 1 genoemd. Evenzo beschrijft M: N het veel-op-veel-relatietype.


Antwoord 3:

1: M en 1: N zijn gewoon alternatieve notatie voor een conventionele 1-op-veel-relatie tussen twee tabellen in een relationele database. Mogelijk ziet u dit relatietype ook geschreven als M: 1 of N: 1.

Een één-op-één relatie tussen twee tabellen wordt 1: 1 genoemd. Evenzo beschrijft M: N het veel-op-veel-relatietype.