Perusnäppäimet, jotka tekevät tietokannasta helppoa

Tietokannan avaimet ovat helpoin tapa luoda tehokas relaatiotietokanta

Kuten ehkä jo tiedät, tietokannat käyttävät taulukoita tietojen järjestämiseen. (Jos sinulla ei ole tietokannan peruskäsitteitä, lue Mikä on tietokanta? ) Jokainen taulukko koostuu useista rivistä, joista kukin vastaa yhtä tietokannan tietuetta. Joten, miten tietokannat pitävät kaikki nämä tietueet suorina? Se on avainten käytön kautta.

Ensisijaiset avaimet

Ensimäinen avaimen tyyppi, josta keskustelemme, on ensisijainen avain . Jokaisella tietokantataulukolla pitäisi olla yksi tai useampia sarakkeita, jotka on määritetty ensisijaiseksi avaimeksi . Tämän avaimen arvon on oltava yksilöllinen tietokannan jokaisen tietueen osalta.

Oletetaan esimerkiksi, että meillä on taulukko nimeltään Työntekijät, joka sisältää henkilötietoa jokaiselle työntekijälle yrityksellämme. Meidän on valittava sopiva ensisijainen avain, joka tunnistaa yksilöllisesti jokaisen työntekijän. Ensimmäinen ajatuksesi voisi olla työntekijän nimen käyttö. Tämä ei toimi kovin hyvin, koska on mahdollista, että palkitsette kaksi saman nimistä työntekijää. Parempi valinta voisi olla käyttää ainutlaatuista työntekijän henkilötunnusta, jonka olet määrittänyt jokaiselle työntekijälle heidän palkkaamisen yhteydessä. Jotkut organisaatiot käyttävät sosiaaliturvatunnuksia (tai vastaavia valtion tunnuksia) tähän tehtävään, koska jokaisella työntekijällä on jo yksi ja he ovat taatusti ainutlaatuisia. Sosiaaliturvanumeroiden käyttö tähän tarkoitukseen on kuitenkin erittäin kiistanalainen tietosuojakysymysten vuoksi. (Jos työskentelet hallituksen organisaatiossa, sosiaaliturvatunnuksen käyttö saattaa jopa olla lainvastainen vuoden 1974 yksityisyydensuojalain nojalla.) Tästä syystä useimmat organisaatiot ovat siirtyneet käyttämään yksilöllisiä tunnisteita (työntekijän tunnus, opiskelijan tunnus jne. .), jotka eivät jaa näitä yksityisyyttä koskevia huolenaiheita.

Kun päätät ensisijaisen avaimen ja perustaa tietokannan, tietokannan hallintajärjestelmä valvoo avaimen ainutkertaisuutta.

Jos yrität lisätä tietueen taulukkoon, jossa on ensisijainen avain, joka kopioi olemassa olevan tietueen, lisäys epäonnistuu.

Useimmat tietokannat kykenevät myös luomaan omat ensisijaiset avaimet. Esimerkiksi Microsoft Access voidaan konfiguroida käyttämään AutoNumber-tietotyyppiä antamaan yksilöllinen tunniste taulukon jokaiselle tietueelle. Tehokkaasti tämä on huono suunnittelukäytäntö, koska se jättää sinulle merkityksettömän arvon taulukon jokaisessa tietueessa. Miksi ei käytä tätä tilaa tallentaaksesi jotain hyödyllistä?

Ulkomaiset avaimet

Toinen tyyppi on vieras avain , jota käytetään muodostamaan taulukoiden välisiä suhteita. Useimmissa tietokantarakenteissa on taulukoiden välisiä luonnollisia suhteita. Palaa Työntekijät-tietokantaan, kuvitella, että halusimme lisätä tietokannan osastojen tiedot sisältävän taulukon. Tätä uutta taulukkoa voidaan kutsua osastoiksi ja se sisältää suurta tietoa koko osastosta. Haluamme myös sisällyttää tietoja laitoksen työntekijöistä, mutta olisi tarpeetonta saada samat tiedot kahdesta taulukosta (työntekijät ja osastot). Sen sijaan voimme luoda kahden taulukon välisen suhteen.

Oletetaan, että osastojen taulukko käyttää pääkäyttäjänä osaston nimeä. Jos haluat luoda kahden taulukon välisen suhteen, lisäämme uuden sarakkeen Työntekijöiden taulukkoon nimeltä Osasto. Sitten täytämme sen osaston nimen, johon jokainen työntekijä kuuluu. Ilmoitamme myös tietokannan hallintajärjestelmälle, että osastojen sarakkeessa Työntekijät-taulukko on vieraan avain, joka viittaa osastojen taulukkoon.

Tietokanta valvoo viitevälin eheyttä varmistamalla, että kaikki työntekijät-taulukon Osastot-sarakkeessa olevat arvot vastaavat osiotaulukkoihin liittyviä merkintöjä.

Huomaa, että vieraan avaimen ainutlaatuisuusrajoitusta ei ole. Voimme (ja todennäköisesti tehdä) useammalla kuin yhdellä työntekijällä, joka kuuluu yhteen yksikköön. Samoin ei ole vaatimusta siitä, että osastojen taulukossa oleva merkintä on vastaava merkintä Työntekijät-taulukossa. On mahdollista, että meillä olisi yksikkö, jolla ei ole työntekijöitä.

Lisätietoja tästä aiheesta lue Ulkomaisten avainten luominen .