Tietokannat käyttävät taulukoita tietojen järjestämiseen. Jokainen taulukko koostuu useista riveistä, joista jokainen vastaa yhtä tietokantatietuetta. Joten miten tietokannat pitävät nämä tietueet oikein? Se tapahtuu avainten käytön kautta.
Ensisijaiset avaimet
Ensimmäinen avaintyyppi, josta keskustelemme, on ensisijainen avain. Ensisijainen avain tunnistaa yksilöllisesti jokaisen taulukon tietueen. Jokaisessa tietokantataulukossa on oltava yksi tai useampi sarake, joka on määritetty ensisijaiseksi avaimeksi.
Esimerkki ensisijainen avain
Oletetaan, että meillä on taulukko nimeltä Työntekijät, joka sisältää henkilöstötiedot jokaisesta yrityksemme työntekijästä. Meidän on valittava sopiva ensisijainen avain, joka yksilöi jokaisen työntekijän. Ensimmäinen ajatuksesi saattaa olla työntekijän nimen käyttäminen. Tämä ei kuitenkaan toimisi, koska on mahdollista, että palkkaat kaksi työntekijää samalla nimellä. Parempi vaihtoehto voisi olla käyttää yksilöllistä työntekijän tunnusnumeroa, joka annetaan kullekin työntekijälle, kun heidät palkataan. Jotkut organisaatiot käyttävät sosiaaliturvatunnuksia (tai vastaavia viranomaistunnuksia) ensisijaisena avaimena, koska jokaisella työntekijällä on jo sellainen ja ne ovat taatusti ainutlaatuisia. Sosiaaliturvatunnusten käyttö tähän tarkoitukseen on kuitenkin kiistanalaista yksityisyyteen liittyvien huolenaiheiden vuoksi. Jos työskentelet valtion organisaatiossa, sosiaaliturvatunnuksen käyttö ei ehkä ole laillista vuoden 1974 Privacy Actin mukaan. Tästä syystä useimmat organisaatiot ovat siirtyneet käyttämään yksilöllisiä tunnisteita, kuten työntekijätunnusta tai opiskelijatunnusta. Kun olet valinnut ensisijaisen avaimen ja määrittänyt tietokannan, tietokannan hallintajärjestelmä valvoo avaimen ainutlaatuisuutta. Jos esimerkiksi lisäät tietueen taulukkoon ensisijaisella avaimella, joka kopioi olemassa olevan tietueen, lisäys epäonnistuu. Useimmat tietokannat voivat myös luoda ensisijaisia avaimia. Esimerkiksi Microsoft Access voidaan määrittää käyttämään AutoNumber-tietotyyppiä yksilöllisen tunnuksen määrittämiseen jokaiselle taulukon tietueelle. Vaikka tämä on tehokasta, se on huono suunnittelukäytäntö, koska se antaa sinulle merkityksettömän arvon jokaisessa taulukon tietueessa. Käytä sen sijaan tätä tilaa hyödyllisen tallentamiseen.
Vieraat avaimet
Toinen avaintyyppi on vierasavain. Vieras avain luo luonnollisia suhteita taulukoiden välille. Useimmissa tietokantarakenteissa taulukoiden välillä on luonnollisia suhteita.
Esimerkki vierasavain
Palatakseni työntekijätietokantaan, kuvittele, että haluamme lisätä tietokantaan taulukon osaston tiedoista. Tätä uutta taulukkoa voisi kutsua osastoiksi ja se sisältäisi suuren määrän tietoa osastosta kokonaisuutena. Haluaisimme sisällyttää myös tiedot osaston työntekijöistä, mutta olisi tarpeetonta saada samat tiedot kahdessa taulukossa (Työntekijät ja Osastot). Joten sen sijaan luomme suhteen kahden taulukon välille.
Luo suhde taulukoiden välille
Oletetaan, että Osastot-taulukko käyttää Osaston nimi -saraketta ensisijaisena avaimena. Luodaksemme suhteen kahden taulukon välille lisäämme Työntekijät-taulukkoon uuden sarakkeen nimeltä Osasto. Syötetään sitten sen osaston nimi, johon jokainen työntekijä kuuluu. Seuraavaksi ilmoitamme tietokannan hallintajärjestelmälle, että Työntekijät-taulukon Osasto-sarake on vierasavain, joka viittaa Osastot-taulukkoon. Vieraalla avaimella ei ole ainutlaatuisuusrajoitusta, koska esimerkiksi meillä voi olla useampi kuin yksi työntekijä yhdelle osastolle. Ei myöskään vaadita, että Osastot-taulukon alkiolla tulee olla vastaava kohta Työntekijät-taulukossa, koska meillä voi olla osasto ilman työntekijöitä.