Kulcsok meghatározása a táblákban A táblák mezői vagy kulcsmezők vagy leíró mezők. A kulcsmező az amelyik egyedileg azonosítja az egyes sorokat a táblában. Például ETR azonosító. A leíró mező nem egyedi jellemző az egyes sorokban. Például két hallgató családi neve lehet egyforma: Kovács. A Kovács családi név nem egyedi jellemzője a hallgatóknak. A kulcsok fő típusai a táblában: elsődleges kulcs és idegen kulcs.
Elsődleges kulcs Egy táblában az elsődleges kulcs egy mező amely különböző adatokat tartalmaz minden sorban. Mivel különböző adatokat tartalmaz, ezért minden sor egyedi. Ha nincs olyan mező amely megfelelne, akkor az elsődleges kulcs lehet összetett kettő vagy több mezőből, amelyek együtt már olyan adatokat tartalmaznak, amelyek megkülönböztetnek minden sort. Minden táblában kell lennie elsődleges kulcsnak. Ez a szabály abból következik, hogy minden sornak egyedinek kell lennie! Ha szükséges, az összes mező együtt lehet elsődleges kulcs! A hatékonyság miatt az elsődleges kulcs számjegyes mező legyen, ne használjunk hosszú karaktersorozatot. A legegyszerűbb elsődleges kulcs a számláló típus.
Idegen kulcs (Kapcsolódó mező) Az idegen kulcs egy mező vagy mező-csoport egy táblában amely(ek) olyan adato(ka)t tartalmaz ami megegyezik egy másik tábla elsődleges kulcsának adataival. Az idegen kulcsot használjuk a táblák közti kapcsolatok kialakítására.
Kapcsolatok – Relációk
Kapcsolatok – Relációk elsődleges kulcs elsődleges kulcs idegen kulcs idegen kulcs
Kapcsolatok (relációk) típusa A reláció (kapcsolat) összefüggés két tábla sorai között. Három különböző típusú kapcsolat van: egy az egyhez (1:1), egy a többhöz (1:n), több a többhöz (m:n). egy az egyhez (1:1) egy a többhöz (1:n) több a többhöz (m:n)
1:1 (egy az egyhez) kapcsolat Az 1:1 kapcsolatban az adatbázis egyik táblájának minden egyes sora kapcsolódik egy és csak egy sorhoz egy másik táblában. Az A tábla és B tábla között – 1:1 kapcsolat esetén – az A tábla minden egyes sora kapcsolódik a B tábla egy sorához. A sorok száma az A táblában egyenlő kell, hogy legyen B táblában lévő sorok számával. Nyilvánvaló, hogy az 1:1 kapcsolat nem túl hasznos, mivel az adatbázis tervezője egyszerűen összevonhatja két táblát egy táblába. Ez általánosan igaz! Mindazonáltal előfordulhat olyan helyzet amikor az 1:1 kapcsolat indokolt lehet. Például ha egy adatbázis tartalmaz néhány fontos, gyakran használt mezőt és a megmaradó mezők kevésbé használtak, akkor az adatbázis tervező két táblára bonthatja a szimpla adattáblát 1:1 kapcsolatot kialakítva közöttük. Egy ilyen kialakítás csökkentené a táblából való lekérdezések alkalmával a felesleges adatkinyerést a ritkán használt oszlopokból.
1:n (egy a többhöz) kapcsolat (ACCESS-ben 1:∞ ) Az 1:n kapcsolatban az adatbázis egyik táblájának minden egyes sora kapcsolódik egy másik tábla tetszőleges számú (tetszőlegesen sok) sorához. Ez a gyakorlatban tároló hely megtakarítást jelent, mert az adatokat nem kell többször is tárolni a kapcsolódó táblázatban. Például, egy vállalkozás tárolja az ügyfelek adatait az ügyfél táblában, míg a vevői számlákat a számla táblában. Minden ügyfél részére kiállíthatnak tetszőleges számú (tetszőlegesen sok) számlát, de minden számlát csak egy ügyfél részére lehet kiállítani.
m:n (több a többhöz) kapcsolat Az m:n kapcsolatban az adatbázis egyik táblájának tetszőleges számú (tetszőlegesen sok) sora kapcsolódik egy másik tábla tetszőleges számú (tetszőlegesen sok) sorához. Egy köztes (közvetítő) a tábla szükséges ahhoz, hogy létrejöjjön egy ilyen kapcsolat. Például, az összes vevő adatait a bank tárolja a vevő táblában, míg a bank termékeit tárolják a termék táblában. Minden vevő tetszőleges számú (tetszőlegesen sok) terméket választhat és minden terméket tetszőleges számú (tetszőlegesen sok) vevő rendelheti meg. A több-a-többhöz kapcsolatot egy közbenső táblában lehet megadni, amelyben a mezők (oszlopok) a vevők és termékek (amelyek kapcsolódnak a vevő és termék táblához).