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 vakaa matematiikka (relaatioalgebra, jota ehdottaa E.F.
Codd IBM: ssä vuonna 1970), mutta se ei ole tämän artikkelin aihe.
Käytännöllisiin tarkoituksiin (ja ei-matemaatikoihin) relaatiotietokanta tallentaa kyseisiin tietoihin rivejä ja sarakkeita. Lisäksi - ja tässä se on kiinnostava - suurin osa tietokannoista 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:
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 |
Tuotetunnus sarake on tämän taulukon ensisijainen avain. Se antaa yksilöllisen tunnuksen jokaiselle tuotteelle.
Tämä taulukko sisältää myös vieraan avainsarakkeen, LuokanTunnus. Jokaisen Tuotepaketin tuote-linkit yhdistyvät ryhmän luokkaan, joka määrittää kyseisen tuotteen luokka.
Huomaa tämä osio tietokannan Luokat-taulukosta:
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 |
Sarake LuokanTunnus on tämän 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.