Uvod v relacije podatkovnih baz

Kazalo:

Uvod v relacije podatkovnih baz
Uvod v relacije podatkovnih baz
Anonim

Izraza baze podatkov relacija in razmerje opisujeta način povezovanja podatkov v tabelah. Relacijska zbirka podatkov je sestavljena iz niza dveh ali več tabel, povezanih z določenim ključem. Relacijska baza podatkov se razlikuje od nestrukturiranih baz podatkov, ki so običajne pri pobudah za velike podatke. Relacijske zbirke podatkov ponavadi zahtevajo stroga pravila o tem, kako so tabele definirane in kaj predstavlja veljavno razmerje med tabelami.

Image
Image

Vrste relacij baze podatkov

Relacije vam omogočajo, da na zmogljive načine opišete povezave med tabelami baze podatkov. Ta razmerja je nato mogoče uporabiti za izvajanje zmogljivih navzkrižnih poizvedb, znanih kot JOIN.

Obstajajo tri vrste relacij baze podatkov, vsaka je poimenovana glede na število vrstic tabele, vključenih v relacijo. Vsaka od teh treh vrst odnosov obstaja med dvema tabelama.

  • Razmerja ena proti ena se pojavijo, ko ima vsak vnos v prvi tabeli samo eno protipostavko v drugi tabeli. Odnosi ena proti ena se redko uporabljajo, ker je pogosto učinkoviteje vse informacije postaviti v eno tabelo. Nekateri načrtovalci podatkovnih baz izkoristijo to razmerje tako, da ustvarijo tabele, ki vsebujejo podnabor podatkov iz druge tabele.
  • Relacije ena proti mnogo so najpogostejša vrsta relacije baze podatkov. Pojavijo se, ko vsak zapis v tabeli A ustreza enemu ali več zapisom v tabeli B, vendar vsak zapis v tabeli B ustreza samo enemu zapisu v tabeli A. Na primer, razmerje med tabelo Učitelji in tabelo Učenci v osnovni šoli baza podatkov bi bila verjetno razmerje ena proti mnogo, ker ima vsak učenec le enega učitelja, vendar ima vsak učitelj več študentov. Ta zasnova ena proti več pomaga odpraviti podvojene podatke.
  • Razmerje veliko proti mnogo se pojavi, ko vsak zapis v tabeli A ustreza enemu ali več zapisom v tabeli B in vsak zapis v tabeli B ustreza enemu ali več zapisom v tabeli A. Na primer, razmerje med tabelo Učitelji in tabelo Tečaji bi bilo verjetno veliko proti mnogo, ker lahko vsak učitelj poučuje več kot en tečaj in vsak tečaj ima lahko več kot enega inštruktorja.

Spodnja vrstica

Samosklicujoča se razmerja pojavijo, ko je vključena samo ena tabela. En pogost primer je tabela Zaposleni, ki vsebuje informacije o nadzorniku vsakega zaposlenega. Vsak nadrejeni je tudi zaposleni in ima nadrejenega. V tem primeru obstaja samosklicujoč odnos ena proti mnogo, saj ima vsak zaposleni enega nadzornika, vendar ima lahko vsak nadzornik več kot enega zaposlenega.

Ustvarjanje relacij s tujimi ključi

Ustvarjate relacije med tabelami z navedbo tujega ključa. Ta ključ pove relacijski bazi podatkov, kako so tabele povezane. V mnogih primerih stolpec v tabeli A vsebuje primarne ključe, na katere se sklicuje tabela B.

Razmislite o primeru tabel Učitelji in Učenci. Tabela Učitelji vsebuje ID, ime in stolpec tečaja:

InstructorID Teacher_Name Tečaj
001 John Doe angleščina
002 Jane Schmoe Matematika

Tabela Študenti vključuje ID, ime in stolpec tujega ključa:

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

Stolpec Teacher_FK v tabeli Študenti se sklicuje na vrednost primarnega ključa inštruktorja v tabeli Učitelji. Oblikovalci baz podatkov pogosto uporabljajo PK ali FK v imenu stolpca za identifikacijo primarnega ključa ali stolpca tujega ključa.

Ti dve tabeli ponazarjata razmerje ena proti mnogo med učitelji in učenci.

Odnosi in referenčna integriteta

Po dodajanju tujega ključa v tabelo ustvarite omejitev baze podatkov, ki uveljavlja referenčno celovitost med obema tabelama. Ta korak zagotavlja, da ostanejo razmerja med tabelami dosledna. Ko ima ena tabela tuji ključ do druge tabele, referenčna celovitost zahteva, da se mora katera koli vrednost tujega ključa v tabeli B nanašati na obstoječi zapis v tabeli A.

Izvajanje odnosov

Odvisno od vaše baze podatkov boste relacije med tabelami implementirali na različne načine. Microsoft Access ponuja čarovnika, ki vam omogoča povezovanje tabel in tudi uveljavljanje referenčne integritete.

Če pišete SQL neposredno, najprej ustvarite tabelo Učitelji in razglasite stolpec ID za primarni ključ:

CREATE TABLE Učitelji (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Course VARCHAR(100));

Ko ustvarite tabelo Students, razglasite stolpec Teacher_FK kot tuji ključ, ki se sklicuje na stolpec InstructorID v tabeli Teachers':

USTVARI TABELO Študenti (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Teacher_FK) REFERENCE Učitelji (InstructorID)));

Uporaba relacij za združevanje tabel

Potem ko ustvarite eno ali več relacij v vaši bazi podatkov, izkoristite njihovo moč z uporabo poizvedb SQL JOIN za združevanje informacij iz več tabel. Najpogostejša vrsta združevanja je SQL INNER JOIN, ki je preprosto združevanje. Ta vrsta združevanja vrne vse zapise, ki izpolnjujejo pogoj združevanja iz ene ali več tabel.

Na primer, ta pogoj JOIN vrne Student_Name, Teacher_Name in Course, kjer se tuji ključ v tabeli Students ujema s primarnim ključem v tabeli Teachers:

SELECT Students. Student_Name, Teachers. Teacher_Name, Teachers. Course

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Ta stavek ustvari tabelo nekako takole:

Student_Name Teacher_Name Tečaj
Lowell Smith John Doe angleščina
Brian Short John Doe angleščina
Corky Mendez Jane Schmoe Matematika
Monica Jones John Doe angleščina

Priporočena: