Articles

Crow’s Foot Notation

Posted on

Crow’s Foot Notation

Er worden tegenwoordig een aantal datamodelleringstechnieken gebruikt. Een van de meest gebruikte is het entityrelationship diagram (ERD). Er zijn verschillende ERD notaties beschikbaar. Voor CS270 zullen we gebruik maken van de Kraaienpoot notatie.

Componenten die bij het maken van een ERD worden gebruikt:

Entity – Een persoon, plaats of ding waarover we meerdere instanties van gegevens willen verzamelen en opslaan. Het heeft een naam, die een zelfstandig naamwoord is, enattributen die de gegevens beschrijven die we willen opslaan. Het heeft ook een identifier, die een instantie van een entiteit op unieke wijze identificeert. Het attribuut dat als identifier fungeert is gemarkeerd met een sterretje.

Relatie – illustreert een verband tussen twee entiteiten. Het heeft een naam die een werkwoord is. Het heeft ook cardinaliteit en modaliteit.

Cardinaliteit en Modaliteit zijn de indicatoren van de bedrijfsregels rond een relatie. Cardinaliteit heeft betrekking op het maximumaantal keren dat een instantie in een entiteit kan worden gekoppeld aan instanties in de verwante entiteit. Modaliteit verwijst naar het minimumaantal keren dat een instantie in één entiteit kan worden geassocieerd met een instantie in de verwante entiteit.

Cardinaliteit kan 1 of Veel zijn en het symbool wordt geplaatst aan de buitenkanten van de relatielijn, het dichtst bij de entiteit, Modaliteit kan 1 of 0 zijn en het symbool wordt geplaatst aan de binnenkant, naast het cardinaliteitssymbool. Voor een kardinaliteit van 1 wordt een rechte lijn getekend. Voor een kardinaliteit van Veel wordt een voet met drie tenen getekend. Voor een modaliteit van 1 wordt een rechte lijn getekend. Voor een modaliteit van 0 wordt een cirkel getekend.

nul of meer

1 of meer

1 en slechts 1 (precies1)

nul of 1

Cardinaliteit en modaliteit worden aan beide uiteinden van de relatielijn aangegeven. Zodra dit is gedaan, worden de relaties gelezen als 1:1 (1:1), 1:many (1:M), of many:many (M:M).

1:1

1:M

M:M

1:M

Typisch, ERDs veel complexer dan dit, met een flink aantal entiteiten en relaties. Als we alle bovenstaande relaties samenvoegen en een paar attributen toevoegen, kan een kleine verzameling gegevens op de volgende manier worden weergegeven met behulp van Crow’sFoot Notation:

Bedenk de volgende bedrijfsregels voor een systeem voor het maken van afspraken met patiënten:

Een arts kan voor veel afspraken zijn ingepland, maar mag er helemaal geen hebben. Elke afspraak wordt met precies 1 arts ingepland. Een patiënt kan 1 of meer afspraken inplannen.Een afspraak wordt met precies 1 patiënt ingepland. Een afspraak moet precies 1 rekening genereren, een rekening wordt gegenereerd door slechts 1 afspraak. Eén betaling wordt toegepast op precies 1 rekening, en 1 rekening kan in de tijd worden afbetaald door meerdere betalingen. Een rekening kan open staan, terwijl er nog helemaal niets op betaald is. Een patiënt kan vele betalingen doen, maar een enkele betaling wordt slechts door 1 patiënt gedaan.Sommige patiënten zijn verzekerd bij een verzekeringsmaatschappij. Als ze verzekerd zijn, kunnen ze maar bij één maatschappij verzekerd zijn. Een verzekeringsmaatschappij kan vele patiënten hun polis laten dragen. Voor patiënten die verzekerd zijn, zal de verzekeringsmaatschappij betalingen doen, waarbij elke afzonderlijke betaling door precies 1 verzekeringsmaatschappij wordt gedaan.

Gezien de bovenstaande informatie kan de volgende ERD worden getekend:

Intersectie Entiteiten

Intersectie entiteiten worden gebruikt bij het oplossen van een veel-op-veel relatie. Dit oplossen wordt gedaan om extra informatie op te slaan die niet past in de attributenlijst van een van beide entiteiten in de M:M-relatie. Bijvoorbeeld, in het instructeur-cursus voorbeeld dat eerder werd gegeven, is er een M:M relatie tussen Cursus en Sectie. Een cursus kan vele secties hebben, en een sectie kan vele cursussen hebben. Indien we willen weten hoeveel studenten ingeschreven zijn in een bepaalde klas, kunnen we de informatie niet opslaan in één van beide entiteiten. We zouden het totaal aantal studenten ingeschreven in alle secties van een bepaalde cursus, kunnen opslaan in de cursusentiteit, bv: 300 studenten zijn ingeschreven in CS270, alle secties inbegrepen. We kunnen het totaal aantal studenten ingeschreven in alle cursussen met een bepaald sectienummer, opslaan in de sectie-entiteit, bv: 25.000 studenten zijn ingeschreven in een sectie met nummer 002. Indien we meer praktische informatie willen, zoals hoeveel studenten ingeschreven zijn in sectie 002 van CS270, hebben we een andere entiteit nodig waarin we de informatie kunnen opslaan. Wij maken dus een intersectie-entiteit, en plaatsen die tussen de verwante entiteiten met de bijkomende attributen. De M:Mr-relatie wordt twee 1:M-relaties. Zie de resolutie hieronder.

Onafhankelijke entiteiten

Onafhankelijke entiteiten zijn entiteiten die zonder een andere entiteit kunnen bestaan. Student, stoel, instructeur enz. zijn voorbeelden van onafhankelijke entiteiten.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *