sql >> Database >  >> RDS >> Database

Chen-notatie

Als we onze reis door verschillende ERD-notaties voortzetten, bekijken we de Chen ERD-notatie.

Peter Chen, die entiteit-relatiemodellering ontwikkelde en zijn werk in 1976 publiceerde, was een van de pioniers van het gebruik van de entiteitsrelatieconcepten in software- en informatiesysteemmodellering en ontwerp. De Chen ERD-notatie wordt nog steeds gebruikt en wordt beschouwd als een meer gedetailleerde manier om entiteiten en relaties weer te geven.

Entiteiten

Een entiteit wordt weergegeven door een rechthoek die de naam van de entiteit bevat.

In de Chen-notatie onderscheiden we typen entiteiten :

  1. entiteit

  2. zwakke entiteit – een entiteit die niet op unieke wijze kan worden geïdentificeerd aan de hand van zijn kenmerken alleen. Het bestaan ​​van een zwakke entiteit is afhankelijk van een andere entiteit die de eigenaarsentiteit wordt genoemd. De ID van de zwakke entiteit is een combinatie van de ID van de entiteit van de eigenaar en de gedeeltelijke sleutel van de zwakke entiteit.

  3. associatieve entiteit – een entiteit die wordt gebruikt in een veel-op-veel-relatie (vertegenwoordigt een extra tabel). Alle relaties voor de associatieve entiteit moeten veel zijn

Kenmerken

In de Chen-notatie wordt elk attribuut vertegenwoordigd door een ovaal met de naam van het attribuut:

Attributen zijn met rechte lijnen aan de entiteit gekoppeld:

Er zijn enkele specifieke type kenmerken :

  1. sleutelkenmerk – een attribuut dat een bepaalde entiteit op unieke wijze identificeert. De naam van een sleutelkenmerk is onderstreept:

    Omdat het voertuigidentificatienummer (VIN) bijvoorbeeld een unieke code is die wordt gebruikt om individuele voertuigen te identificeren (geen twee voertuigen hebben hetzelfde VIN), kan "VIN" worden beschouwd als het belangrijkste kenmerk voor de entiteit "CAR":

  2. gedeeltelijk sleutelkenmerk (discriminator) – een attribuut dat, in combinatie met het belangrijkste attribuut van de eigenaarsentiteit, een unieke identificatie voor de zwakke entiteit verschaft. We onderstrepen de discriminator met een stippellijn:

  3. meerwaardig kenmerk – een attribuut dat veel waarden kan hebben (er zijn veel verschillende waarden voor ingevoerd in dezelfde kolom van de tabel). Attribuut met meerdere waarden wordt weergegeven door een dubbele ovaal:

    Elke gebruiker kan bijvoorbeeld verschillende hobby's hebben, daarom kan de 'hobby' worden beschouwd als een kenmerk met meerdere waarden voor de entiteit 'gebruiker':

  4. afgeleid kenmerk (of berekend attribuut) – een attribuut waarvan de waarde wordt berekend (afgeleid) van andere attributen. Het afgeleide kenmerk kan al dan niet fysiek in de database zijn opgeslagen.

    In de Chen-notatie wordt dit attribuut weergegeven door een gestippeld ovaal:

    Als we bijvoorbeeld de prijs exclusief btw en het btw-tarief hebben gegeven, kunnen we de prijs inclusief btw berekenen:


Sommige attributen kunnen verder worden onderverdeeld in kleinere delen. Het attribuut 'adres' kan bijvoorbeeld worden onderverdeeld in straatnaam, huisnummer, appartementsnummer, plaats, staat, postcode en land.

Dit worden samengestelde attributen . genoemd en worden als volgt weergegeven:


Relaties

In de Chen-notatie wordt een relatie weergegeven door een diamant (ruit) met de naam van de relatie.

Er worden twee soorten relaties onderscheiden:

  1. sterke relatie – een relatie waarbij entiteit bestaansonafhankelijk is van andere entiteiten en PK of Child geen PK-component van bovenliggende entiteit bevat. Een sterke relatie wordt weergegeven door een enkele ruit:

  2. zwakke (identificerende) relatie – een relatie waarbij de onderliggende entiteit bestaansafhankelijk is van de bovenliggende entiteit en PK van onderliggende entiteit een PK-component van bovenliggende entiteit bevat. Deze relatie wordt weergegeven door een dubbele ruit:


Optionaliteit van een relatie

  1. Net als de Barker's notatie, een verplichte relatie wordt weergegeven door een ononderbroken lijn:

  2. Een optioneel relatie wordt weergegeven door een stippellijn zoals in de notatie van Barker:


Kardinaliteit

De mate van verwantschap (kardinaliteit ) wordt weergegeven door tekens "1", "N" of "M" die gewoonlijk aan het einde van de relaties worden geplaatst:

  • één-op-één (1:1)

    De medewerker kan slechts één afdeling beheren en elke afdeling kan slechts door één medewerker worden beheerd:

  • een-op-veel (1:N)

    De klant kan veel bestellingen plaatsen, maar elke bestelling kan slechts door één klant worden geplaatst:

  • veel-op-een (N:1)

    Veel werknemers kunnen tot één afdeling behoren, maar één bepaalde werknemer kan slechts tot één afdeling behoren:

  • veel-op-veel (M:N)

    Eén student kan lid zijn van meer dan één studentenorganisatie en één organisatie kan meer dan één student toelaten:


Deelnamebeperkingen

Een entiteitenset kan geheel of gedeeltelijk deelnemen aan een relatie.

  • Totale deelname betekent dat elke entiteit in de set betrokken is bij de relatie, bijvoorbeeld elke student moet worden begeleid door een professor (er zijn geen studenten die niet worden begeleid door een professor). In de Chen-notatie wordt dit soort relatie weergegeven als een dubbele lijn.

  • Gedeeltelijke deelname betekent dat niet alle entiteiten in de set betrokken zijn bij de relatie, bijvoorbeeld niet elke professor begeleidt een student (er zijn professoren die dat niet doen). In de Chen-notatie wordt een gedeeltelijke deelname weergegeven door een enkele regel.

Bovenstaande relatie betekent dat elke student, zonder uitzondering, begeleid moet worden door één gekozen hoogleraar, en dat één – maar niet elke – hoogleraar veel studenten kan begeleiden. Er is dus geen student die niet wordt begeleid door een professor, en aan de andere kant kunnen er professoren zijn die geen studenten begeleiden.


Laten we nu eens kijken hoe ons voorbeeld met boek en hoofdstuk (gepresenteerd in het vorige deel) eruit ziet in de Chen-notatie.



  1. Kun je if-then-else-logica in SQL hebben?

  2. Alleen op datum groeperen in een Datetime-kolom

  3. Afsluiten van het PostgreSQL-opdrachtregelhulpprogramma:psql

  4. Voeg afwisselende rijkleur toe aan het rapport SQL Server Reporting Services