Tietokannan hallintajärjestelmäavaimet: kandidaatti-, ensisijainen-, super- ja vierastyyppiset
⚡ Älykäs yhteenveto
Tietokannan hallintajärjestelmien avaimet ovat attribuutteja, jotka yksilöivät taulukon rivin ja muodostavat taulukoiden välisiä suhteita. Kahdeksan avaintyyppiä, pää- ja ensisijaisista avaimista vieraisiin ja sijaisavaimiin, varmistavat identiteetin ja eheyden koko relaatiotietokannassa.

Mitä ovat avaimet tietokannan hallintajärjestelmissä?
Avaimet tietokannan hallinnan järjestelmässä ovat attribuutti tai joukko attribuutteja, jotka auttavat sinua tunnistamaan rivin (tuplen) relaatiossa (taulukossa). Niiden avulla voit löytää kahden taulukon välisen suhteen. Avaimet auttavat sinua tunnistamaan taulukon rivin yksikäsitteisesti yhden tai useamman sarakkeen yhdistelmällä, ja ne ovat myös hyödyllisiä yksilöllisen tietueen löytämisessä taulukosta.
Esimerkiksi:
| henkilöstökortti | Etunimi | Sukunimi |
|---|---|---|
| 11 | Andrew | Johnson |
| 22 | Tomi | Puu |
| 33 | Alex | Terve ja reipas |
Yllä olevassa esimerkissä työntekijätunnus on ensisijainen avain, koska se yksilöi työntekijätietueen. Tässä taulukossa kenelläkään muulla työntekijällä ei voi olla samaa työntekijätunnusta.
Miksi tarvitsemme avaimen?
Tässä on joitakin syitä avaimen käyttämiseen tietokannan hallintajärjestelmässä:
- Avaimet auttavat sinua tunnistamaan minkä tahansa tietorivin taulukossa. Todellisessa sovelluksessa taulukko voi sisältää tuhansia tietueita, ja tietueet voidaan kopioida. Avaimet varmistavat, että voit tunnistaa taulukon tietueen yksilöllisesti näistä haasteista huolimatta.
- Niiden avulla voit luoda ja tunnistaa taulukoiden välisiä suhteita.
- Ne auttavat sinua vahvistamaan identiteettiäsi ja eheyttäsi suhteessasi.
Avainten tyypit tietokannan hallinnan järjestelmässä
Tietokannan hallintajärjestelmissä on pääasiassa kahdeksan erityyppistä avainta, ja jokaisella avaimella on oma toimintonsa:
- Super-avain
- Pääavain
- Ehdokkaiden avain
- Vaihtoehtoinen avain
- viiteavain
- Yhdistelmäavain
- Yhdistelmäavain
- Korvaavaavain
Alla oleva taulukko tiivistää kaikki kahdeksan yhdellä silmäyksellä ennen kuin kutakin selitetään yksityiskohtaisesti.
| avain | Yhdellä rivillä | Ainutlaatuinen? |
|---|---|---|
| Super-avain | Mikä tahansa rivin yksilöivä attribuuttijoukko, lisäarvot sallittu | Kyllä |
| Ehdokkaiden avain | Minimaalinen superavain, ei redundanttia attribuuttia | Kyllä |
| Pääavain | Valittu ehdokasavain, ei null | Kyllä |
| Vaihtoehtoinen avain | Ehdokasavainta ei ole valittu ensisijaiseksi avaimeksi | Kyllä |
| viiteavain | Viittaa toisen taulukon ensisijaiseen avaimeen | Ei |
| Yhdistelmäavain | Kaksi tai useampia ominaisuuksia, joista jokainen mahdollisesti ei-yksilöllinen | Yhdistetty |
| Yhdistelmäavain | Kaksi tai useampi sarake yhdistetty ainutlaatuisuuden saavuttamiseksi | Yhdistetty |
| Korvaavaavain | Luotu keinotekoinen tunniste | Kyllä |
Mikä on superavain?
Superavain on joukko yksittäisiä tai useita avaimia, jotka tunnistavat taulukon rivejä. Superavaimella voi olla lisäattribuutteja, joita ei tarvita yksilölliseen tunnistamiseen.
Esimerkiksi:
| EmpSSN | EmpNum | Empname |
|---|---|---|
| 9812345098 | AB05 | Näkyy |
| 9876512345 | AB06 | Roslyn |
| 199937890 | AB07 | Jaakob |
Yllä olevassa esimerkissä EmpSSN ja EmpNum ovat superavaimia.
Mikä on ensisijainen avain?
PÄÄAVAIN in DBMS on taulukon sarake tai sarakeryhmä, joka yksilöi yksilöllisesti jokaisen taulukon rivin. Perusavain ei voi olla kaksoiskappale, eli sama arvo ei voi esiintyä taulukossa useammin kuin kerran. Taulukossa ei voi olla useampaa kuin yksi perusavain.
Ensisijaisen avaimen määrittelysäännöt
- Kahdella rivillä ei voi olla samaa ensisijaisen avaimen arvoa.
- Jokaisella rivillä on oltava ensisijainen avainarvo.
- Ensisijaisen avaimen kenttä ei voi olla tyhjä.
- Ensisijaisen avaimen sarakkeen arvoa ei voi koskaan muuttaa tai päivittää, jos jokin vierasavain viittaa kyseiseen ensisijaiseen avaimeen.
Esimerkiksi: Seuraavassa esimerkissä StudID on ensisijainen avain.
| StudID | Rulla nro | Etunimi | Sukunimi | Sähköposti |
|---|---|---|---|---|
| 1 | 11 | Tomi | Hinta | abc@gmail.com |
| 2 | 12 | Nick | Wright | xyz@gmail.com |
| 3 | 13 | Dana | Natan | mno@yahoo.com |
Mikä on vaihtoehtoinen avain?
VAIHTOEHTOINEN AVAIN on taulukon sarake tai sarakeryhmä, joka yksilöi jokaisen rivin. Taulukossa voi olla useita vaihtoehtoja ensisijaiseksi avaimeksi, mutta vain yksi voidaan asettaa ensisijaiseksi avaimeksi. Kaikkia muita avaimia kuin ensisijaista avainta kutsutaan vaihtoehtoisiksi avaimiksi.
Esimerkiksi: Tässä taulukossa StudID, Roll No ja Email kelpaavat ensisijaisiksi avaimiksi. Mutta koska StudID on ensisijainen avain, Roll No ja Email toimivat vaihtoehtoisina avaimina.
| StudID | Rulla nro | Etunimi | Sukunimi | Sähköposti |
|---|---|---|---|---|
| 1 | 11 | Tomi | Hinta | abc@gmail.com |
| 2 | 12 | Nick | Wright | xyz@gmail.com |
| 3 | 13 | Dana | Natan | mno@yahoo.com |
Mikä on ehdokasavain?
EHDOKASAvain on joukko attribuutteja, jotka yksilöivät taulukon tuplet. Ehdokasavain on superavain, jossa ei ole toistuvia attribuutteja. Ensisijainen avain tulee valita ehdokasavaimista. Jokaisessa taulukossa on oltava vähintään yksi ehdokasavain, ja taulukossa voi olla useita ehdokasavaimia, mutta vain yksi ensisijainen avain.
Ehdokasavaimen ominaisuudet:
- Sen on sisällettävä yksilöllisiä arvoja.
- Avainkandidaatilla voi olla useita attribuutteja.
- Se ei saa sisältää null-arvoja.
- Sen tulisi sisältää vähintään tarvittavat kentät yksilöllisyyden varmistamiseksi.
- Se yksilöi yksilöllisesti jokaisen taulukon tietueen.
Esimerkki: Alla olevassa taulukossa StudID, Roll No ja Email ovat ehdokasavaimia, jotka auttavat meitä tunnistamaan opiskelijatietueen yksiselitteisesti. Niiden suhde pää- ja ensisijaisiin avaimiin on yleinen tapa ymmärtää toiminnallinen riippuvuus.
| StudID | Rulla nro | Etunimi | Sukunimi | Sähköposti |
|---|---|---|---|---|
| 1 | 11 | Tomi | Hinta | abc@gmail.com |
| 2 | 12 | Nick | Wright | xyz@gmail.com |
| 3 | 13 | Dana | Natan | mno@yahoo.com |

Mikä on vieras avain?
ULKOMAAN AVAIN on sarake, joka luo suhteen kahden taulukon välille. Viiteavaimen tarkoituksena on ylläpitää tietojen eheyttä ja mahdollistaa navigointi kahden eri entiteetin välillä. Se toimii ristiviittauksena kahden taulukon välillä, koska se viittaa toisen taulukon ensisijaiseen avaimeen.
Esimerkiksi:
| DeptCode | Osaston nimi |
|---|---|
| 001 | tiede |
| 002 | Englanti |
| 005 | tietokonetta |
| Opettajan tunnus | Fname | Lnimi |
|---|---|---|
| B002 | David | Warner |
| B017 | Sara | Joseph |
| B009 | mikrofoni | brunton |
Tässä esimerkissä koulussa on kaksi taulukkoa, Opettaja ja Osasto. Nykyisellään ei ole mitään keinoa nähdä, mikä opettaja työskentelee milläkin osastolla.
Lisäämällä viiteavaimen DeptCode Opettaja-taulukkoon, voimme luoda suhteen kahden taulukon välille.
| Opettajan tunnus | DeptCode | Fname | Lnimi |
|---|---|---|---|
| B002 | 002 | David | Warner |
| B017 | 002 | Sara | Joseph |
| B009 | 001 | mikrofoni | brunton |
Tämä käsite tunnetaan myös referenssieheydenä.
Mikä on yhdistelmäavain?
YHDISTETYT AVAIN sisältää kaksi tai useampia määritteitä, joiden avulla voit tunnistaa tietyn tietueen yksilöllisesti. On mahdollista, että jokainen sarake ei ole yksilöllinen tietokannassa. Yhdistettynä sarakkeista tulee kuitenkin yksilöllisiä. Yhdistetyn avaimen tarkoituksena on tunnistaa jokainen tietue taulukossa yksilöllisesti.
Esimerkiksi:
| Tilausnumero | Tuotetunnus | tuotteen nimi | Määrä |
|---|---|---|---|
| B005 | JAP102459 | Hiiri | 5 |
| B005 | DKT321573 | USB | 10 |
| B005 | OMG446789 | LCD-näyttö | 20 |
| B004 | DKT321573 | USB | 15 |
| B002 | OMG446789 | Laser-tulostin | 3 |
Tässä esimerkissä sekä Tilausnumero että Tuotetunnus eivät voi olla ensisijaisia avaimia, koska kumpikaan ei yksilöi tietuetta. Yhdistelmäavain, joka koostuu Tilausnumerosta ja Tuotetunnuksesta, yksilöi jokaisen tietueen.
Mikä on yhdistelmäavain?
KOMPOSIITTIAvain on kahden tai useamman sarakkeen yhdistelmä, joka yksilöi taulukon rivit. Sarakkeiden yhdistelmä takaa yksilöllisyyden, vaikka yksittäisten sarakkeiden ainutlaatuisuutta ei voida taata. Siksi ne yhdistetään yksilöimään taulukon tietueet.
Yhdistetyn ja komposiittiavaimen välinen ero on se, että mikä tahansa yhdistelmäavaimen osa voi olla viiteavain, mutta komposiittiavain voi olla osa viiteavainta tai olla olematta osa sitä.
Mikä on sijaisavain?
SIJOITUSAVAIN on keinotekoinen avain, jonka tarkoituksena on yksilöidä jokainen tietue. Tällainen avain on ainutlaatuinen, koska se luodaan, kun luonnollista ensisijaista avainta ei ole. Sijaisavaimet eivät anna merkitystä taulukon tiedoille ja ovat yleensä kokonaisluku, joka luodaan juuri ennen tietueen lisäämistä.
| Fname | Sukunimi | Aloitusaika | End Time |
|---|---|---|---|
| Anne | Seppä | 09:00 | 18:00 |
| tunkki | Francis | 08:00 | 17:00 |
| Anna | McLean | 11:00 | 20:00 |
| Näkyy | Willam | 14:00 | 23:00 |
Yllä oleva esimerkki näyttää eri työntekijöiden työvuorojen ajat. Tässä tarvitaan sijaisavain jokaisen työntekijän yksilöimiseksi. Sijaisavaimet SQL käytetään, kun:
- Millään ominaisuudella ei ole ensisijaisen avaimen parametria.
- Ensisijainen avain on liian suuri tai monimutkainen.
Ero ensisijaisen avaimen ja vieraan avaimen välillä
Seuraavassa on tärkein ero ensisijaisen avaimen ja viiteavaimen välillä:
| Pääavain | viiteavain |
|---|---|
| Auttaa tunnistamaan tietueen taulukossa yksilöllisesti. | Se on taulukon kenttä, joka on toisen taulukon ensisijainen avain. |
| Ensisijainen avain ei koskaan hyväksy tyhjäarvoja. | Vieras avain voi hyväksyä useita nolla-arvoja. |
| Ensisijainen avain on klusteroitu indeksi, ja taulukon tiedot on fyysisesti järjestetty klusteroidun indeksin järjestykseen. | Viiteavain ei voi automaattisesti luoda indeksiä, olipa se klusteroitu tai ei. Voit luoda sellaisen manuaalisesti. |
| Taulukossa voi olla yksi ensisijainen avain. | Taulukossa voi olla useita vieraita avaimia. |
