Tietokannan suunnittelijat käyttävät avaimia laajasti relaatiotietokantoja kehittäessään. Yleisimpiä näistä avaimista ovat ensisijaiset avaimet ja vierasavaimet. Tietokannan vierasavain on relaatiotaulukon kenttä, joka vastaa toisen taulukon perusavainsaraketta. Ymmärtääksemme, kuinka vieras avain toimii, katsotaanpa tarkemmin ajatusta relaatiotietokannasta.
Joitakin relaatiotietokantojen perusteita
Relaatiotietokannassa tiedot tallennetaan taulukoihin, joissa on rivejä ja sarakkeita, mikä helpottaa hakua ja käsittelyä. Relaatiotietokannan käsitteen takana on vakavaa matematiikkaa (relaatioalgebra, EF Coddin ehdottama IBM:ssä vuonna 1970), mutta se ei ole tämän artikkelin aihe. Käytännön tarkoituksiin (ja ei-matemaatikoille) relaatiotietokanta tallentaa asiaan liittyvät tiedot riveihin ja sarakkeisiin. Lisäksi – ja tässä se tulee mielenkiintoiseksi – useimmat tietokannat on suunniteltu siten, että yhden taulukon tiedot voivat käyttää toisen taulukon tietoja. Tämä kyky luoda suhteita taulukoiden välille on relaatiotietokannan todellinen voima.
Vieraiden avainten käyttö
Useimmissa taulukoissa, erityisesti suurissa ja monimutkaisissa tietokannoissa olevissa taulukoissa, on perusavaimet. Taulukoissa, jotka on suunniteltu käyttämään muita taulukoita, on myös oltava vierasavain. Tässä on ote tuotetaulukosta käyttääksesi paljon siteerattua Northwinds-tietokantaa:
Tuotetunnus | Tuotteen nimi | Luokkatunnus | SummaPerU | Yksikköhinta |
---|---|---|---|---|
1 | chais | 1 | 10 laatikkoa x 20 pussia | 18.00 |
2 | Chang | 1 | 24-12 unssin pullot | 19.00 |
3 | anis siirappi | 2 | 12-550 ml pullot | 10.00 |
4 | Chef Antonin Cajun-mauste | 2 | 48-6 unssin purkit | klo 22.00 |
5 | Gumbo Mix kokki Antonilta | 2 | 36 laatikkoa | 21.35 |
6 | Isoäidin Boysenberry levite | 2 | 12-8 unssin purkit | 25.00 |
7 | Uncle Bob luomukuivattuja päärynöitä | 7 | Pakkaus 12 – 1 lb. | 30.00 |
Luokkatunnus | Kategorian nimi | Kuvaus |
---|---|---|
1 | juomia | Virvoitusjuomat, kahvi, tee, olut ja olut |
2 | Mausteet | Makeat ja suolaiset kastikkeet, herkut, levitteet ja mausteet |
3 | herkkuja | Jälkiruoat, karkit ja makeiset |
5 | Maitotuotteet | juustoja |