Funksjoner ved utenlandske nøkkelbegrensninger:
Noen viktige funksjoner i utenlandsk nøkkelbegrensning er forklart nedenfor.
Forutsetning:
Før du oppretter en utenlandsk nøkkelbegrensning, må du opprette en database og overordnede tabell med den primære nøkkelen. Anta at databasenavnet er 'bibliotek'Og den inneholder to foreldrebord som heter'bøker'Og'låntaker'. Lage en forbindelse med MySQL -serveren ved å bruke mysql Klient og kjør følgende SQL -setninger for å opprette databasen og tabellene.
Opprette databasebibliotek;Definer utenlandsk nøkkelbegrensning ved hjelp av CREATE -uttalelsen
Lag en tabell som heter 'book_borrow_info'Med utenlandske nøkkelbegrensninger ved å utføre følgende uttalelse. Her, The bok_id felt er en utenlandsk nøkkel for denne tabellen og hver verdi av dette feltet må eksistere i id innen bøker bord. bøker er foreldrebordet og book_borrow_info er barnebordet. To begrensninger er også satt med den utenlandske nøkkelen her. Disse er Slett kaskade og Oppdater kaskade. Det betyr at hvis noen primærnøkkel vil fjerne eller oppdatere fra overordnet tabell, vil de tilsvarende postene relatert til barnebord relatert til den utenlandske nøkkelen bli fjernet, eller den utenlandske nøkkelen vil bli oppdatert.
Lag tabell BOOK_BORN_INFO (Kjør nå følgende SQL -setninger for å sette inn noen poster i begge tabellene. Den første innsatserklæringen vil sette inn fire poster i bøker bord. De fire verdiene av id innen bøker Tabellen vil være 1, 2, 3 og 4 for Auto-Increment-attributtet. Den andre innsatserklæringen vil sette inn fire poster i book_borrow_info basert på id verdien av bøker bord.
Sett inn bøker verdierHvis du prøver å sette inn en verdi i det utenlandske nøkkelfeltet i barnebordet som ikke eksisterer i det primære nøkkelfeltet i overordnede tabellen, vil MySQL generere en feil. Følgende SQL -setning vil generere en feil fordi overordnet tabell, bøker inneholder ingen ID -verdi 10.
Sett inn BOOK_BORN_INFO VERDIEREtter å ha utført følgende slettingserklæring, når den fjerde posten blir fjernet fra bøker tabell deretter de relaterte postene fra book_borrow_info Tabellen blir fjernet automatisk for den utenlandske nøkkelbegrensningen.
Slett fra bøker der id = 4;Definer utenlandsk nøkkelbegrensning ved hjelp av alteruttalelse
Først, sett inn noen poster i låntakere tabell og denne tabellen vil bli definert som overordnet tabell i neste ENDRE uttalelse.
Sett inn låntakerverdierKjør følgende ENDRE uttalelse for å sette en annen utenlandsk nøkkelbegrensning for book_borrow_info tabell for å gjøre forholdet til låntakere bord. Her, Borrow_id er definert som en fremmed nøkkel for book_borrow_info bord.
ALTER TABLE BOOK_BORN_INFO Legg til begrensning FK_Borrower
Utenlandsk nøkkel (Borrow_id) Referanser låntakere (ID) på Delete Cascade ved oppdatering Restrict;
Nå, sett inn en registrering i book_borrow_info med gyldig Borrow_id verdi som eksisterer i id innen låntakere bord. 157643 Verdien eksisterer i låntakere og følgende innsatsoppgave vil bli utført med hell.
Sett inn BOOK_BORN_INFO VERDIERFølgende innsatserklæring vil generere en feilmelding fordi ID -verdien 195680 eksisterer ikke i låntakere.
Sett inn BOOK_BORN_INFO VERDIERKonklusjon:
Å definere utenlandske nøkkelbegrensninger riktig er en veldig viktig oppgave for å lage en relasjonsdatabase og administrere data mellom tabellene på riktig måte. Å kjenne bruken av utenlandske nøkkelbegrensninger er veldig viktig for databasedesignere. Jeg håper denne artikkelen vil hjelpe de nye databasedesignerne til å forstå begrepet utenlandske nøkkelbegrensninger og anvende dem ordentlig i oppgavene sine.