ER Model – Basis Concepten

Aanbevelingen

Het ER model definieert het conceptuele beeld van een database. Het werkt rond reële entiteiten en de associaties daartussen. Op view-niveau wordt het ER-model beschouwd als een goede optie voor het ontwerpen van databases.

Entity

Een entiteit kan een reëel object zijn, levend of levenloos, dat gemakkelijk kan worden geïdentificeerd. In een schooldatabase bijvoorbeeld kunnen leerlingen, leraren, klassen en aangeboden cursussen als entiteiten worden beschouwd. Al deze entiteiten hebben een aantal attributen of eigenschappen die hen hun identiteit geven.

Een entiteitenverzameling is een verzameling van gelijksoortige typen entiteiten. Een verzameling entiteiten kan entiteiten bevatten met attributen die soortgelijke waarden delen. Zo kan een verzameling leerlingen alle leerlingen van een school bevatten; evenzo kan een verzameling leraren alle leraren van een school van alle faculteiten bevatten. Entity sets hoeven niet disjunct te zijn.

Attributes

Entiteiten worden gerepresenteerd door middel van hun eigenschappen, attributen genaamd. Alle attributen hebben waarden. Bijvoorbeeld, een student entiteit kan naam, klas, en leeftijd als attributen hebben.

Er bestaat een domein of bereik van waarden die kunnen worden toegewezen aan attributen. Bijvoorbeeld, de naam van een student kan geen numerieke waarde zijn. Hij moet alfabetisch zijn. De leeftijd van een student kan niet negatief zijn, enz.

Typen attributen

  • Eenvoudig attribuut – Eenvoudige attributen zijn atomaire waarden, die niet verder kunnen worden onderverdeeld. Het telefoonnummer van een student is bijvoorbeeld een atomaire waarde van 10 cijfers.

  • Samengesteld attribuut – Samengestelde attributen zijn samengesteld uit meer dan één eenvoudig attribuut. De volledige naam van een student kan bijvoorbeeld bestaan uit first_name en last_name.

  • Derived attribute – Afgeleide attributen zijn de attributen die niet bestaan in de fysieke database, maar waarvan de waarden zijn afgeleid van andere attributen die aanwezig zijn in de database. Bijvoorbeeld, gemiddeld_salaris in een afdeling moet niet direct in de database worden opgeslagen, maar kan worden afgeleid. Een ander voorbeeld is leeftijd, die kan worden afgeleid uit gegevens_van_geboorte.

  • Een-waarde attribuut – Een-waarde attributen bevatten een enkele waarde. Bijvoorbeeld – Social_Security_Number.

  • Multi-value attribuut – Multi-value attributen kunnen meer dan één waarde bevatten. Een persoon kan bijvoorbeeld meer dan één telefoonnummer, e-mailadres, enz. hebben.

Deze attribuuttypen kunnen samenkomen op een manier als –

  • eenvoudig enkelvoudig gewaardeerde attributen
  • eenvoudig meervoudig gewaardeerde attributen
  • samengestelde enkelvoudiggewaardeerde attributen
  • samengestelde, meervoudig gewaardeerde attributen

Entity-Set en sleutels

Sleutel is een attribuut of een verzameling attributen die een entiteit uniek identificeert binnen de entiteitenverzameling.

Bijv. het rol_nummer van een student maakt hem/haar identificeerbaar onder studenten.

  • Supersleutel – Een verzameling attributen (een of meer) die gezamenlijk een entiteit in een entiteitenreeks identificeert.

  • Kandidaatsleutel – Een minimale supersleutel wordt een kandidaatsleutel genoemd. Een entiteitenset kan meer dan één kandidaatsleutel hebben.

  • Primary Key – Een primaire sleutel is een van de kandidaatsleutels die door de databaseontwerper zijn gekozen om de entiteitenset uniek te identificeren.

Relationship

De associatie tussen entiteiten wordt een relatie genoemd. Bijvoorbeeld, een werknemer werkt_op een afdeling, een student schrijft zich in voor een cursus. Hier worden Works_at en Enrolls relaties genoemd.

Relationship Set

Een verzameling van relaties van gelijksoortig type wordt een relatieset genoemd. Net als entiteiten kan ook een relatie attributen hebben. Deze attributen worden beschrijvende attributen genoemd.

Graad van relatie

Het aantal deelnemende entiteiten in een relatie definieert de graad van de relatie.

  • Binair = graad 2
  • Ternair = graad 3
  • n-ary = graad

Mapping Cardinalities

Cardinaliteit definieert het aantal entiteiten in de ene set entiteiten, dat via relatieset geassocieerd kan worden met het aantal entiteiten van de andere set.

  • Een-op-een – Een entiteit uit entiteitenset A kan geassocieerd worden met ten hoogste een entiteit uit entiteitenset B en omgekeerd.

  • One-to-many – Een entiteit uit entiteitenset A kan geassocieerd zijn met meer dan een entiteit uit entiteitenset B; een entiteit uit entiteitenset B kan echter geassocieerd zijn met ten hoogste een entiteit.

  • Many-to-one – Meer dan één entiteit uit entiteitenset A kan geassocieerd zijn met ten hoogste één entiteit uit entiteitenset B, maar een entiteit uit entiteitenset B kan geassocieerd zijn met meer dan één entiteit uit entiteitenset A.

  • Many-to-many – Een entiteit uit A kan geassocieerd worden met meer dan een entiteit uit B en omgekeerd.

Advertenties

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.