Databasebeheersysteem (DBMS) is essentieel in het bedrijfsleven, het bankwezen, luchtvaartmaatschappijen, telecommunicatie en universiteiten omdat het een efficiënte en betrouwbare methode is voor het maken, opslaan en beheren van databasegegevens. Relationeel Database Management Systeem (RDBMS) is de geavanceerde vorm van DMBS, speciaal gestructureerd voor relationele databases.
Sleutels zijn essentiële onderdelen van het relationele databaseschema omdat ze een koppeling tot stand brengen tussen twee verschillende tabellen en elke rij gegevens binnen een tabel op unieke wijze identificeren. Sleutels hebben echter een specifieker belang dan alleen het onderhouden van koppelingen.
Het helpt bij het verzamelen van specifieke gegevens uit talloze rijen, wat ingewikkeld of zelfs onmogelijk zou zijn geweest als er geen sleutels waren. De twee primaire sleutels die helpen om efficiënt koppelingen tussen relationele databases tot stand te brengen en te identificeren, zijn primaire sleutels en externe sleutels.
Key Takeaways
- Een primaire sleutel is een unieke identificatie voor elk record in een databasetabel, zodat geen twee rijen dezelfde primaire sleutelwaarde hebben.
- Een externe sleutel is een veld in een tabel dat verwijst naar de primaire sleutel van een andere tabel, waardoor een relatie tussen de twee tabellen tot stand wordt gebracht en de referentiële integriteit behouden blijft.
- Het belangrijkste verschil tussen primaire sleutels en externe sleutels is hun functie binnen een database, waarbij primaire sleutels een unieke identificatie voor records bieden. Externe sleutels creëren daarentegen relaties tussen tabellen door te verwijzen naar primaire sleutels in andere tabellen.
Primaire sleutel versus buitenlandse sleutel
Een primaire sleutel is een keuze uit kolommen die uniek is en de reeks rijen in een bepaalde tabel bepaalt, en ook een attribuut dat een ID heeft dat wordt gezien als een kandidaatsleutel. Vreemde sleutel is een kolom in een tabel die dient als koppeling tussen twee verschillende tabellen en die null-waarden bevat.
Een tabel kan geen relationele tabel zijn databank tabel zonder de primaire sleutel. Omdat primaire sleutels op unieke wijze een specifieke rij met gegevens identificeren, kunnen twee of meer rijen geen vergelijkbare primaire sleutels hebben. Daarentegen worden externe sleutels gebruikt om een relatie tot stand te brengen tussen de records van twee verschillende tabellen.
Vergelijkingstabel
Parameter van vergelijking | Hoofdsleutel | Vreemde sleutel |
---|---|---|
Dubbele waarden | Primaire sleutels staan niet toe dat twee rijen dezelfde waarden hebben. | Vreemde sleutels zorgen ervoor dat de twee rijen dezelfde waarden hebben. |
Invoeging | In primaire sleutels kan men waarden invoegen, zelfs als de externe sleutel die waarde niet heeft. | In externe sleutels kan men geen waarden invoegen als de waarden niet aanwezig zijn in de primaire sleutel. |
RANGE | Elke rij in de relationele databasetabel kan slechts één primaire sleutel hebben. | Een relationele databasetabel kan meerdere externe sleutels hebben. |
Geclusterde index | Primaire sleutels hebben standaard een geclusterde index. | Externe sleutels hebben geen geclusterde index. |
verwijdering | Wanneer een waarde moet worden verwijderd, moet men ervoor zorgen dat de waarde nog steeds niet aanwezig is in de verwijzingstabel naar externe sleutels. | Wanneer een waarde moet worden verwijderd, kan dit eenvoudig met vreemde sleutels worden gedaan. |
Tijdelijke tafels | Primaire sleutels kunnen worden gedefinieerd op een tijdelijke tabel. | Vreemde sleutels kunnen niet worden gedefinieerd op een tijdelijke tabel. |
Wat is primaire sleutel?
Een primaire sleutel verwijst naar een bepaalde keuze van kolommen die op unieke wijze de reeks rijen in een tabel bepaalt. Een primaire sleutel is een enkel attribuut met een unieke ID en wordt ook beschouwd als een kandidaatsleutel.
De waarde van een primaire sleutel mag nooit fluctueren of worden gewijzigd omdat de primaire sleutel het belang in de databank. Het wijzigen van de waarde zou dus tot veel verwarring leiden.
De primaire sleutel is cluster-geïndexeerd, wat betekent dat alle tabelrijen zijn gesorteerd. De primaire sleutel wordt voornamelijk gedefinieerd op een tijdelijke tabel.
Wat is buitenlandse sleutel?
Een externe sleutel verwijst naar een kolom in een databasetabel die een koppeling vormt tussen twee tabellen. Als tabel 1 een primaire sleutel heeft van tabel 2, is dit attribuut de externe sleutel.
In tegenstelling tot primaire sleutels kunnen externe sleutels null-waarden bevatten, omdat dit niet helpt bij het identificeren van een verschil in de relatie omdat primaire sleutels dit deel van het werk al hebben gedaan. Externe sleutels kunnen ook dubbele waarden accepteren, in tegenstelling tot de primaire sleutel, en kunnen veel of meerdere externe sleutels in een database hebben, aangezien externe sleutels verschillende attributen kunnen hebben.
Vreemde sleutels kunnen niet worden gedefinieerd op een tijdelijke tabel. Bij het toevoegen van een waarde aan de kolom met externe sleutels moet men ervoor zorgen dat de deal aanwezig is in de primaire sleutel en dat er geen beperking is bij het verwijderen van waarden uit een externe sleutel.
Belangrijkste verschillen tussen primaire sleutel en buitenlandse sleutel
- Primaire sleutels sta niet toe dat twee rijen in een databasetabel dubbele waarden hebben. Vreemde sleutels toestaan dat twee rijen in een databasetabel dubbele waarden hebben.
- In het attribuut van de primaire sleutels, kunnen waarden in de tabel worden ingevoegd, zelfs als de externe sleutel die waarde niet in de kolom heeft. In de buitenlandse sleutels attribuut, kortingen kunnen niet in de tabel worden ingevoegd als de waarden niet in de primaire sleuteldatabase staan.
- A hoofdsleutel attribuut kan slechts één reeks primaire sleutels in zijn tabel hebben. EEN vreemde sleutel attribuut kan veel externe sleutels in zijn tabel hebben.
- Primaire sleutels hebben een geclusterde index, wat betekent dat alle rijen in de databaserelatie zijn gesorteerd. Vreemde sleutels hebben geen automatische geclusterde index, maar kunnen handmatig worden gedaan.
- Onder primaire sleutels, kan een waarde uit de referentietabel worden verwijderd door ervoor te zorgen dat de deal niet aanwezig is in de referentietabel voor externe sleutels. Onder externe sleutels kunnen de waarden probleemloos worden verwijderd, omdat het niet uitmaakt of de waarde nog actueel is in de referentietabel van de primaire sleutels.
- Primaire sleutels kan worden bepaald op een tijdelijke tafel. Vreemde sleutels kan niet worden bepaald of afgedwongen op een tijdelijke tafel.
- https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=HgKaHPnYA9oAAAAA:_NYpWs4jzN-BI4lT9bWA73EPTvOBtYxJzXB7RpKVXGvZRc0htXpsv742IQMGSsjiuA1f_E_80IN18O0
- https://ieeexplore.ieee.org/abstract/document/994756/
Laatst bijgewerkt: 11 juni 2023
Sandeep Bhandari heeft een Bachelor of Engineering in Computers van Thapar University (2006). Hij heeft 20 jaar ervaring op het gebied van technologie. Hij heeft een grote interesse in verschillende technische gebieden, waaronder databasesystemen, computernetwerken en programmeren. Je kunt meer over hem lezen op zijn bio pagina.
Vooral de vergelijkingstabel is nuttig. Het biedt een duidelijke en beknopte samenvatting van de contrasterende kenmerken van primaire sleutels en externe sleutels.
Dit artikel mist een diepgaande uitleg van primaire en externe sleutels. Het slaagt er niet in om bepaalde geavanceerde databasequerybewerkingen waarbij deze sleutels betrokken zijn, aan te pakken.
Ik zie dat het artikel er goed in slaagt vast te stellen dat primaire sleutels uniekheid in een databasetabel garanderen door geen dubbele waarden toe te staan.
De auteur zou zich kunnen verdiepen in een uitgebreidere analyse van de specifieke toepassingen van primaire en externe sleutels in verschillende industriële omgevingen.
Ben ik het niet mee eens. Een databasetabel kan een relationele databasetabel zijn zonder de primaire sleutel. Het wordt beschouwd als een slechte praktijk, maar niet onmogelijk.
De auteur doet slecht werk in het begrijpen van de rol van primaire sleutels. Het feit dat hun waarden niet veranderd mogen worden, is volkomen verkeerd. Ze kunnen indien nodig worden bijgewerkt.
In dit artikel wordt het belang van de primaire sleutel en de externe sleutel in een DBMS goed uitgelegd. Dit zijn onmisbare componenten van de databasearchitectuur die de betrouwbaarheid van gegevens garanderen.
De auteur doet geweldig werk door de verschillen tussen primaire sleutels en externe sleutels en hun betekenis binnen een database te benadrukken. Erg informatief.
Ik geloof dat dit artikel het concept van primaire en externe sleutels goed vereenvoudigt. Het maakt een aantal inzichtelijke punten.
Databasebeheersystemen zijn het levensbloed van organisaties. Ze helpen bij het organiseren en leveren van cruciale gegevens op een efficiënte en betrouwbare manier.