Bevezetés az adatbázis-kapcsolatokba

Tartalomjegyzék:

Bevezetés az adatbázis-kapcsolatokba
Bevezetés az adatbázis-kapcsolatokba
Anonim

A relációs és kapcsolati adatbázis kifejezések a táblákban lévő adatok összekapcsolásának módját írják le. A relációs adatbázis két vagy több tábla sorozatából áll, amelyeket egy adott kulcs kapcsol össze. A relációs adatbázis különbözik a strukturálatlan adatbázisoktól, amelyek gyakoriak a big data kezdeményezésekben. A relációs adatbázisok általában szigorú szabályokat követelnek meg a táblák meghatározására és a táblák közötti érvényes kapcsolatra vonatkozóan.

Image
Image

Az adatbázis-kapcsolatok típusai

A kapcsolatok lehetővé teszik az adatbázistáblák közötti kapcsolatok hatékony leírását. Ezeket a kapcsolatokat azután kihasználva hatékony kereszttáblás lekérdezéseket hajthatnak végre, amelyeket JOIN-ként ismerünk.

Három típusú adatbázis-kapcsolat létezik, mindegyik a kapcsolatban érintett táblázatsorok száma szerint van elnevezve. A három kapcsolattípus mindegyike két tábla között létezik.

  • Egy-az-egyhez kapcsolatok akkor fordulnak elő, ha az első tábla minden bejegyzésének csak egy megfelelője van a második táblában. Az egy-egy kapcsolatokat ritkán használják, mert gyakran hatékonyabb, ha az összes információt egyetlen táblázatba helyezik. Egyes adatbázis-tervezők úgy használják ki ezt a kapcsolatot, hogy olyan táblákat hoznak létre, amelyek egy másik tábla adatainak egy részét tartalmazzák.
  • Egy-a-többhez kapcsolatok az adatbázis-kapcsolatok leggyakoribb típusa. Ezek akkor fordulnak elő, ha az A tábla minden rekordja a B táblázat egy vagy több rekordjának felel meg, de a B tábla minden rekordja csak egy rekordnak felel meg az A táblázatban. Például a Tanárok tábla és a Diákok tábla közötti kapcsolat egy általános iskolában Az adatbázis valószínűleg egy-a-többhöz kapcsolat lenne, mivel minden diáknak csak egy tanára van, de minden tanárnak több diákja van. Ez az egy a többhez kialakítás segít kiküszöbölni a duplikált adatokat.
  • Sok-sok kapcsolatok akkor fordulnak elő, ha az A táblázat minden rekordja a B tábla egy vagy több rekordjának felel meg, és a B táblázat minden rekordja egy vagy több rekordnak felel meg Például a Tanárok táblázat és a Kurzusok táblázat közötti kapcsolat valószínűleg sok a sokhoz való, mivel minden tanár egynél több kurzust is oktathat, és mindegyik kurzushoz egynél több oktató tartozhat.

Bottom Line

Az önhivatkozási kapcsolatok akkor fordulnak elő, ha csak egy tábla érintett. Az egyik gyakori példa egy Alkalmazottak tábla, amely az egyes alkalmazottak felettesére vonatkozó információkat tartalmaz. Minden felügyelő egyben alkalmazott, és van egy felettese. Ebben az esetben egy a többhez való önhivatkozásról van szó, mivel minden alkalmazottnak egy felettese van, de minden felettesnek több alkalmazottja is lehet.

Kapcsolatok létrehozása idegen kulcsokkal

A táblák közötti kapcsolatokat idegen kulcs megadásával hozhatja létre. Ez a kulcs megmondja a relációs adatbázisnak, hogy a táblák hogyan kapcsolódnak egymáshoz. Sok esetben az A táblázat egyik oszlopa olyan elsődleges kulcsokat tartalmaz, amelyekre a B táblázatból hivatkoznak.

Vegyük szemügyre a Tanárok és Diákok táblázat példáját. A Tanárok táblázat egy azonosítót, egy nevet és egy kurzusoszlopot tartalmaz:

InstructorID Teacher_Name Tanfolyam
001 John Doe angol
002 Jane Schmoe Matek

A Diákok táblázat egy azonosítót, nevet és egy idegen kulcs oszlopot tartalmaz:

StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

A Teacher_FK oszlop a Diákok táblázatban egy oktató elsődleges kulcsértékére hivatkozik a Tanárok táblában. Az adatbázis-tervezők gyakran a PK-t vagy az FK-t használják az oszlopnévben az elsődleges kulcs vagy az idegen kulcs oszlopának azonosítására.

Ez a két táblázat szemlélteti a tanárok és a diákok közötti egy-a többhez viszonyulást.

Kapcsolatok és hivatkozási integritás

Miután hozzáadott egy idegen kulcsot egy táblához, hozzon létre egy adatbázis-kényszert, amely kikényszeríti a hivatkozási integritást a két tábla között. Ez a lépés biztosítja, hogy a táblák közötti kapcsolatok konzisztensek maradjanak. Ha egy tábla idegen kulcsot tartalmaz egy másik táblához, a hivatkozási integritás megköveteli, hogy a B táblában szereplő idegenkulcs-értékeknek az A táblában lévő meglévő rekordra kell hivatkozniuk.

Kapcsolatok megvalósítása

Az adatbázistól függően különböző módon valósíthatja meg a táblák közötti kapcsolatokat. A Microsoft Access egy varázslót biztosít, amely lehetővé teszi a táblák összekapcsolását és a hivatkozási integritás érvényre juttatását.

Ha közvetlenül ír SQL-t, először hozza létre a Teachers táblát, deklarálva egy azonosító oszlopot elsődleges kulcsnak:

TÁBLÁZAT LÉTREHOZÁSA Tanárok (InstructorID INT AUTO_INCREMENT ELSŐDLEGES KULCS, Teacher_Name VARCHAR(100), Tanfolyam VARCHAR(100));

A Diákok tábla létrehozásakor a Teacher_FK oszlopot idegen kulcsnak nyilvánítja, amely az InstructorID oszlopra hivatkozik a Tanárok táblázatában:

TÁBLÁZAT LÉTREHOZÁSA Diákok (StudentID INT AUTO_INCREMENT ELSŐDLEGES KULCS, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Tanár_Tanár) REFERENCESor_FK));

Kapcsolatok használata táblákhoz való csatlakozáshoz

Miután egy vagy több kapcsolatot hozott létre az adatbázisban, használja ki azok erejét az SQL JOIN lekérdezések használatával több táblából származó információk kombinálására. Az összekapcsolás leggyakoribb típusa az SQL INNER JOIN, amely egy egyszerű csatlakozás. Ez a fajta összekapcsolás minden olyan rekordot ad vissza, amely megfelel az összekapcsolási feltételnek egy vagy több táblából.

Például ez a JOIN feltétel visszaadja a Hallgató_nevet, a Tanár_nevet és a Tanfolyamot, ahol a Diákok táblában lévő idegen kulcs megegyezik a Tanárok tábla elsődleges kulcsával:

SELECT Diákok. Diák_neve, Tanárok. Tanár_neve, Tanárok. Tanfolyam

FROM Diákok

BELSŐ CSATLAKOZÁS TanárokON Students. Teacher_FK=Tanárok. Oktatóazonosító;

Ez az utasítás egy ehhez hasonló táblázatot eredményez:

Diák_neve Teacher_Name Tanfolyam
Lowell Smith John Doe angol
Brian Short John Doe angol
Corky Mendez Jane Schmoe Matek
Monica Jones John Doe angol

Ajánlott: