Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Sleutels, ID's en Surrogaat-sleutels | Datavoorbereiding
Excel-datamodellering

Sleutels, ID's en Surrogaat-sleutels

Veeg om het menu te tonen

Een sleutelkolom heeft één functie: het koppelt een rij in de ene tabel aan de juiste rij in een andere tabel.

Wanneer het Datamodel CustomerID C003 ziet in een Sales-rij, volgt het de koppeling naar de Customers-tabel en vindt het de ene rij waar CustomerID ook C003 is. Van daaruit leest het de naam, regio en segment. Deze opzoekactie gebeurt automatisch — maar alleen als de sleutelkolom betrouwbaar is.

Twee voorwaarden moeten beide waar zijn:

  • Uniek aan de dimensiekant: elke CustomerID in Customers moet precies één keer voorkomen;
  • Overeenkomende waarden: de ID in Sales moet bestaan in Customers met dezelfde waarde en hetzelfde gegevenstype.

Als aan een van beide voorwaarden niet wordt voldaan, zal de relatie een fout geven of ongemerkt verkeerde resultaten opleveren.

Note
Opmerking

De werkmap die in de video wordt gebruikt, is anders dan de werkmap die in de opdracht wordt gebruikt. Als je stap voor stap met de instructeur wilt meekijken tijdens de les, download dan de videowerkmap die onder de video wordt aangeboden voordat je begint.

Primaire sleutels en vreemde sleutels

Note
Opmerking

Controleer altijd de dimensiekant op uniciteit. Als de primaire sleutel niet uniek is, weigert Power Pivot de relatie te maken.

Surrogaat-sleutels

Een surrogaat-sleutel is een nieuwe ID-kolom die je aanmaakt wanneer de brondata geen betrouwbare natuurlijke sleutel bevat. Je verzint de waarden zelf — ze komen niet uit het bronsysteem.

Wanneer maak je er een aan:

  • Er bestaat geen ID-kolom in de brondata;
  • De enige manier om een rij uniek te identificeren is door twee of meer kolommen te combineren;
  • De natuurlijke sleutel is een label (een naam of beschrijving) in plaats van een stabiele identificatie.

Hoe maak je er een aan in Excel:

  • Voeg een nieuwe kolom toe aan de linkerkant van de tabel. Geef deze een duidelijke naam: ProductID, CustomerID;
  • Voer in de eerste gegevensrij in: ="P"&TEXT(ROW()-1,"000") — genereert automatisch P001, P002, P003;
  • Kopieer de formule naar beneden over de hele kolom;
  • Plakken speciaal → Waarden om de ID's als vaste tekst vast te zetten. Surrogaat-sleutels mogen geen formules blijven — rijen toevoegen of verwijderen zou ze anders herberekenen en breken.

Opdracht

Het belangrijkste doel in dit hoofdstuk is vertrouwd raken met het herkennen, begrijpen en aanmaken van primaire, vreemde en surrogaat-sleutels.

Je opdracht is om eerst de belangrijkste problemen met de sleutels in beide tabbladen van het werkboek te identificeren en oplossingen te overwegen.

Voor het tabblad 'Customers_Raw', beantwoord de volgende vragen:

  • Is dit een fact- of dimensietabel? Waarom?
  • Welke kolom(men), indien aanwezig, zouden mogelijk kunnen functioneren als een primaire of vreemde sleutel? Waarom?
  • Als die er niet zijn, welke surrogaat-sleutel zou je voor deze tabel voorstellen?

Voor het tabblad 'SalesLines_Raw', beantwoord de volgende vragen:

  • Is dit een fact- of dimensietabel? Waarom?
  • Als het geen van beide is, welke stappen zou je ondernemen om dat te corrigeren?

1. Welke van de volgende is een goede eigenschap van een primaire sleutel?

2. Wanneer moet je een surrogaatsleutel aanmaken?

3. Wat moet overeenkomen tussen de vreemde sleutel en de primaire sleutel in een relatie?

question mark

Welke van de volgende is een goede eigenschap van een primaire sleutel?

Selecteer het correcte antwoord

question mark

Wanneer moet je een surrogaatsleutel aanmaken?

Selecteer het correcte antwoord

question mark

Wat moet overeenkomen tussen de vreemde sleutel en de primaire sleutel in een relatie?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 2. Hoofdstuk 3
some-alt