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.