Tietokannat käyttävät avaimia tietueiden tallentamiseen, lajitteluun ja vertailuun tai tietueiden välisten suhteiden luomiseen. Jos olet ollut tietokantojen parissa jonkin aikaa, olet luultavasti kuullut erityyppisistä avaimista: ensisijaisista avaimista, ehdokasavaimista ja viiteavaimista. Kun luot uuden tietokantataulukon, sinua pyydetään valitsemaan yksi ensisijainen avain, joka yksilöi jokaisen kyseiseen taulukkoon tallennetun tietueen.
Miksi ensisijainen avain on tärkeä
Ensisijaisen avaimen valinta on yksi tärkeimmistä päätöksistä, joita teet, kun suunnittelet uutta tietokantaa. Päärajoitus on, että sinun on varmistettava, että valittu avain on ainutlaatuinen. Jos kahdella tietueella (menneisyydessä, nykyisessä tai tulevassa) on mahdollisuus jakaa sama arvo attribuutille, se on huono valinta ensisijaiseksi avaimeksi. Toinen tärkeä näkökohta ensisijaisessa avaimessa on sen käyttö muissa taulukoissa, jotka viittaavat siihen relaatiotietokannassa. Tässä suhteessa ensisijainen avain toimii osoittimen kohteena. Näiden keskinäisten riippuvuuksien vuoksi ensisijaisen avaimen on oltava olemassa tietuetta luotaessa, eikä se voi koskaan muuttua.
Huonot pääavaimen valinnat
Se, mitä jotkut saattavat pitää ilmeisenä ensisijaisena avaimena, saattaa sen sijaan olla huono valinta. Tässä on muutamia esimerkkejä:
- postinumerot Älä luo hyviä perusavaimia kaupunkien taulukkoon. Kun luot yksinkertaisen kaupunkien hakutaulukon, postinumero näyttää loogiselta ensisijaiselta avaimelta. Tarkemmin tarkasteltuna saatat kuitenkin huomata, että useammalla kuin yhdellä kaupungilla on yhteinen postinumero. Esimerkiksi Neptunen, Neptune Cityn, Tinton Fallsin ja Wall Townshipin kaupungeilla New Jerseyssä on kaikilla yhteinen postinumero 07753.
- Sosiaaliturvatunnukset eivät tee hyviä ensisijaisia avaimia monista syistä. Useimmat ihmiset pitävät SSN-numeroaan yksityisenä eivätkä halua sen näkyvän selvästi tietokannan käyttäjille. Lisäksi joillakin ihmisillä ei ole SSN-tunnusta.
- Sähköpostiosoitteet ovat myös huono valinta ensisijaiseksi avaimeksi. Vaikka ne ovat ainutlaatuisia, ne voivat muuttua ajan myötä. Lisäksi kaikilla ei ole sähköpostiosoitetta.
Mikä on hyvä ensisijainen avain
Joten miten valitset tehokkaan ensisijaisen avaimen? Useimmissa tapauksissa käännyt tietokantajärjestelmäsi puoleen saadaksesi tukea. Paras käytäntö tietokannan suunnittelussa on käyttää sisäisesti luotua ensisijaista avainta. Tietokannan hallintajärjestelmäsi voi normaalisti luoda yksilöllisen tunnisteen, jolla ei ole merkitystä tietokantajärjestelmän ulkopuolella. Voit esimerkiksi käyttää Microsoft Access AutoNumber -tietotyyppiä luodaksesi kentän nimeltä RecordID. AutoNumber-tietotyyppi lisää kenttää automaattisesti aina, kun luot tietueen. Vaikka numerolla itsessään ei ole merkitystä, se tarjoaa luotettavan tavan viitata yksittäiseen tietueeseen kyselyissä. Hyvä ensisijainen avain on yleensä lyhyt, käyttää numeroita ja välttää erikoismerkkejä tai isojen ja pienten kirjainten yhdistelmää nopeiden tietokantojen hakujen ja vertailujen helpottamiseksi.