Ulkomaisten avainten voimakkuus relaatiotietokannoissa

Ulkopuolinen avain avaa oven koko tietopaketille

Tietokannan suunnittelijat käyttävät laaja-alaisesti avaimia kehitettäessä relaatiotietokantojaan. Yleisimpiä näistä avaimista ovat ensisijaiset avaimet ja vieraat avaimet. Tietokantaan liittyvä avain on relaatiotaulukon kenttä, joka vastaa toisen taulukon ensisijaista avainsaraketta. Jos haluat ymmärtää, miten ulkomaisen avaimen toiminta toimii, katsotaan lähemmin lähemmin relaatiotietokannan ajatusta.

Jotkut relaatiotietokannan perusteet

Relaatiotietokannassa tiedot tallennetaan riveihin ja sarakkeisiin sisältäviin taulukoihin , mikä helpottaa etsimistä ja manipulointia. Relaatiotietokannan käsitteen takana on jonkin verran matemaattista matematiikkaa (relaatioalgebra, jota EF ehdottaa

Codd IBM: ssä vuonna 1970), mutta se ei ole tämän artikkelin aihe.

Käytännöllisiin tarkoituksiin (ja ei-matemaatikoihin) relaatiotietokanta tallentaa "liittyviä" tietoja riveihin ja sarakkeisiin. Lisäksi - ja tässä missä se saa mielenkiintoiselta - useimmat tietokannat on suunniteltu siten, että yhden taulukon tiedot voivat käyttää tietoja toisessa taulukossa. Tämä kyky luoda taulukoiden välisiä suhteita on relaatiotietokannan todellinen voima.

Ulkomaisten avainten käyttäminen

Useimmissa taulukoissa, varsinkin suurissa, monimutkaisissa tietokannoissa, on ensisijaisia ​​avaimia. Taulukoihin, joiden on tarkoitus käyttää muita taulukoita, on oltava myös vieras avain.

Jos haluat käyttää yleisesti mainittua Northwinds-tietokantaa, tässä on ote Product-taulukosta:

Northwind-tietokannan tuotepakkauslomake
Tuotetunnus Tuotteen nimi LuokanTunnus QuantityPerU Yksikköhinta
1 Chai 1 10 laatikkoa x 20 pussia 18.00
2 Chang 1 24 - 12 oz pulloa 19.00
3 Anisoitu siirappi 2 12 - 550 ml pulloja 10.00
4 Chef Antonin Cajun-maustekastike 2 48 - 6 oz purkkia 22.00
5 Chef Antonin Gumbo Mix 2 36 laatikkoa 21.35
6 Mummon Boysenberry Spread 2 12 - 8 oz purkkia 25.00
7 Bobin orkesterin kuivatut päärynät 7 12 - 1 lb pkgs. 30.00

TuoteID- sarake on tämän taulukon ensisijainen avain. Se antaa yksilöllisen tunnuksen jokaiselle tuotteelle.

Tässä taulukossa on myös ForeignID-sarake, CategoryID . Jokaisen Tuotepaketin tuote-linkit yhdistyvät ryhmän luokkaan, joka määrittää kyseisen tuotteen luokka.

Huomaa tämä osio tietokannan Luokat-taulukosta:

Northwind-tietokannan luokat Taulukko-ote
LuokanTunnus Kategorian nimi Kuvaus
1 juomat Virvoitusjuomia, kahvia, teetä, oluita ja juomia
2 Mausteet Makeat ja suolaiset kastikkeet, maut, levitteet ja mausteet
3 konvehteja Jälkiruoat, karkit ja makeutusaineet
5 Maitotuotteet juustot

Sarakkeen CategoryID on sarakkeen ensisijainen avain. (Se ei ole vieras avain, koska sillä ei ole tarvetta käyttää toista taulukkoa.) Tuotteitaulukon jokainen vierasavaimella linkitetään ensisijaisen avaimen luokat-taulukkoon. Esimerkiksi Chai-tuotteelle on määritetty "Juomat" -luokka, kun taas Anisoi-siirappi on luokassa Maustevalmisteet.

Tällainen yhdistäminen luo lukemattomia tapoja käyttää ja käyttää uudelleen tietoja relaatiotietokantaan.