Wat betekent een zwakke/sterke uniciteits regel?

Status
Niet open voor verdere reacties.

feetjai

Gebruiker
Lid geworden
30 mrt 2004
Berichten
22
Kan iemand onderstaande op een andere manier uitleggen?

Uniciteit betekent dat een kolom een unieke namen moet bevatten, maar waarom
spreekt men van sterke en zwakke uniciteits regels?

Voorbeeld:

****** = een uniciteitsregel voor 1 kolom
kolom 1

***************** = Een uniciteits regel voor 2 of meer kolommen
kolom 1 kolom 2

Tabel Gerecht met de kolommen:
***********
gerechtnaam energiePP op * bereidingstijd bereidingswijze


Tabel Ingredient met de kolommen:
************************
gerechtnaam productnaam hoeveelheidPP op


Het boek zegt daarbij:
Het eisen van uniciteit voor 1 kolom is strenger dan de eisen van uniciteit voor een combinatie van diezelfde kolom en nog 1 of meer andere kolommen.
Bijvoorbeeld, uit de uniciteitsregel voor Gerecht.gerechtnaam volgt als afgeleide regel dat ook de waardencombinaties in de kolomcombinaties (gerechtnaam, energiePP) alle verschillend zijn. Dit is echter een zwakkere regel, want het omgekeerde geldt niet.

Wat zijn zwakke / sterke regels, wat betekent dit? Waar moet ik rekening mee houden?
 
Als je een gecomineerde UNIQUE-constraint gebruikt, kunnen in beide kolommen beide waarden vaker voorkomen dan eens. Bij een UNIQUE-constraint op één kolom kan dat voor die kolom niet.

Voorbeeld met 'naam' en 'woonplaats'.

Naam moet uniek zijn:
Jan - Amsterdam
Piet - Rotterdam
Klaas - Amsterdam
Kees - Den Haag
Peter - Utrecht

Naam én woonplaats moeten uniek zijn:
Jan - Amsterdam
Piet - Rotterdam
Piet - Amsterdam
(...)


In het eerste voorbeeld kan 'Piet' maar één keer voorkomen, in voorbeeld 2 komt 'Piet' twee keer voor maar voldoet wel aan de uniciteitsregel (is namelijk uniek omdat de ene Piet uit Rotterdam komt, en de andere uit Amsterdam).
 
Met dank tot het antwoorden.
Maar wat betekent zwakke / sterke uniciteit dan?
 
Bedankt voor de update in ieder geval.

Is er iemand die het stukje uit het boek "Relationele database en SQL van Leo Wiegerink (Acadamic service)" uit kan leggen? Met zoveel professionals moet er toch iemand zijn, die het weet?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan