Vad är skillnaden mellan 1: M och 1: N-relationer i en relationsdatabas?


Svar 1:

SQL-databaser stöder två huvudmodeller för relation.

  • 1: M En-till-många datamodell1: 1 En-till-en datamodell

En till många betyder att varje rad i tabell A avser noll eller fler rader i tabell B. Exempelvis har PERSON-tabellen några PHONE_NUMBERS i en annan tabell, men vissa PERSON kanske inte har någon telefonnummerrad alls. Tabellen PHONE_NUMBERS har utländska nycklar som pekar på PERSON.

- Hitta alla människor och deras telefonnummer. VÄLJ * FRÅN PERSON GÅ MED PHONE_NUMBERS ANVÄNDNING (PERSON_ID);

En till en betyder varje rad i tabell A hänför sig till noll eller en rad i en referenstabell B. Exempelvis har PERSON-tabellen ett ADDRESS-fält och STATEN matchar en referenstabell över tillstånd i landet. PERSON-tabellen har utländska nycklar som pekar STATE till tabellen STATE_CODES.

- Hitta alla människor och visa det fullständiga namnet där de bor. VÄLJ P.PERSON_ID, P.HOUSE_NUMBER, P.STREET, P.CITY, S.STATE_NAME FRÅN PERSON AS P JOIN STATE_CODES AS S ON (PERSON.STATE = STATE_ID);

Noll rader och NULL-värdet

En en till en utländsk nyckelkolumn kan vara NULL. Detta betyder att fältet är ännu okänt. Till exempel är STATE-kolumnen NULL tills någon anger personens adress.

PS

Jag har ingen aning om vad 1: N betyder.


Svar 2:

1: M och 1: N är helt enkelt alternativ notation för en konventionell 1 till många relation mellan två tabeller i en relationsdatabas. Du kan också se denna relationstyp skriven som M: 1 eller N: 1.

Ett en-mot-en-förhållande mellan två tabeller kallas 1: 1. På liknande sätt beskriver M: N relationstypen många till många.


Svar 3:

1: M och 1: N är helt enkelt alternativ notation för en konventionell 1 till många relation mellan två tabeller i en relationsdatabas. Du kan också se denna relationstyp skriven som M: 1 eller N: 1.

Ett en-mot-en-förhållande mellan två tabeller kallas 1: 1. På liknande sätt beskriver M: N relationstypen många till många.