Johdanto SQL-avaimiin
Avaimet ovat relaatiotaulukon kenttiä, jotka luovat suhteita muiden taulukoiden välillä, ylläpitävät eheyttä, ainutlaatuisuutta jne. Tässä aiheesta aiomme oppia SQL-avaimia.
Näppäimillä on tärkeä rooli RDBMS: ssä. Tämä osallistuu moniin toimintoihin relaatiotietokannassa. Avaimen avulla tietojen haku on nopeampaa ja tehokkaampaa. Se voi luoda suhteen kahdessa tai useammassa taulukossa. Avainten käytön avulla voimme pitää voimassa ja johdonmukaiset tiedot tietokantaan. Sitä käytetään myös yksilöimään kokonaisuus (rivi) taulukosta. Näissä taulukoissa voi olla useita sarakkeita.
Tosielämässä taulukossa voi olla useita avaimia. Kaikki sarakkeet voidaan myös julistaa avaimiksi ja tietokanta voi käyttää näitä avaimia.
Syntaksi:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
Edellä annetussa SQL-kyselyssä näemme, kuinka sarake 'cust_id' asetetaan ensisijaiseksi avaimeksi.
SQL-avainten tyyppi
SQL Server tukee monentyyppisiä avaimia.
Seuraavat ovat luettelo SQL-avaimista:
- Pääavain
- Ainutlaatuinen avain
- Ehdokasavain
- Vaihtoehtoinen avain
- Yhdistelmäavain
- Super avain
- Ulkomainen avain
Esimerkiksi
Asiakaspöytä | ||||
cust_id | CUST_NAME | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | New Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Ankara Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Alla annetaan ”Tilaus” -taulukko, jolla on asiaankuuluvat tiedot, jotka vastaavat asiakastaulukon kohtaa ”cust_id”.
Tilaustaulukko | ||
cust_id | order_month_year | tilausmäärä |
100001 | 2019 - tammikuu | $ 100, 000 |
100002 | 2019 - tammikuu | $ 120, 000 |
100003 | 2019 - tammikuu | $ 100, 000 |
100004 | 2019 - tammikuu | $ 110, 000 |
100001 | 2019 - helmikuu | $ 105, 000 |
100002 | 2019 - helmikuu | $ 125, 000 |
Nyt käydään läpi yksi kerrallaan jokaisessa avaimessa:
1. Ensisijainen avain
Ensisijainen avain on kenttä, jota voidaan käyttää kaikkien tietokannan yksilöllisesti tunnistamiseen. Vain yksi sarakkeista voidaan julistaa ensisijaiseksi avaimeksi. Ensisijaisella avaimella ei voi olla NULL-arvoa.
Esimerkki: Edellä annetussa relaatiotaulukossa ”cust_id” on ensisijainen avain, koska se voi tunnistaa kaikki rivit yksilöllisesti taulukosta.
2. Yksilöllinen avain
Yksilöivä avain voi olla kenttä tai kenttäjoukko, jota voidaan käyttää yksilöimään kokonaisuus tietokannasta. Yksi tai useampi kenttä voidaan julistaa yksilölliseksi avaimeksi. Ainutlaatuisessa avainsarakkeessa voi myös olla NULL-arvo. Ainutlaatuisen avaimen käyttö parantaa tietojen hakua. Se tekee tietueiden etsimisen tietokannasta paljon nopeampaa ja tehokkaampaa.
Esimerkki: Edellä annetussa relaatiotaulussa “cust_aadhaar_number”, “cust_pan_number” ovat uniikki avain, koska se voi sallia yhden arvon NULL-arvoksi sarakkeessa
3. Ehdokkaiden avain
Ehdokasavain voi olla sarake tai sarakeryhmä, joka voi saada yksilöllisen avaimen. Jokaisessa taulukossa on ainakin yksi ehdokasavain. Taulukossa voi olla yksi tai useampi ehdokasavain. Jokainen ehdokasavain voi toimia pääavaimena tarvittaessa tietyissä tilanteissa.
Esimerkki: Edellä annetussa relaatiotaulukossa ”cust_id”, “cust_aadhaar_number”, “cust_pan_number” ovat ehdokasavainta, koska se voi tunnistaa kaikki rivit yksilöllisesti taulukosta. Nämä sarakkeet täyttävät myös kriteerit ensisijaiseksi avaimeksi.
4. Vaihtoehtoinen avain
Vaihtoehtoinen avain on se avain, jota voidaan tarvittaessa käyttää ensisijaisena avaimena. Vaihtoehtoinen avain täyttää myös ensisijaisen avaimen vaatimukset, mutta toistaiseksi se ei ole ensisijainen avain.
Esimerkki: Edellä annetussa relaatiotaulukossa vaihtoehdon avain on "cust_aadhaar_number", "cust_pan_number", koska molemmat sarakkeet voivat olla ensisijainen avain, mutta niitä ei ole vielä valittu ensisijaiseksi avaimeksi.
5. Yhdistelmäavain
Yhdistelmäavain tunnetaan myös nimellä yhdistelmäavain / ketjutettu avain. Yhdistelmäavain viittaa kahden tai useamman sarakkeen ryhmään, jota voidaan käyttää tunnistamaan taulukon kokonaisuus yksilöllisesti. Ryhmä sarakkeita yhdessä toistensa kanssa voi tunnistaa rivin yksilöllisesti, mutta ryhmän yksi sarake ei lupaa tunnistaa riviä yksilöllisesti.
Esimerkki: Edellä annetussa relaatiotaulukossa, ts. Tilaustaulukossa, näiden sarakkeiden “cust_id”, “order_month_year” ryhmä, jota käytetään yhdessä tunnistamaan tupla yksilöllisesti tilaustaulukossa. Tämän taulukon yksittäinen sarake ei pysty tunnistamaan tuplaa yksilöllisesti Tilaus-taulukosta.
6. Super-avain
Supernäppäin on yhdistelmä sarakkeita, jokainen taulukon sarake on edelleen riippuvainen siitä. Supernäppäimellä voi olla ryhmässä vielä joitain sarakkeita, joita voi olla välttämätöntä tunnistaa kokonaisuus yksilöllisesti taulukosta. Ehdokasavain on superavaimen osajoukko. Ehdokasavain tunnetaan myös minimaalisena superavaimena.
Esimerkki: Edellä annetussa relaatiotaulukossa ensisijainen avain, ehdokasavain ja uniikki avain on superavain. Yksittäisenä asiakastaulukon sarakkeena, ts. 'Cust_id', riittää tunnistamaan kokonaisuudet yksilöllisesti taulukosta. Mikä tahansa sarakkeen joukko, joka sisältää 'cust_aadhaar_number', 'cust_pan_number', on superavain.
7. Vieras avain
Vieras avain on sarake, jota kutsutaan ensisijaiseksi avaimeksi toisessa taulukossa, ts. Taulukon ensisijaiseksi avaimeksi voidaan viitata vieraana avaimeksi toisessa taulukossa. Ulkomaisella avaimella voi olla päällekkäisiä & NULL-arvoja, jos se määritetään hyväksymään NULL-arvot.
Esimerkki: Edellä annetussa relaatiotaulussa 'cust_id' on ensisijainen avain asiakastaulukossa, mutta 'cust_id' tilaustaulussa, joka tunnetaan nimellä 'vieras avain'. Taulukon vieraasta avaimesta tulee aina ensisijainen avain toisessa taulukossa.
Yllä oleva kuva näyttää, kuinka kukin sarake näytetään avaimena niiden pätevyyden mukaan, jotta ne tunnistavat taulukot yksilöllisesti. Kuvakaappauksessa esitetään yhteenveto kaikista avaimista relaatiotaulukon avulla.
Johtopäätös - SQL-avaimet
SQL-avaimet ovat yksi relaatiotietokannan ominaisuuksista. jolla on tärkeä rooli kahden tai useamman taulukon välisen suhteen luomisessa. Se auttaa myös kyselyitä suorittamaan nopeammin, ts. Tietueiden noutaminen tietokannasta on paljon nopeampaa avaimia käyttämällä. Näppäimet asettavat myös erilaisia rajoituksia, jotta tunnistetaan yksiselitteisesti tuplat suurista tiedoista.
Suositellut artikkelit
Tämä on opas SQL-avaimiin. Tässä keskustellaan yksityiskohtaisesti SQL-avainten ja 7 erityyppisen johdannon kanssa sopivasta esimerkistä. Voit myös tarkastella seuraavaa artikkelia.
- Erottuva avainsana SQL: ssä
- Kohdistimet SQL: ssä
- Vieras avain SQL: ssä
- Tapahtumat SQL: ssä