kenteken als sleutelveld

Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Hallo,

Het volgende vraag ik mij af: in een tabel voor de registratie van het wagenpark gebruik ik het kenteken als sleutelveld. Dit omdat ik dacht dat deze sowieso uniek zal zijn. Is dit nu wel verstandig? Is het toch beter om (altijd) de autonummering als ID te gebruiken voor iedere record?

Dank,
scw
 
Theoretisch kan een kenteken een hele goede ID zijn hoor. Access werkt alleen sneller als je een numerieke ID zal gebruiken, maar de vraag is of je dat zal merken.
Mocht je overgaan tot een numerieke ID dan moet je wel een unieke index op het kenteken veld zetten, anders kun je zomaar ineens twee dezelfde kentekens invullen.
 
Afhankelijk van de opbouw van je database en hoe kritiek performance is.

In principe kan het kenteken prima als unieke identifier als het de master key is. Opzoeken en sorteren van tekstvelden gaat wel net wat langzamer dan nummervelden. Aan de andere kant, als je veel joins op het kenteken uitvoert scheelt het weer een extra lookup.
 
Knappe jongen die de snelheidsverschillen tussen een numeriek (autonummer) veld en een tekstveld van zo'n 8 tekens merkt bij wagenparkbeheer; Overigens heb je gelijk als je constateert dat het kenteken uniek is. Derhalve prima geschikt als Sleutelveld. Een (nodeloos) extra veld neemt ook extra ruimte in de db in, dus als het niet nodig is: niet doen.
 
Michel, ik ben het niet helemaal eens met je laatste opmerking over dat een extra veld extra ruimte inneemt. Dat is namelijk afhankelijk van het aantal gerelateerde tabellen.
In eerste instantie neemt het ID veld 4 extra bytes in beslag, maar daarna (uitgaande van 8 karakters voor het kenteken veld) bespaar je 4 bytes per regel per gelinkte tabel.
 
En dat kan hard oplopen :)
Maar ik zei er ook bij: als het niet nodig is: niet doen. Is het wel nodig (en gekoppelde tabellen vergroten die noodzaak) dan gebruik ik ook een extra ID veld. Maar bij een platte db is het dus overbodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan