dcsoft

Adatbázis-kezelés - Kapcsolatok, kapcsolatok típusa


Kezdjük talán itt is egy kis elmélettel!
A táblák definiálása után meg kell határoznunk a táblák közötti kapcsolatokat is. Ez 3 féle lehet, mégpedig 1:1 (egy-egy), 1:N (egy-több) és N:M (több-több). A relációs adatbázisokban az első kettő implementálásáéval nincsen probléma, azonban a több-több kapcsolatokat közvetlenül nem lehet létrehozni. A megoldás az ilyen esetekben, hogy egy úgy nevezett kapcsolótábla (vagy illesztő tábla), melynek a segítségével a több-több kapcsolatot két darab egy-több kapcsolattal realizáljuk.

Nézzük most a konkrét lépéseket!
1. Az Access adatbázis kezelőben kapcsolat létrehozásához meg kell nyitnunk az "Eszközök/Kapcsolatok" menüpontot. Amennyiben még nem volt kapcsolat definiálva, úgy a képen látható ablak nyílik meg automatikusan, ahol táblákat adhatjuk hozzá.
Tábla hozzáadása a kapcsolatokhoz
Miután megtettük zárjuk az ablakot a "Bezárás" gombbal. A táblák közötti kapcsolatban a két tábla egy-egy mezője vesz részt, amit úgy kell létrehozni, hogy az egyik tábla adott mezőjét, fogd és vidd módszerrel a másik tábla megfelelő mezőjére húzzuk. A megjelenő ablakban pontosíthatjuk és jóváhagyhatjuk a kapcsolat létrehozását. A kapcsolat típusa automatikusan határozódik meg annak függvényében, hogy a kapcsolatban lévő mezők egyediek-e vagy sem. Ha mindkét mező egyedi akkor egy-egy, ha csak az egyik akkor egy-több és ha egyik sem akkor határozatlan kapcsolat jön létre.
Itt írhatjuk elő a "Hivatkozási Integritások megőrzését". Bekapcsolásakor a kapcsolómezőkben lévő adatokat nem lehet megváltoztatni anélkül, hogy a változás ne hatna a vele kapcsolatban lévő másik mezőre.Bekapcsolása megőrzi a táblák ellentmondás mentességét, a mi kis példánkra nézve ez azt jelenti, hogy nem enged az olyan hallgatót törölni, illetve azonosítóját megváltoztatni, akinek volt hiányzása. Ezt a két esetet lehet némi automatizmussal segíteni, a kaszkádolt törlés és a kaszkádolt frissítés jelölőnégyzeteinek kipipálásával. Ilyenkor a fő táblánkban való változtatás mindkét esetre nézve, változásokat eredmények a kapcsolódó táblában is.
Kapcsolódó mezők összerendelése
És végül néhány szó az "Illesztés típusáról". Itt minden esetben három opció közül választhatunk. Az alapértelmezés az, hogy egy esetleges lekérdezésnél, csak azok a rekordok jelennek meg mindkét táblára nézve, amelyekhez van kapcsolódó rekord a másik táblában. Példánkban ez azt jelenti, hogy az olyan hallgató akinek nem volt még hiányzása nem lesz kilistázva, illetve az olyan hiányzás ami nem létező hallgatóhoz kapcsolódik (ez a hivatkozási integritás megőrzése mellett sosem jön létre), nem lesz része a listánknak. A második és harmadik lehetőség az egyik táblára nézve mindig teljes listát eredményez, még akkor is, ha nincs kapcsolódó rekord a másik táblában.
Az Access a kapcsolatokat a megfelelő mezők összekötésével szemlélteti és ha hivatkozási integritást is bekapcsoltuk, akkor a vonal két végén a kapcsolat típusának megfelelő szimbólum jelenik meg
Ha az adatbázis minden létező kapcsolatát definiáltuk, ne felejtsük el menteni a kapcsolatokat a mentés gombbal.

 

Következő lecke: Lekérdezések




Adatbázis-kezelés, kapcsolat, MS Access