slim of niet

Status
Niet open voor verdere reacties.

Zurrik

Gebruiker
Lid geworden
17 mrt 2006
Berichten
221
Als ik een nieuwe order wil maken komt er een nieuw ordernummer. Dit is uniek. Is het nu slim om toch AutoNummering te laten doen, of kan ik het zelf invoeren, want ik wil ordernummers zelf bepalen.

Ik krijg dus:

OrdersID: Autonummering
Ordernummer: Numeriek

of

OrderNummer: Autonummering

of

Ordernummer: Numeriek (maar wel uniek)

Wat is de beste keuze?
 
Ik zou de 3e doen.

Als je de eerste pakt, dan heb je 2 unieken.. die eigenlijk gelijk zijn. = Redundantie
De 2e krijg je alles wel uniek, maar je kan het niet zelf bepalen.
 
VAUD,

De eerste!
Je geeft namelijk aan dat je het ordernummer zelf wilt bepalen.
Daaruit kun je afleiden dat je het ook zou kunnen wijzigen (en dan is het nog steeds uniek).
Dat wordt een aardige uitdaging als je het advies van killermenace opvolgt en is erg simpel als je de eerste optie kiest.

Algemene vuistregel is dat een sleutel van een tabel niet alleen uniek moet zijn, maar ook betekenisloos. Een ordernummer dat je zelf bepaalt is daarmee niet meer betekenisloos!

Voor tabelsleutels dus ALTIJD autonummer velden gebruiken.
 
Bartuls zei:
VAUD,

De eerste!
Je geeft namelijk aan dat je het ordernummer zelf wilt bepalen.
Daaruit kun je afleiden dat je het ook zou kunnen wijzigen (en dan is het nog steeds uniek).
Dat wordt een aardige uitdaging als je het advies van killermenace opvolgt en is erg simpel als je de eerste optie kiest.

Algemene vuistregel is dat een sleutel van een tabel niet alleen uniek moet zijn, maar ook betekenisloos. Een ordernummer dat je zelf bepaalt is daarmee niet meer betekenisloos!

Voor tabelsleutels dus ALTIJD autonummer velden gebruiken.

Ik kies ook voor de eerste om dezelfde redenen. Echter voor de tabelsleutel moet je NIET altijd autonummer velden gebruiken omdat je bij het samenvoegen van databases (consolidatie) in de problemen kan komen. Als je dat niet verwacht kan je ALTIJD autonummer velden gebruiken voor tabelsleutels.

HTH
Weest gegroet,
Guus
 
Ook bij het consolideren van databases zijn er technieken om correct om te gaan met autonummer velden in de sleutels.
Daarom: gebruik ALTIJD autonummer velden als sleutel. Als je een betekenis aan een nummer wilt toekennen (hierbij is het feit dat er geen nummers tussenuit mogen zijn (bijv. 1,2,3,5,7,8,9) ook een betekenis!) dan is het meteen geen primaire sleutel meer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan