logo

Vieras avain DBMS:ssä

Vierasavain eroaa superavain-, ehdokas- tai ensisijaisesta avaimesta, koska vierasavain on se, jota käytetään kahden taulukon yhdistämiseen tai yhteyden luomiseen näiden kahden välille.

Tässä, tässä osiossa, keskustelemme viiteavaimesta, sen käytöstä ja katsomme esimerkkejä, jotka auttavat meitä ymmärtämään vieraan avaimen toimintaa ja käyttöä. Näemme myös sen käytännön toteutuksen tietokannassa, eli vierasavaimen luomisen ja poistamisen taulukossa.

Mikä on vieras avain

Vieras avain on avain, jota käytetään linkittämään kaksi taulukkoa toisiinsa ensisijaisen avaimen kautta. Se tarkoittaa, että yhden taulukon sarakkeet osoittavat toisen taulukon primaariavaimen määritteeseen. Se tarkoittaa lisäksi, että jos jokin attribuutti on asetettu ensisijaiseksi avaimeksi, se toimii toisessa taulukossa vieraan avaimen attribuuttina. Mutta pitäisi tietää, että vieraalla avaimella ei ole mitään tekemistä ensisijaisen avaimen kanssa.

Vieraan avaimen käyttö

Vierasavaimen käyttö on yksinkertaisesti kahden taulukon attribuuttien linkittämistä toisiinsa ensisijaisen avaimen attribuutin avulla. Siten sitä käytetään luomaan ja ylläpitämään suhdetta kahden suhteen välillä.

Esimerkki vieraasta avaimesta

Keskustellaan esimerkistä ymmärtääksemme vieraan avaimen toiminnan.

mikä on rom

Harkitse kahta taulukkoa Opiskelija ja osasto joilla on vastaavat attribuutit alla olevan taulukkorakenteen mukaisesti:

binääripuu inorder traversal
Vieras avain DBMS:ssä
Vieras avain DBMS:ssä

Taulukoissa yksi attribuutti, jonka näet, on yleinen, toisin sanoen Stud_Id , mutta sillä on erilaiset avainrajoitukset molemmille taulukoille. Opiskelijataulukossa Stud_Id-kenttä on a pääavain koska se tunnistaa yksilöllisesti kaikki muut opiskelijataulukon kentät. Toisaalta Stud_Id on a vieras avain Osastotaulukon attribuutti, koska se toimii opiskelijataulukon ensisijaisena avaimen attribuuttina. Se tarkoittaa, että sekä opiskelija- että osastotaulukko on linkitetty toisiinsa Stud_Id-attribuutin vuoksi.

Alla olevassa kuvassa voit tarkastella kahden taulukon välisen suhteen seuraavaa rakennetta.

Vieras avain DBMS:ssä

Huomautus: DBMS:n viite-eheys on kehitetty viiteavaimen käsitteestä. On selvää, että ensisijainen avain on yksinomaan olemassa oleva avain ja vierasavain viittaa aina ensisijaiseen avaimeen jossain muussa taulukossa, jossa ensisijaisen avaimen sisältävää taulukkoa kutsutaan referoiduksi taulukoksi tai päätaulukoksi toiselle taulukolle, hänellä on vieras avain.

Vieraan avaimen rajoitteen luominen

Kohdassa CREATE TABLE

Alla on syntaksi, joka saa meidät oppimaan vierasavaimen luomisen taulukossa:

 CREATE TABLE Department ( Dept_name varchar (120) NOT NULL, Stud_Id int, FOREIGN KEY (Stud_Id) REFERENCES Student (Stud_Id) ); 

Joten tällä tavalla voimme asettaa vierasavaimen MYSQL-tietokannan taulukolle.

Jos luot vierasavaimen taulukolle SQL- tai Oracle-palvelimessa, seuraava syntaksi toimii:

 CREATE TABLE Department ( Dept_name varchar (120) NOT NULL, Stud_Id int FOREIGN KEY REFERENCES Student (Stud_Id) ); 

ALTER TABLEssa

Seuraava on syntaksi ALTER TABLE -taulukon vierasavainrajoitteen luomiseksi:

 ALTER TABLE Department ADD FOREIGN KEY (Stud_Id) REFERENCES Student (Stud_Id); 

Vieras-avaimen pudottaminen

Vieraan avaimen poistamiseen voidaan käyttää alla kuvattua syntaksia:

 ALTER TABLE Department DROP FOREIGN KEY FK_StudentDepartment; 

Joten tällä tavalla voimme pudottaa vieraan avaimen käyttämällä ALTER TABLE -taulukkoa MYSQL-tietokannassa.

Muistettava kohta

Kun pudotat vierasavaimen, on huolehdittava vieraalla avaimella yhdistettyjen taulukoiden eheydestä. Jos teet muutoksia yhteen taulukkoon ja häiritsee molempien taulukoiden eheyttä, se voi näyttää tiettyjä virheitä kahden taulukon välisen virheellisen yhteyden vuoksi.

int merkkijonoon javassa

Viittaustoimet

Jotkut toiminnot liittyvät vieraan avaimen taulukon haltijan tekemiin toimiin:

1) Kaskadi

katkaisutyökalu ubuntussa

Kun poistamme rivejä emotaulukosta (eli sen, jolla on ensisijainen avain), samat sarakkeet toisessa taulukossa (eli siinä, jossa on vierasavain) myös poistetaan. Näin ollen toiminta tunnetaan nimellä ryöpytä .

2) Aseta NULL

Tällainen viittaustoiminto säilyttää molempien taulukoiden viittauksen eheyden. Kun käsittelemme/poistamme viitattua riviä ylätason/viitatun taulukon alitaulukossa (taulukko, jossa on vierasavain), tällaisen viittausrivin arvoksi asetetaan NULL. Tällainen suoritettu referenssitoiminto tunnetaan nimellä Aseta NULL .

3) Aseta OLETUS

kuinka lukea csv-tiedosto javassa

Tällainen toiminta tapahtuu, kun päätaulukon viittausrivin arvot päivitetään tai rivi poistetaan, alitaulukon arvot asetetaan sarakkeen oletusarvoihin.

4) Rajoita

Se on rajoitus, jossa emotaulukon viittausrivin arvoa ei voida muuttaa tai poistaa, ellei siihen viitata alitaulukon vierasavaimella. Siten se on normaali vieraan avaimen viitetoiminto.

5) Ei toimenpiteitä

Se on myös vierasavaimen rajoitus, mutta se otetaan käyttöön vasta sen jälkeen, kun emotaulukon viitoitettua riviä on yritetty muokata tai poistaa.

6) Liipaisimet

Kaikki nämä ja muut viittaustoiminnot toteutetaan periaatteessa triggereinä, joissa vieraan avaimen toiminnot ovat paljon samankaltaisia ​​tai melkein samanlaisia ​​kuin käyttäjän määrittämät liipaisimet. Joissakin tapauksissa tilatut viittaustoiminnot kuitenkin korvataan vastaavilla käyttäjän määrittämillä triggereillä, jotta varmistetaan liipaisujen asianmukainen suorittaminen.