ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen samengestelde sleutel gebruikt meerdere kolommen samen om een rij uniek te maken. Geen enkele kolom is op zichzelf genoeg, maar de combinatie wel.
Een samengestelde sleutel is een sleutel die uit meerdere kolommen bestaat. Geen enkele kolom maakt de rij alleen uniek, maar de combinatie wel.
Denk aan orderregels. order_id is niet uniek, want één order heeft meerdere regels. line_no is ook niet uniek, want elke order kan een regel 1 hebben. Samen vormen order_id en line_no wel een unieke identiteit voor elke orderregel.
In het Engels heet dit een composite key. Je ziet ze vooral in tussentabellen, detailregels en tabellen waar de natuurlijke identiteit uit meerdere delen bestaat.
Je legt een samengestelde sleutel vast door meerdere kolommen in dezelfde constraint te zetten.
CREATE TABLE order_lines (
order_id integer NOT NULL,
line_no integer NOT NULL,
product_id integer NOT NULL,
quantity integer NOT NULL,
PRIMARY KEY (order_id, line_no)
);De databank bewaakt nu dat dezelfde combinatie niet twee keer voorkomt. order_id = 10 mag meerdere keren voorkomen, zolang line_no binnen die order telkens anders is.
Bij detailregels. Orderregels, factuurlijnen en planningregels hebben vaak een hoofdrecord plus een volgnummer.
Bij koppeltabellen. Een tabel user_roles kan uniek zijn op user_id en role_id samen.
Bij brondata met natuurlijke identiteit. Sommige API's geven geen los id, maar wel een combinatie zoals landcode, jaar en documentnummer.
Bij datakwaliteitstests. Ook wanneer je later een surrogaatsleutel toevoegt, blijft de natuurlijke combinatie nuttig om dubbels te vinden.
Een surrogaatsleutel is een technisch nummer dat je zelf toevoegt, bijvoorbeeld order_line_id. Een samengestelde sleutel gebruikt bestaande betekenisvolle kolommen, zoals order_id en line_no.
De samengestelde sleutel is dicht bij de businesslogica en maakt dubbels zichtbaar. De surrogaatsleutel is makkelijker in joins, zeker als veel andere tabellen naar deze rij moeten verwijzen. In een data warehouse zie je daarom vaak allebei: een technische sleutel voor joins en een unieke regel op de natuurlijke combinatie.
De combinatie moet stabiel zijn. Als een van de kolommen later kan wijzigen, wijzigt de identiteit van de rij mee.
Joins worden langer. Elke verwijzende tabel moet alle sleutelkolommen meenemen. Dat maakt query's gevoeliger voor fouten.
Null-waarden horen er meestal niet in. Een primaire sleutel mag geen lege waarden bevatten. Bij unieke constraints verschilt het gedrag rond null per databank.
1. Is een samengestelde sleutel altijd een primaire sleutel?
Nee. Ze kan ook als unieke constraint bestaan. Dan bewaakt ze uniekheid, terwijl een andere kolom de primaire sleutel is.
2. Zijn samengestelde sleutels slecht?
Nee. Ze zijn nuttig wanneer de echte identiteit uit meerdere delen bestaat. Ze worden lastig wanneer ze overal als foreign key moeten meegaan.
3. Kan ik later overstappen op een surrogaatsleutel?
Ja. Voeg dan de surrogaatsleutel toe voor technische verwijzingen, maar behoud een unieke regel op de oorspronkelijke combinatie.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen afleidingsregel legt uit hoe een nieuwe waarde wordt berekend of bepaald uit bestaande data. Ze maakt businesslogica achter velden, metr...
Lees meerAI Builder brengt AI-modellen en prompts naar Power Apps en Power Automate. Makers kunnen er onder meer documenten uitlezen, tekst classific...
Lees meerAnomaliedetectie spoort automatisch datapunten op die niet passen in het normale patroon: een factuur die uit de toon valt, een machine die ...
Lees meerAnonimisering maakt data redelijkerwijs niet meer herleidbaar tot een persoon, waardoor de GDPR niet meer van toepassing is. Pseudonimiserin...
Lees meer
Zeven nieuwe Data Panda-connectors uit juni 2026, met concrete toepassingen voor rapportering, voorraad, finance, ticketing, planning en ope...
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...