GettyImages 763160545 5a469015f1300a00377839f0

Tietokannan ehdot suhteellinen ja suhde kuvaa tapaa, jolla tiedot yhdistetään taulukoissa. Relaatiotietokanta koostuu kahdesta tai useammasta taulukosta, jotka on yhdistetty tietyllä avaimella. Relaatiotietokanta eroaa strukturoimattomista tietokannoista, jotka ovat yleisiä big data -aloitteissa. Relaatiotietokannat vaativat tyypillisesti tiukat säännöt siitä, miten taulukot määritellään ja mikä muodostaa kelvollisen suhteen taulukoiden välillä.

Tietokannan suhdetyypit

Suhteet tarjoavat tehokkaita tapoja kuvata tietokantataulukoiden välisiä yhteyksiä. Näitä suhteita voidaan sitten käyttää tehokkaiden ristitaulukkokyselyjen suorittamiseen, jotka tunnetaan nimellä JOIN. Tietokantasuhteita on kolmen tyyppisiä, joista jokainen on nimetty suhteeseen liittyvien taulukkorivien lukumäärän perusteella. Kukin näistä kolmesta suhdetyypistä on olemassa kahden taulukon välillä.

  • Yksittäiset suhteet esiintyy, kun jokaisella ensimmäisen taulukon alkiolla on vain yksi vastine toisessa taulukossa. Yksi-yhteen-suhteita käytetään harvoin, koska usein on tehokkaampaa laittaa kaikki tiedot yhteen taulukkoon. Jotkut tietokannan suunnittelijat hyödyntävät tätä suhdetta luomalla taulukoita, jotka sisältävät osajoukon toisen taulukon tiedoista.
  • Yksi-moneen -suhteet ovat yleisin tietokantasuhteen tyyppi. Niitä esiintyy, kun jokainen taulukon A tietue vastaa yhtä tai useampaa taulukon B tietuetta, mutta jokainen taulukon B tietue vastaa vain yhtä tietuetta taulukossa A. Esimerkiksi opettajat-taulukon ja opiskelijataulukon välinen suhde peruskoulun tietokannassa luultavasti yksi-moneen-suhde, koska jokaisella opiskelijalla on vain yksi opettaja, mutta jokaisella opettajalla on useita oppilaita. Tämä yksi moniin -malli auttaa poistamaan päällekkäiset tiedot.
  • Monesta moneen -suhteet esiintyy, kun jokainen taulukon A tietue vastaa yhtä tai useampaa taulukon B tietuetta ja jokainen taulukon B tietue vastaa yhtä tai useampaa taulukon A tietuetta. Esimerkiksi opettajat-taulukon ja Kurssit-taulukon välinen suhde on luultavasti paljon -moneen. koska jokainen opettaja voi opettaa useamman kuin yhden kurssin ja jokaisella kurssilla voi olla useampi kuin yksi ohjaaja.

Itseään viittaavat suhteet: erikoistapaus

Itseviittaussuhteita esiintyy, kun mukana on vain yksi taulukko. Yleinen esimerkki on Työntekijät-taulukko, joka sisältää tiedot kunkin työntekijän esimiehestä. Jokainen esimies on myös työntekijä ja hänellä on esimies. Tässä tapauksessa on olemassa yksi-moneen itseviittaussuhde, koska jokaisella työntekijällä on yksi esimies, mutta jokaisella esimiehellä voi olla useampi kuin yksi työntekijä.

Suhteiden luominen vierailla avaimilla

Voit luoda suhteita taulukoiden välille määrittämällä vierasavaimen. Tämä avain kertoo relaatiotietokannalle, kuinka taulukot liittyvät toisiinsa. Monissa tapauksissa taulukon A sarake sisältää perusavaimet, joihin viitataan taulukossa B. Harkitse esimerkkiä Opettajat ja Opiskelijat -taulukoista. Opettajat-taulukko sisältää tunnuksen, nimen ja kurssin sarakkeen:

Opettajan tunnus Nimeä opettaja Luokka
001 John Doe Englanti
002 Jane Schmoe Matematiikka

Opiskelijat-taulukko sisältää tunnuksen, nimen ja vierasavaimen sarakkeen:

Opiskelijanumero Opiskelijan nimi Opettaja_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

sarakkeen Opettaja_FK Opiskelijat-taulukossa viittaa opettajan ensisijaiseen avaimen arvoon Opettajat-taulukossa. Usein tietokannan suunnittelijat käyttävät sarakkeen nimessä PK:ta tai FK:ta ensisijaisen avaimen tai vierasavaimen sarakkeen tunnistamiseen. Nämä kaksi taulukkoa havainnollistavat opettajien ja opiskelijoiden välistä yksi-moneen-suhdetta.

Suhteet ja viitteellinen eheys

Kun olet lisännyt taulukkoon vieraan avaimen, luot tietokantarajoituksen, joka pakottaa viittauksen eheyden kahden taulukon välillä. Tämä vaihe varmistaa, että taulukoiden väliset suhteet pysyvät johdonmukaisina. Kun taulukossa on viiteavain toiseen taulukkoon, viittauksen eheys edellyttää, että jokaisen taulukon B viiteavaimen arvon on viitattava taulukon A olemassa olevaan tietueeseen.

Suhteiden toteuttaminen

Tietokannastasi riippuen toteutat taulukoiden välisiä suhteita eri tavoilla. Microsoft Access tarjoaa ohjatun toiminnon, jonka avulla voit linkittää taulukoita ja myös valvoa viitetietojen eheyttä. Jos kirjoitat SQL:ää suoraan, luo ensin Teachers-taulukko ja määritä ID-sarake ensisijaiseksi avaimeksi: CREATE TABLE Teachers (InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Nimeä opettaja VARCHAR(100),
Kurssi VARCHAR(100)
);

type=»code»> Kun luot Opiskelijat-taulukon, määrität Teacher_FK-sarakkeen vierasavaimeksi, joka viittaa Opettaja-taulukon InstructorID-sarakkeeseen: CREATE TABLE Opiskelijat (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Opiskelijan_nimi VARCHAR(100), opettaja_FK INT,
FORIGN KEY (Teacher_FK) VIITTEET Opettajat (Opettajatunnus) )
);

type=»code»>

Suhteiden käyttäminen taulukoiden liittämiseen

Kun olet luonut yhden tai useamman suhteen tietokantaan, hyödynnä niiden tehoa yhdistämällä tietoja useista taulukoista SQL JOIN -kyselyillä. Yleisin liitostyyppi on SQL INNER JOIN, joka on yksinkertainen liitos. Tämäntyyppinen liitos palauttaa kaikki liitosehdon täyttävät tietueet yhdestä tai useammasta taulukosta. Esimerkiksi tämä JOIN-ehto palauttaa Opiskelijan_nimi, Opettajan_nimi ja Kurssi, jossa Opiskelijat-taulukon vierasavain vastaa Opettajat-taulukon ensisijaista avainta: SELECT Opiskelijat.Opiskelijan_nimi, Opettajat.Opettajan_nimi, Opettajat.Kurssi.
opiskelijoilta
INNER JOIN Opettajat
ON Opiskelijat.Teacher_FK=Opettajat.Opettajatunnus;

type=»code»> Tämä lauseke palauttaa seuraavanlaisen taulukon:

Opiskelijan nimi Nimeä opettaja Luokka
Lowell Smith John Doe Englanti
Brian Short John Doe Englanti
Corky Mendez Jane Schmoe Matematiikka
Monica Jones John Doe Englanti

Tilaa uutiskirje

Tilaa uutiskirje

Tilaa uutiskirje

Tilaa uutiskirje

Tilaa uutiskirje

Por Markus