Vreemde sleutel

Schrijver: John Stephens
Datum Van Creatie: 24 Januari 2021
Updatedatum: 1 Juli- 2024
Anonim
Data Modelling 02d Vreemde sleutels bij een 1 op 1 associatie
Video: Data Modelling 02d Vreemde sleutels bij een 1 op 1 associatie

Inhoud

Definitie - Wat betekent Foreign Key?

Een externe sleutel is een kolom of groep kolommen in een relationele databasetabel die een koppeling biedt tussen gegevens in twee tabellen. Het fungeert als een kruisverwijzing tussen tabellen, omdat het verwijst naar de primaire sleutel van een andere tabel, waardoor er een verband tussen wordt gelegd.


De meeste tabellen in een relationeel databasesysteem voldoen aan het concept van de externe sleutel. In complexe databases en datawarehouses moeten gegevens in een domein aan meerdere tabellen worden toegevoegd, waardoor een relatie tussen beide wordt behouden. Het concept van referentiële integriteit is afgeleid van de theorie van de buitenlandse sleutel.

Buitenlandse sleutels en hun implementatie zijn complexer dan primaire sleutels.

Een inleiding tot Microsoft Azure en de Microsoft Cloud | In deze handleiding leert u wat cloud computing inhoudt en hoe Microsoft Azure u kan helpen bij het migreren en runnen van uw bedrijf vanuit de cloud.

Techopedia legt uit Foreign Key

Voor elke kolom die als een externe sleutel fungeert, moet een overeenkomstige waarde in de koppelingstabel bestaan. Speciale aandacht moet worden besteed aan het invoegen van gegevens en het verwijderen van gegevens uit de kolom met de externe sleutel, omdat een onzorgvuldige verwijdering of invoeging de relatie tussen de twee tabellen kan vernietigen.


Als er bijvoorbeeld twee tabellen zijn, klant en order, kan er een relatie tussen hen worden gecreëerd door een externe sleutel in de ordertabel te introduceren die verwijst naar de klant-ID in de klantentabel. De kolom klant-ID bestaat in zowel klant- als ordertabellen. De klant-ID in de besteltabel wordt de externe sleutel, verwijzend naar de primaire sleutel in de klantentabel. Om een ​​invoer in de ordertabel in te voegen, moet aan de beperking van de externe sleutel zijn voldaan. Een poging om een ​​klant-ID in te voeren die niet in de klantentabel aanwezig is, mislukt, waardoor de referentiële integriteit van de tafel behouden blijft.

Sommige referentiële acties die zijn gekoppeld aan een externe sleutelactie omvatten het volgende:

  • Cascade: wanneer rijen in de bovenliggende tabel worden verwijderd, worden de overeenkomende kolommen met externe sleutels in de onderliggende tabel ook verwijderd, waardoor een trapsgewijze verwijdering ontstaat.
  • Null instellen: wanneer een rij waarnaar wordt verwezen in de bovenliggende tabel wordt verwijderd of bijgewerkt, worden de waarden van de externe sleutel in de rij waarnaar wordt verwezen, op nul gezet om de referentiële integriteit te behouden.
  • Triggers: referentiële acties worden normaal geïmplementeerd als triggers. In veel opzichten zijn externe toetsacties vergelijkbaar met door de gebruiker gedefinieerde triggers. Om een ​​correcte uitvoering te garanderen, worden bestelde referentiële acties soms vervangen door hun equivalente door de gebruiker gedefinieerde triggers.
  • Standaard instellen: deze verwijzende actie is vergelijkbaar met "nul instellen". De externe sleutelwaarden in de onderliggende tabel worden ingesteld op de standaardkolomwaarde wanneer de rij waarnaar wordt verwezen in de bovenliggende tabel wordt verwijderd of bijgewerkt.
  • Beperking: dit is de normale verwijzingsactie die aan een externe sleutel is gekoppeld. Een waarde in de bovenliggende tabel kan niet worden verwijderd of bijgewerkt zolang er in een andere tabel naar wordt verwezen met een externe sleutel.
  • Geen actie: deze verwijzende actie is vergelijkbaar in functie met de "beperk" -actie, behalve dat een controle zonder actie wordt uitgevoerd nadat u probeert de tabel te wijzigen.