Entiteit vs Attribuut
Entity-relationship modeling (ERM) techniek wordt veel gebruikt voor het modelleren van databases. Entiteit-relatiemodellering is het proces van het bedenken van een abstracte en conceptuele representatie van gegevens. Een van de belangrijkste bouwstenen van ERM is een entiteit. Entiteit vertegenwoordigt een object uit de echte wereld of een ding dat onafhankelijk kan staan en uniek kan worden geïdentificeerd. Attributen zijn de eigenschappen van deze entiteiten. ER-diagrammen zijn het product van entiteit-relatiemodellering. ER-diagrammen worden getekend met entiteiten, attributen en andere symbolen (zoals relaties).
Wat is een entiteit?
Een entiteit vertegenwoordigt een ding dat onafhankelijk kan bestaan en dat uniek kan worden geïdentificeerd. Meer specifiek vertegenwoordigt een entiteit vaak een klasse, groep of categorie van vergelijkbare objecten. Meestal vertegenwoordigt een entiteit een object uit de echte wereld, zoals een auto of een werknemer. Entiteiten kunnen worden beschouwd als zelfstandige naamwoorden die naar voren komen tijdens de beschrijving van het op te lossen probleem. Entiteiten worden weergegeven als tabellen in relationele databases. Over het algemeen wordt elke entiteit toegewezen aan precies één tabel in de database. Afzonderlijke rijen in de tabellen komen overeen met de werkelijke instanties van het object/ding dat door de entiteit wordt vertegenwoordigd. In een werknemersdatabase komt elke rij bijvoorbeeld overeen met records van individuele werknemers van het bedrijf.
Wat is een kenmerk?
In de entiteit-relatiemodellering worden eigenschappen van entiteiten attributen genoemd. Met andere woorden, attributen vertegenwoordigen een subgroep van informatie van het object dat door de entiteit wordt vertegenwoordigd. Attributen definiëren de afzonderlijke instanties en helpen om onderscheid te maken tussen elke instantie door hun kenmerk te beschrijven. Het is belangrijk op te merken dat attributen niet kunnen worden vastgesteld en dat ze atomair moeten zijn. In relationele databases, waar entiteiten worden gerealiseerd als tabellen, vertegenwoordigt elke kolom de attributen van deze entiteiten. In de tabel Medewerker zijn bijvoorbeeld kolommen als afdeling, rang en salaris voorbeelden van attributen van de medewerkers. Om onderscheid te maken tussen afzonderlijke instanties van de entiteit, kunnen een of meer attribuutvelden met unieke waarden (voor alle instanties) als sleutel worden geselecteerd. Het kenmerk van het burgerservicenummer (dat uniek is voor alle werknemers) wordt bijvoorbeeld vaak gebruikt als de primaire sleutel van een werknemertabel. Soms kunnen meerdere attributen ook de primaire sleutel vormen.
Wat is het verschil tussen een entiteit en een kenmerk?
In entiteit-relatiemodellering vertegenwoordigen entiteiten objecten/dingen uit de echte wereld die als uniek en onafhankelijk kunnen worden geïdentificeerd, terwijl attributen de eigenschappen van die entiteiten vertegenwoordigen. In relationele databases worden entiteiten tabellen (elke rij vertegenwoordigt individuele instanties), terwijl attributen kolommen worden van die overeenkomstige tabellen. Bij het ontwerpen van databases is het gebruikelijk om verwarring te hebben over het kiezen van een entiteit versus een attribuut om een bepaald echt woordobject weer te geven. Moet het adres van de werknemer bijvoorbeeld worden weergegeven als een attribuut of een andere entiteit (verbonden met de werknemersentiteit via een relatie)? Een algemene vuistregel is dat als een werknemer meer dan één adres heeft, het adres een entiteit moet zijn (omdat attributen geen vaste waarde hebben). Evenzo, als de structuur van het adres belangrijk is om vast te leggen, dan moet het adres opnieuw een entiteit zijn (omdat attributen atomair zijn).