logo

Introductie van het ER-model

Peter Chen ontwikkelde het ER-diagram in 1976. Het ER-model is gemaakt om een ​​eenvoudig en begrijpelijk model te bieden voor het weergeven van de structuur en logica van databases. Het is sindsdien geëvolueerd naar varianten zoals het Enhanced ER Model en het Object Relationship Model

Het Entity Relational Model is een model voor het identificeren van entiteiten die in de database moeten worden weergegeven en voor de weergave van hoe deze entiteiten met elkaar in verband staan. Het ER-gegevensmodel specificeert een ondernemingsschema dat de algehele logische structuur van een database grafisch weergeeft.



Het Entiteitsrelatiediagram legt de relatie uit tussen de entiteiten die in de database aanwezig zijn. ER-modellen worden gebruikt om objecten uit de echte wereld, zoals een persoon, een auto of een bedrijf, en de relatie tussen deze objecten uit de echte wereld te modelleren. Kortom, het ER-diagram is het structurele formaat van de database.

Waarom ER-diagrammen gebruiken in DBMS?

  • ER-diagrammen worden gebruikt om het E-R-model in een database weer te geven, waardoor ze eenvoudig kunnen worden omgezet in relaties (tabellen).
  • ER-diagrammen zijn bedoeld voor het modelleren van objecten in de echte wereld, waardoor ze zeer nuttig zijn.
  • ER-diagrammen vereisen geen technische kennis en geen hardwareondersteuning.
  • Deze diagrammen zijn zeer gemakkelijk te begrijpen en gemakkelijk te maken, zelfs voor een naïeve gebruiker.
  • Het biedt een standaardoplossing voor het logisch visualiseren van de gegevens.

Symbolen gebruikt in het ER-model

ER Model wordt gebruikt om de logische weergave van het systeem te modelleren vanuit een dataperspectief dat uit de volgende symbolen bestaat:

  • Rechthoeken: Rechthoeken vertegenwoordigen entiteiten in het ER-model.
  • Ellipsen: Ellipsen vertegenwoordigen attributen in het ER-model.
  • Diamant: Diamanten vertegenwoordigen relaties tussen entiteiten.
  • Lijnen: Lijnen vertegenwoordigen attributen van entiteiten en entiteitssets met andere relatietypen.
  • Dubbele ellips: Dubbele ellipsen vertegenwoordigen Meerwaardige attributen .
  • Dubbele rechthoek: Dubbele rechthoek vertegenwoordigt een zwakke entiteit.

Symbolen gebruikt in ER-diagram



Onderdelen van ER-diagram

Het ER-model bestaat uit entiteiten, attributen en relaties tussen entiteiten in een databasesysteem.

Onderdelen van ER-diagram

Entiteit

Een entiteit kan een object zijn met een fysiek bestaan ​​– een bepaalde persoon, auto, huis of werknemer – of het kan een object zijn met een conceptueel bestaan ​​– een bedrijf, een baan of een universitaire opleiding.



Entiteiten bestaan ​​uit twee typen

r in c-taal

1. Materiële entiteit – Die kunnen worden aangeraakt zoals een auto, persoon enz.

2. Niet-tastbare entiteit – Die niet kunnen worden aangeraakt, zoals lucht, bankrekening enz.

Entiteitset: Een entiteit is een object van het entiteitstype en een set van alle entiteiten wordt een entiteitsset genoemd. E1 is bijvoorbeeld een entiteit met het Entiteitstype Student en de verzameling van alle studenten wordt Entiteitsset genoemd. In het ER-diagram wordt Entiteitstype weergegeven als:

Entiteit ingesteld

Entiteit ingesteld

We kunnen de entiteit weergeven die is ingesteld in het ER-diagram, maar kunnen de entiteit niet weergeven in het ER-diagram, omdat de entiteit een rij en een kolom is in de relatie en het ER-diagram een ​​grafische weergave van gegevens is.

1. Sterke entiteit

A Sterke entiteit is een type entiteit met een sleutelattribuut. Een sterke entiteit is niet afhankelijk van een andere entiteit in het schema. Het heeft een primaire sleutel, die helpt bij het uniek identificeren ervan, en wordt weergegeven door een rechthoek. Dit worden sterke entiteitstypen genoemd.

2. Zwakke entiteit

Een entiteitstype heeft een sleutelattribuut dat elke entiteit in de entiteitsset op unieke wijze identificeert. Maar er bestaat een entiteitstype waarvoor geen sleutelkenmerken kunnen worden gedefinieerd. Deze worden genoemd Zwakke entiteitstypen .

Bijvoorbeeld, Een bedrijf kan de informatie van personen ten laste (ouders, kinderen, echtgenoten) van een werknemer opslaan. Maar de nabestaanden kunnen niet bestaan ​​zonder de werknemer. Afhankelijk zal dus a zijn Zwak entiteitstype en Werknemer zal het type Identificerende Entiteit zijn voor Dependent, wat betekent dat dit het geval is Sterk entiteitstype .

Een zwak entiteitstype wordt weergegeven door een dubbele rechthoek. De deelname van zwakke entiteitstypen is altijd totaal. De relatie tussen het zwakke entiteitstype en het identificerende sterke entiteitstype wordt identificerende relatie genoemd en wordt weergegeven door een dubbele ruit.

Sterke entiteit en zwakke entiteit

Sterke entiteit en zwakke entiteit

Kenmerken

Kenmerken zijn de eigenschappen die het entiteitstype definiëren. Rol_nr, Naam, Geboortedatum, Leeftijd, Adres en Mobiel_nr zijn bijvoorbeeld de attributen die het entiteitstype Student definiëren. In het ER-diagram wordt het attribuut weergegeven door een ovaal.

Attribuut

Attribuut

1. Sleutelkenmerk

Het attribuut dat identificeert elke entiteit op unieke wijze in de entiteitset wordt het sleutelattribuut genoemd. Roll_No zal bijvoorbeeld uniek zijn voor elke leerling. In het ER-diagram wordt het sleutelattribuut weergegeven door een ovaal met onderliggende lijnen.

Sleutelkenmerk

Sleutelkenmerk

2. Samengesteld attribuut

Een attribuut samengesteld uit vele andere attributen wordt een samengesteld attribuut genoemd. Het attribuut Adres van het type studentenentiteit bestaat bijvoorbeeld uit Straat, Plaats, Staat en Land. In het ER-diagram wordt het samengestelde attribuut weergegeven door een ovaal bestaande uit ovalen.

Samengesteld attribuut

Samengesteld attribuut

3. Meerwaardig attribuut

Een attribuut dat bestaat uit meer dan één waarde voor een bepaalde entiteit. Bijvoorbeeld Phone_No (kan meer dan één zijn voor een bepaalde leerling). In het ER-diagram wordt een meerwaardig attribuut weergegeven door een dubbele ovaal.

Meerwaardig attribuut

Meerwaardig attribuut

4. Afgeleid attribuut

Een attribuut dat kan worden afgeleid van andere attributen van het entiteitstype staat bekend als een afgeleid attribuut. bijvoorbeeld; Leeftijd (kan worden afgeleid uit geboortedatum). In het ER-diagram wordt het afgeleide attribuut weergegeven door een gestippeld ovaal.

Afgeleid attribuut

Afgeleid attribuut

Het volledige entiteitstype Student met zijn attributen kan worden weergegeven als:

Entiteit en attributen

Entiteit en attributen

Relatietype en relatieset

Een relatietype vertegenwoordigt de associatie tussen entiteitstypen. ‘Ingeschreven bij’ is bijvoorbeeld een relatietype dat bestaat tussen het entiteitstype Student en Cursus. In het ER-diagram wordt het relatietype weergegeven door een ruit en verbindt de entiteiten met lijnen.

Entiteit-relatieset

Entiteit-relatieset

Een set relaties van hetzelfde type staat bekend als een relatieset. De volgende relatieset geeft S1 weer zoals geregistreerd in C2, S2 zoals geregistreerd in C1 en S3 zoals geregistreerd in C3.

Relatie ingesteld

Relatie ingesteld

Mate van een relatieset

Het aantal verschillende entiteitssets dat deelneemt aan een relatieset wordt de mate van een relatie ingesteld.

1. Unaire relatie: Wanneer er slechts EEN entiteit is die deelneemt aan een relatie, wordt de relatie een unaire relatie genoemd. Eén persoon is bijvoorbeeld met slechts één persoon getrouwd.

Unaire relatie

Unaire relatie

2. Binaire relatie: Wanneer er TWEE entiteiten zijn die deelnemen aan een relatie, wordt de relatie een binaire relatie genoemd. Een student is bijvoorbeeld ingeschreven voor een cursus.

Binaire relatie

Binaire relatie

3. Ternaire relatie: Wanneer er n entiteiten zijn die deelnemen aan een relatie, wordt de relatie een n-aire relatie genoemd.

Kardinaliteit

Het aantal keren dat een entiteit van een entiteitenset deelneemt aan een relatieset staat bekend als kardinaliteit . Kardinaliteit kan van verschillende typen zijn:

1. Eén-op-één: Wanneer elke entiteit in elke entiteitenset slechts één keer aan de relatie kan deelnemen, is de kardinaliteit één-op-één. Laten we aannemen dat een man met één vrouw kan trouwen en een vrouw met één man. De relatie zal dus één-op-één zijn.

het totaal aantal tafels dat hierbij gebruikt kan worden bedraagt ​​2.

een op een

één op één kardinaliteit

Met behulp van sets kan het worden weergegeven als:

Weergave van één-op-één instellen

Weergave van één-op-één instellen

2. Eén-op-veel: Ook bij één-op-veel mapping kan elke entiteit worden gerelateerd aan meer dan één entiteit en is het totale aantal tabellen dat hierbij kan worden gebruikt 2. Laten we aannemen dat één chirurgenafdeling veel artsen kan huisvesten. De kardinaliteit is dus 1 tot M. Dit betekent dat één afdeling veel artsen heeft.

Het totale aantal tafels dat kan worden gebruikt is 3.

een te veel

één op veel kardinaliteit

Met behulp van sets kan een-op-veel-kardinaliteit worden weergegeven als:

Stel de weergave van Eén-op-veel in

3. Veel-op-één: Wanneer entiteiten in één entiteitsset slechts één keer kunnen deelnemen aan de relatieset en entiteiten in andere entiteitssets meer dan één keer kunnen deelnemen aan de relatieset, is de kardinaliteit veel op één. Laten we ervan uitgaan dat een student slechts één vak kan volgen, maar dat één vak door veel studenten kan worden gevolgd. De kardinaliteit is dus n tot 1. Dit betekent dat er voor één cursus n studenten kunnen zijn, maar voor één student slechts één cursus.

Het totaal aantal tafels dat hierbij gebruikt kan worden bedraagt ​​3.

veeltoon

veel op één kardinaliteit

Met behulp van sets kan het worden weergegeven als:

Stel de representatie van veel-op-één in

Stel de representatie van veel-op-één in

In dit geval volgt elke student slechts 1 cursus, maar is 1 cursus door veel studenten gevolgd.

4. Veel-op-veel: Wanneer entiteiten in alle entiteitensets meer dan één keer kunnen deelnemen aan de relatie, is de kardinaliteit veel-op-veel. Laten we ervan uitgaan dat een student meer dan één vak kan volgen en dat één vak door veel studenten gevolgd kan worden. De relatie zal dus veel-op-veel zijn.

np.waar

het totaal aantal tafels dat hierbij gebruikt kan worden bedraagt ​​3.

veel te veel

veel tot veel kardinaliteit

Met behulp van sets kan het worden weergegeven als:

Veel-op-veel-weergave instellen

Veel-op-veel-weergave instellen

In dit voorbeeld is student S1 ingeschreven voor C1 en C3 en is cursus C3 ingeschreven voor S1, S3 en S4. Het zijn dus veel-op-veel-relaties.

Deelnamebeperking

Deelnamebeperking wordt toegepast op de entiteit die deelneemt aan de relatieset.

1. Totale deelname – Elke entiteit in de entiteitenset moet deelnemen aan de relatie. Indien iedere student zich moet inschrijven voor een cursus, is de deelname van de studenten totaal. De totale deelname wordt weergegeven door een dubbele lijn in het ER-diagram.

2. Gedeeltelijke deelname – De entiteit in de entiteitsset kan wel of NIET deelnemen aan de relatie. Indien voor bepaalde cursussen geen enkele student zich heeft ingeschreven, zal de deelname aan de cursus gedeeltelijk zijn.

Het diagram geeft de relatieset 'Ingeschreven in' weer, waarbij de studentenentiteitsset volledige deelname heeft en de cursusentiteitsset met gedeeltelijke deelname.

Totale deelname en gedeeltelijke deelname

Totale deelname en gedeeltelijke deelname

Met Set kan het worden weergegeven als:

Stel de weergave van totale deelname en gedeeltelijke deelname in

Stel de weergave van totale deelname en gedeeltelijke deelname in

Elke student in de Student Entity-set neemt deel aan een relatie, maar er bestaat een cursus C4 die niet deelneemt aan de relatie.

Hoe ER-diagram tekenen?

  • De allereerste stap is het identificeren van alle entiteiten, deze in een rechthoek plaatsen en ze dienovereenkomstig labelen.
  • De volgende stap is om de relatie tussen hen te identificeren en ze dienovereenkomstig te plaatsen met behulp van de Diamant, en ervoor te zorgen dat relaties niet met elkaar verbonden zijn.
  • Koppel attributen op de juiste manier aan de entiteiten.
  • Verwijder overtollige entiteiten en relaties.
  • Voeg de juiste kleuren toe om de gegevens in de database te markeren.