Huis databases Wat is het verschil tussen een samengestelde sleutel, primaire sleutel en externe sleutel?

Wat is het verschil tussen een samengestelde sleutel, primaire sleutel en externe sleutel?

Anonim

Q:

Wat is het verschil tussen een samengestelde sleutel, primaire sleutel en externe sleutel?

EEN:

Een primaire sleutel wordt gedefinieerd als een sleutel of databasekolom die elke rij in een databasetabel uniek identificeert. Een samengestelde sleutel is een set van meer dan één sleutel die samen elk record uniek identificeert.

Een externe sleutel is daarentegen een sleutel in een tabel die op unieke wijze rijen in een andere tabel identificeert - of, met andere woorden, een sleutel die naar een primaire sleutel in een andere tabel traceert.

Een voorbeeld hiervan is een lijst met woningen op een onroerendgoedmarkt. In een goed geordende database moet er een primaire sleutel zijn die elk record uniek identificeert. Hoe dit werkt, kan te maken hebben met de verfijning van de database.

In sommige gevallen kunnen de huizen alleen uniek worden geïdentificeerd door een hypotheeknummer - alle andere gegevens (steden, straten, huisnummers) zijn niet uniek voor elk record. Het hypotheeknummer zou de primaire sleutel zijn. Stel echter dat een listingtechnologie van een MLS-makelaar zijn eigen unieke nummers toekent aan de records in de tabel. Vervolgens zijn er twee sleutels die ontwikkelaars kunnen identificeren als 'kandidaatsleutels': het hypotheeknummer en het MLS-nummer. Een van hen zal kwalificeren als de "primaire sleutel" in wat sommigen een willekeurige manier zouden beschouwen.

Een samengestelde sleutel zou dan de combinatie van twee sleutels zijn: de combinatie van huisnummer en straat kan bijvoorbeeld in aanmerking komen als een samengestelde sleutel, aangezien de marktlijsten lokaal zijn. Als dat zo is, dan moet iemand die zowel met het huisnummer als de straat zoekt, maar één record terugkrijgen.

Ondertussen, als er een sleutel in een gekoppelde tabel is, bijvoorbeeld een koperstabel, die verwijst naar de primaire sleutel, zal dat een externe sleutel zijn.

Wat is het verschil tussen een samengestelde sleutel, primaire sleutel en externe sleutel?