Kapcsolatok az adatbázis táblái között

GevaPC Tudástár: 

Adatbáziskezelés KapcsolatokAdatbáziskezelés Kapcsolatok ... az adatbázis táblák között

Többtáblás adatbázisokkal való munkálkodásnál szükségszerű, hogy a táblák között kapcsolatokat építsünk föl. A relációs adatbázisok pontosan attól relációsak, hogy több helyen tárolt adatok közötti kapcsolatokra épül. Ebben az írásban a kapcsolatok típusait és azok értelmezéseit veszem sorra.

Adatbáziskezelés kapcsolatok - a kapcsolatok szerint

A könnyebb értehtőség kedvéért vegyünk egy példát alapul: Van egy webshopunk, amelynek a számlázását rögzítjük az adatbázisba. Amit tudunk ehhez:

  • tároljuk az ügyfelek számlázási adatai;
  • a termékek adatait tároljuk, s ezen jellemzők között az árát is;
  • a vásárlásoknál keletkezett számlák adatait tároljuk, és amit még tudunk hozzá:
    - egy számlára több termék is kerülhet (nem tudjuk hány kerül rá) és egy vevő, aki a vevők között tárolódik;
  • a számlán a fizetés módját is rögzíteni kell, tehát a szóbajöhető fizetési módokat is tárolnunk kell

Egy az egyhez kapcsolat típus

A hivatkozási tábla egy rekordjához a hivatkozott tábla egy rekordja rendelődik. Olyan helyeken alkalmazandó, ahol valójában csak bővebb, esetleg bizalmasabb adatmegadásra van szükségünk egyes rekordok esetében, de a további adatokat nem akarjuk a főtáblában tárolni. A kapcsolatot mindkét tábla kulcsmezőjével hozhatjuk létre. Például A vevők adatait bonthatjuk két táblára - a bizalmasság, a személyes adatok védelme érdekében: egyik táblánk tartalmazza a vevők számlára feltételen szükséges adatai, míg egy másik táblában az elérhetőségek, kontakt személyek, ...

Egy a sokhoz kapcsolat

Ebben az esetben a hivatkozási tábla egy rekordjához a hivatkozott tábla több rekordja is rendelhető. Például - egy vevőhöz több számla is tartozhat; A kapcsolatot a hivatkozási tábla kulcsmezőjével és a hivatkozott tábla azonos felépítésű, ám nem kulcsmezőjével hozhatjuk létre.

Sok az egyhez kapcsolat

ez tulajdonképpen az előző fordítottja, s a példához visszakanyarodva - tulajdonképpen csak nézőpont kérdése :-) Például - sok számlához kapcsolódik egy vevő;

Sok a sokhoz kapcsolat

Ebben az esetben a hivatkozási tábla több rekordjához a hivatkozott tábla több rekordja is kapcsolódhat. Ezt a kapcsolatot a két tábla kulcsmezői nélkül kell létrehozni. Például - több termék kapcsolódik egy számlához és egy termék több számlához;