Skip to content

De kracht van buitenlandse sleutels in relationele databases

18 de juni de 2021
165667304 56a227c13df78cf77272a94f d2ec7a74e9384162af79c1a098c528c9

Databaseontwerpers maken veel gebruik van sleutels bij het ontwikkelen van relationele databases. Een van de meest voorkomende van deze sleutels zijn primaire sleutels en externe sleutels. Een externe sleutel van een database is een veld in een relationele tabel dat overeenkomt met de primaire sleutelkolom van een andere tabel. Laten we, om te begrijpen hoe een externe sleutel werkt, het idee van een relationele database nader bekijken.

Enkele basisprincipes van relationele databases

In een relationele database worden gegevens opgeslagen in tabellen met rijen en kolommen, waardoor het gemakkelijk is om te zoeken en te manipuleren. Er zit serieuze wiskunde achter het concept van een relationele database (relationele algebra, voorgesteld door EF Codd bij IBM in 1970), maar dat is niet het onderwerp van dit artikel. Voor praktische doeleinden (en niet-wiskundigen) slaat een relationele database gerelateerde gegevens op in rijen en kolommen. Verder – en hier wordt het interessant – zijn de meeste databases zo ontworpen dat de gegevens in de ene tabel toegang hebben tot de gegevens in een andere tabel. Dit vermogen om relaties tussen tabellen te creëren is de echte kracht van een relationele database.

Buitenlandse sleutels gebruiken Using

De meeste tabellen, vooral die in grote, complexe databases, hebben primaire sleutels. Tabellen die zijn ontworpen om toegang te krijgen tot andere tabellen, moeten ook een externe sleutel hebben. Om de veelgeciteerde Northwinds-database te gebruiken, volgt hier een fragment uit een producttabel:

Product-ID Productnaam Categorie ID HoeveelheidPerU Stuksprijs
1 Chai 1 10 dozen x 20 zakken 18.00
2 Chang 1 24 – 12 oz flessen 19.00
3 Anijssiroop 2 12 – 550 ml flessen 10.00
4 Cajun-kruiden van chef Anton 2 48 – 6 oz potten 22:00 uur
5 Gumbo Mix van chef Anton 2 36 dozen 21.35
6 Oma’s Boysenbessenspread 2 12 – 8 oz potten 25,00
7 Uncle Bob’s Biologische Gedroogde Peren 7 12 – 1 pond pakken. 30.00
Uittreksel uit de producttabel van de Northwind Database
De Product-ID kolom is de primaire sleutel van deze tabel. Het kent een unieke ID toe aan elk product. Deze tabel bevat ook een externe sleutelkolom, Categorie ID. Elk product in de tabel Product is gekoppeld aan een item in de tabel Categorieën dat de categorie van dat product definieert. Let op dit fragment uit de tabel Categorieën van de database:

Categorie ID Categorie naam Omschrijving
1 Dranken Frisdranken, koffie, thee, bier en ales
2 Specerijen Zoete en hartige sauzen, relishes, spreads en smaakmakers
3 lekkernijen Desserts, snoepjes en zwezeriken
5 Zuivelproducten kazen
Uittreksel uit de tabel met categorieën van Northwind Database
de kolom Categorie ID is de primaire sleutel van deze kolom. (Het heeft geen externe sleutel omdat het geen toegang tot een andere tabel nodig heeft.) Elke externe sleutel in de tabel Product is gekoppeld aan een primaire sleutel in de tabel Categorieën. Zo krijgt het product Chai de categorie “Dranken” toegewezen, terwijl Anijssiroop in de categorie Specerijen valt. Dit soort koppeling creëert talloze manieren om gegevens in een relationele database te gebruiken en opnieuw te gebruiken. Meer van Lifewire

  • Wat is een databaserelatie?

  • Zakenman met behulp van computer in virtuele serverruimte.

    Een database in de eerste normale vorm zetten

  • Mensen uit het bedrijfsleven bespreken via laptop aan bureau in vergadering

    Een databasekenmerk definieert de eigenschappen van een tabel

  • Entiteit-relatiediagram

    Entiteit-relatiediagram Definitie

  • Man met behulp van een laptop

    Wat is transitieve afhankelijkheid in een database?

  • Zakenlieden praten, bespreken gegevens op laptop in vergaderruimte vergadering

    Inleiding tot databaserelaties

  • Databaseprogrammeur met behulp van een laptop aan een bureau in een thuiskantoor

    Een database in de derde normale vorm (3NF) plaatsen

  • Jonge jongen student programmeren op computer in donkere klas

    Databases voor beginners

  • Digitale weergave van computercode en verbindingslijnen die een database vertegenwoordigen

    Woordenlijst van algemene databasetermen

  • Databasebeheerder die aan bureau werkt

    Determinanten en hun rol in een database

  • Database op een computer

    Hoe referentiële integriteit zorgt voor databaseconsistentie

  • Lay-out van databaseschema

    Wat is een databaseschema?

  • 1s en 0s die een database vertegenwoordigen

    Wat is een databank?

  • Architect kijkt naar database op computer

    Definitie van databaserelatie

  • Hoge hoekmening van technici die in de serverruimte werken

    Basissleutels die databasebeheer eenvoudig maken

  • Databasebeheerder die aan bureau werkt

    Een databasedomein definiëren

reddingsdraad

Volg ons

  • Facebook

  • Over ons
  • Reclame maken
  • Privacybeleid
  • Cookie beleid
  • carrières
  • Redactionele richtlijnen
  • Contact
  • Gebruiksvoorwaarden
  • EU-privacy
  • Privacyverklaring Californië
  • TRUSTe

Uw privacyrechten

Lifewire en onze externe partners gebruiken cookies en verwerken persoonlijke gegevens zoals unieke identificatiegegevens op basis van uw toestemming om informatie op een apparaat op te slaan en/of te openen, gepersonaliseerde advertenties weer te geven en voor inhoudsmeting, doelgroepinzicht en productontwikkeling. Klik hieronder om uw toestemmingskeuzes voor Lifewire.com te wijzigen of in te trekken, inclusief uw recht om bezwaar te maken wanneer een legitiem belang wordt gebruikt. U kunt uw instellingen op elk moment bijwerken via de link “EU-privacy” onderaan elke pagina. Deze keuzes worden wereldwijd aan onze partners gesignaleerd en hebben geen invloed op de browsegegevens. Lijst met partners (leveranciers)

Wij en onze partners verwerken gegevens om:

Scan actief apparaatkenmerken voor identificatie. Gebruik nauwkeurige geolocatiegegevens. Informatie op een apparaat opslaan en/of openen. Selecteer gepersonaliseerde inhoud. Maak een gepersonaliseerd inhoudsprofiel. Meet advertentieprestaties. Selecteer basisadvertenties. Maak een gepersonaliseerd advertentieprofiel. Selecteer gepersonaliseerde advertenties. Pas marktonderzoek toe om doelgroepinzichten te genereren. Inhoudsprestaties meten. Ontwikkelen en verbeteren van producten. Lijst met partners (leveranciers)