E-gradiva > Računalništvo > Podatkovne baze > a_podatkovne_baze > 14_preslikava > Preslikava razmerja

Prijava

Preslikava razmerja s kardinalnostjo 1:1

V principu je preslikava razmerja s števnostjo 1:1 enaka, kot v primeru preslikave razmerja s števnostjo 1:M. Pri enem od entitetnih tipov ustvarimo oziroma dodamo tuji ključ (nikakor pa ne pri obeh, ker bi to pripeljalo do nenadzorovane redundance).

Primer preslikave razmerja s števnostjo 1:1

8

V relacijskem podatkovnem modelu lahko naredimo 3 inačice relacijskih shem.

Prva varianta

Eni od relacij dodamo znanji ključ.

Delavec (DelavecID,PMestoID→Parkirno_mesto) ali Parkirno_mesto(PMestoID,DelavecID→Delavec)

Druga varianta

Preslikavo razmerja s števnostjo 1:1 lahko rešimo tudi tako, da vpeljemo dodatno tabelo, ki vsebuje le ključe povezanih entitetnih tipov. Oba ključa predstavljata kandidata za ključ novonastale relacije. Zato, za ključ novonastale tabele izberemo le enega od atributov, nikakor pa ne obeh, ker bi to porušilo kardinalnost razmerja 1:1. Kot rešitev po drugi varianti bi lahko naredili eno od naslednjih dveh relacij:

Ima(DelavecID→Delavec,PMestoID→Parkirno_mesto) ali Ima(DelavecID→Delavec,PMestoID→Parkirno_mesto)

Tretja varianta 

Če imamo razmerje 1:1 s popolno udeležbo obeh entitet v razmerju (na obeh straneh je kardinalnost (1,1)), potem za obe entiteti in razmerje kreiramo le eno skupno relacijo, v kateri združimo atribute obeh entitet. V tem primeru imamo dva kandidata za ključ relacije. To sta ključa povezanih entitetnih tipov. Za ključ relacije izberemo samo enega. Možni rešitvi:

Delavec(DelavecID,PMestoID) ali Parkirno_mesto(PMestoID,DelavecID) 

Ta rešitev ni ravno priporočljiva, ker v primeru brisanja podatkov o delavcu, hkrati izgubimo tudi podatke o parkirnem mestu in obratno.

Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič