Kakšna je razlika med razmerji 1: M in 1: N v relacijski podatkovni bazi?


Odgovor 1:

Relacijske baze podatkov SQL podpirajo dva glavna modela odnosov.

  • 1: M Podatkovni model ena na več: 1: 1 Podatkovni model ena na ena

Ena do Mnogi pomeni, da se vsaka vrstica v tabeli A nanaša na nič ali več vrstic v tabeli B. Na primer, tabela PERSON ima nekaj PHONE_NUMBERS v drugi tabeli, vendar neka oseba PERSON morda sploh nima vrstice s telefonsko številko. Tabela PHONE_NUMBERS ima TUJE KLJUČE, ki kažejo na OSEBO.

- Poiščite vse ljudi in njihove telefonske številke. IZBERI * OD OSEBE PRIDRUŽITE UPORABO TELEFONOVNIH ŠTEVIL (PERSON_ID);

Ena do ena pomeni, da se vsaka vrstica v tabeli A nanaša na nič ali eno vrstico v referenčni tabeli B. Na primer tabela OSEBE ima polje ADDRESS in STATE se ujema z referenčno tabelo držav v državi. Tabela PERSON ima FOREIGN KEYS, ki kažejo STATE na tabelo STATE_CODES.

- Poiščite vse ljudi in pokažite polno ime države, kjer živijo. IZBERITE P.PERSON_ID, P.HOUSE_NUMBER, P.STREET, P.CITY, S.STATE_NAME OD OSEBE KOT PRIDRUŽITE STATE_CODES AS S ON (PERSON.STATE = STATE_ID);

Zero vrstic in NULL value

Stolpec TUJ KLJUČ ena na ena je lahko NULL. To pomeni, da polje še ni znano. Na primer, zgornji stolpec STATE je NULL, dokler nekdo ne določi naslova osebe.

PS

Pojma nimam, kaj pomeni 1: N.


Odgovor 2:

1: M in 1: N sta preprosto alternativna poimenovanja za običajni odnos 1 do števil med dvema tabelama v relacijski podatkovni bazi. Morda boste videli tudi to vrsto razmerja, zapisano kot M: 1 ali N: 1.

Razmerje ena proti ena med dvema tabelama se imenuje 1: 1. Podobno M: N opisuje vrsto razmerja med mnogimi.


Odgovor 3:

1: M in 1: N sta preprosto alternativna poimenovanja za običajni odnos 1 do števil med dvema tabelama v relacijski podatkovni bazi. Morda boste videli tudi to vrsto razmerja, zapisano kot M: 1 ali N: 1.

Razmerje ena proti ena med dvema tabelama se imenuje 1: 1. Podobno M: N opisuje vrsto razmerja med mnogimi.