Før vi lærer forskjellen mellom primærnøkkel og fremmednøkkel, la oss lære:
Hva er nøkler?
Taster er attributt som hjelper deg med å identifisere en rad (tuple) i en relasjon (tabell). De lar deg finne forholdet mellom to tabeller. Taster hjelper deg med å identifisere en rad i en tabell ved en kombinasjon av en eller flere kolonner i den tabellen. Databasenøkkelen er også nyttig for å finne en unik post eller rad fra tabellen.
Hva er databaseforhold?
Databaseforholdet er assosiasjoner mellom en eller flere tabeller som opprettes ved hjelp av sammenføyningssetninger. Den brukes til å effektivt hente data fra databasen. Det er primært tre typer relasjoner 1) En-til-en, 2) En-til-mange, 3) Mange-til-mange.
Hva er primærnøkkel?
En primær nøkkelbegrensning er en kolonne eller gruppe av kolonner som unikt identifiserer hver rad i tabellen til det relasjonelle databasestyringssystemet. Det kan ikke være et duplikat, noe som betyr at den samme verdien ikke skal vises mer enn en gang i tabellen.
En tabell kan ha mer enn én primærnøkkel. Primærnøkkel kan defineres på kolonnen eller på bordnivå. Hvis du oppretter en sammensatt primærnøkkel, bør den defineres på bordnivå.
Hva er Foreign Key?
Fremmednøkkel er en kolonne som skaper et forhold mellom to tabeller. Hensikten med den utenlandske nøkkelen er å opprettholde dataintegriteten og tillate navigering mellom to forskjellige forekomster av en enhet. Den fungerer som en kryssreferanse mellom to tabeller, da den refererer til hovednøkkelen til en annen tabell. Hvert forhold i databasen skal støttes av en fremmed nøkkel.
HOVEDFORSKJELL:
- En primær nøkkelbegrensning er en kolonne som unikt identifiserer hver rad i tabellen til det relasjonelle databasestyringssystemet, mens fremmednøkkel er en kolonne som skaper et forhold mellom to tabeller.
- Primærnøkkel godtar aldri nullverdier, mens fremmednøkkel kan akseptere flere nullverdier.
- Du kan bare ha en enkelt primærnøkkel i en tabell mens du kan ha flere utenlandske nøkler i en tabell.
- Verdien til primærnøkkelen kan ikke fjernes fra overordnet tabellen, mens verdien av utenlandsk nøkkelverdi kan fjernes fra underordnet tabell.
- Ingen to rader kan ha identiske verdier for en primærnøkkel, derimot kan en utenlandsk nøkkel inneholde dupliserte verdier.
- Det er ingen begrensning i å sette inn verdiene i tabellkolonnen mens du setter inn noen verdi i den utenlandske nøkkeltabellen. Forsikre deg om at verdien er tilstede i en kolonne i en primærnøkkel.
Hvorfor bruke primærnøkkel?
Her er ulempene / fordelene ved å bruke primærnøkkel:
- Hovedmålet med primærnøkkelen er å identifisere hver post i databasetabellen.
- Du kan bruke en primærnøkkel når du ikke tillater noen å oppgi nullverdier.
- Hvis du sletter eller oppdaterer poster, vil handlingen du spesifiserte bli utført for å sikre dataintegriteten.
- Utfør begrensning for å avvise sletting eller oppdatering for overordnet tabell.
- Data er organisert i en sekvens av gruppert indeks når du fysisk organiserer DBMS-tabellen.
Hvorfor bruke Foreign Key?
Her er de viktige grunnene til å bruke utenlandsk nøkkel:
- Utenlandske nøkler hjelper deg med å migrere enheter ved hjelp av en primærnøkkel fra foreldretabellen.
- En utenlandsk nøkkel lar deg koble to eller flere tabeller sammen.
- Det gjør databasedataene dine konsistente.
- En utenlandsk nøkkel kan brukes til å matche en kolonne eller kombinasjon av kolonner med primærnøkkel i en overordnet tabell.
- Begrensning med SQL-fremmednøkkel brukes til å sikre at referanseintegriteten til dataforelderen samsvarer med verdiene i underordnet tabell.
Eksempel på primærnøkkel
Syntaks:
Nedenfor er syntaksen til Primary Key:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Her,
- Table_Name er navnet på tabellen du må opprette.
- Kolonnenavn er navnet på kolonnen som har hovednøkkelen.
Eksempel:
StudID | Rull nr | Fornavn | Etternavn | E-post |
---|---|---|---|---|
1 | 11 | Tom | Pris | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
2 | 12 | Nick | Wright | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
3 | 1. 3 | Dana | Natan | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
I eksemplet ovenfor har vi laget en studenttabell med kolonner som StudID, Roll No, First Name, Last Name, and Email. StudID er valgt som primærnøkkel fordi det unikt kan identifisere andre rader i tabellen.
Eksempel på Foreign Key
Syntaks:
Nedenfor er syntaksen for Foreign Key:
CREATE TABLE