Entity Relationship (ER) Diagram Model med DBMS Eksempel

⚡ Smart opsummering

Eksempel på entitetsrelationsdiagram (ER) med DBMS illustrerer en struktureret metode til visuelt at repræsentere data og deres forbindelser i relationelle databaser. Foreslået af Peter Chen, giver den et konceptuelt modelleringsgrundlag til præcist at definere enheder, attributter, relationer og deres kardinaliteter.

  • 🔍 Kernekoncept: ER-diagrammer definerer databasestrukturen gennem tre kernekomponenter – enheder, attributter og relationer – hvilket sikrer en klar kortlægning mellem dataobjekter og deres interaktioner.
  • 🧱 Strukturelle symboler: Rektangler betegner enheder, ellipser repræsenterer attributter, og diamanter illustrerer relationer; forbindelseslinjer angiver logiske forbindelser, med understregede attributter, der markerer primære nøgler.
  • ⚙️ Enhedsklassificering: Enheder grupperes i sæt, der hver især identificeres af unikke nøgler eller attributter. Svage enheder mangler uafhængige nøgler og er afhængige af stærke enheder til identifikation ved hjælp af dobbelte rektangler og stiplede understregninger.
  • 🔗 Forholdsdefinition: Relationer udtrykker associationer mellem enheder (f.eks. "Studerende tilmelder sig kursus") og kategoriseres efter kardinalitet - en-til-en, en-til-mange, mange-til-en eller mange-til-mange.
  • 🧩 Attributtyper: Attributter kan være simple, sammensatte, afledte eller flerværdiede og definere forskellige dataegenskaber såsom navne, datoer og beregnede felter.
  • 🧭 Trin til oprettelse af ERD: Identificer enheder, etabler relationer, bestem kardinaliteter, tildel attributter og definer primærnøgler, før du konstruerer det komplette diagram.
  • 📈 Optimeringspraksis: Fjern redundanser, navngiv alle komponenter, og vedligehold unikke entitetsforekomster for klarhedens skyld, så det sikres, at diagrammet understøtter alle nødvendige datalagringskrav.

Entitetsforholdsdiagram

Hvad er et ER-diagram?

Entitetsrelationsdiagrammet (ER-diagrammet) er et effektivt visuelt værktøj til design af relationelle databasestrukturer. Det blev først foreslået af Peter Chen i 1976 og giver et konceptuelt modelleringsgrundlag, der definerer enheder, attributter, relationer og deres kardinaliteter med præcision. Denne vejledning dækker alt fra grundlæggende koncepter til avancerede teknikker og hjælper dig med at mestre design af databaseskemaer.

ER-diagrammer indeholder forskellige symboler, der bruger rektangler til at repræsentere enheder, ovaler til at definere attributter og diamantformer til at repræsentere relationer.

Ved første øjekast ligner et ER-diagram meget et flowdiagram. Et ER-diagram indeholder dog mange specialiserede symboler, og deres betydninger gør denne model unik. Formålet med et ER-diagram er at repræsentere entitetsrammeinfrastrukturen.

Eksempler på ER-diagram
Eksempel på entitetsforholdsdiagram

ER-modellernes historie

Peter Chen foreslog ER-diagrammet i 1976 i sin skelsættende artikel "The Entity-Relationship Model: Toward a Unified View of Data". Hans mål var at skabe en ensartet konvention, der kunne bruges til både relationelle databaser og netværk. Chen forestillede sig ER-modellen som en konceptuel modelleringstilgang, der ville bygge bro mellem virkelige krav og teknisk databaseimplementering.

Siden da har ER-modellen udviklet sig med forskellige notationssystemer, herunder Chen-notation (originalen), kragefodsnotation (populær i moderne værktøjer) og UML-baserede tilgange. Trods disse variationer forbliver kernekoncepterne konsistente på tværs af alle implementeringer.

Hvorfor bruge ER-diagrammer?

ER-diagrammer giver adskillige fordele til databasedesign og -udvikling:

  • Visuel kommunikation: De giver en klar visuel repræsentation, som både tekniske og ikke-tekniske interessenter kan forstå.
  • Plan for udvikling: De viser præcis, hvordan tabeller skal forbindes, og hvilke felter hver tabel skal indeholde.
  • Oversættelsesklar: ER-diagrammer kan direkte oversættes til relationelle tabeller, hvilket giver dig mulighed for hurtigt at opbygge databaser.
  • Fejlforebyggelse: De hjælper med at identificere designfejl og redundanser før implementering, hvilket sparer tid og ressourcer.
  • Dokumentation: De fungerer som varig dokumentation, der hjælper nye teammedlemmer med at forstå systemarkitekturen.
  • Systemanalyse: De hjælper med at identificere alle enheder, der findes i et system, og relationerne mellem dem.

ER-diagramkomponenter

Hvert ER-diagram er bygget op af tre kernekomponenter: Enheder, Attributter og Relationer. Det er vigtigt at forstå hver komponent og hvordan de interagerer for at skabe effektive databasedesigns.

Eksempler på ER-diagram

For eksempel kan vi i en universitetsdatabase have enheder for Studerende, Kurser og Undervisere. En studerendeenhed kan have attributter som Rollno, Navn og DeptID. De kan have relationer til Kurser og Undervisere.

Komponenter i ER-diagrammet

Komponenter i ER-diagrammet

Enheder

En enhed repræsenterer ethvert objekt i den virkelige verden – levende eller ikke-levende – der kan identificeres tydeligt, og om hvilket der kan lagres data. Det kan være en fysisk ting, en kendsgerning om virksomheden eller en begivenhed, der sker i den virkelige verden. Enheder kan omfatte personer, steder, objekter, begivenheder eller koncepter.

Eksempler på enheder efter kategori:

  • Person: Medarbejder, studerende, patient, kunde
  • Sted: Butik, bygning, kontor, lager
  • Objekt: Maskine, Produkt, Bil, Bog
  • Tilfælde: Salg, registrering, fornyelse, transaktion
  • Koncept: Konto, Kursus, Afdeling, Projekt

eksempler på enheder i databasesystemer

Entitetssæt

Et entitetssæt er en gruppe af lignende enheder, der deler fælles attributter. For eksempel danner alle studerende på et universitet et "studerende" entitetssæt. Enheder repræsenteres i ER-diagrammer ved hjælp af rektangler med entitetsnavnet skrevet indeni.

Enheder repræsenteres af deres egenskaber, som også kaldes attributter. Alle attributter har deres separate værdier. For eksempel kan en studerende-enhed have et navn, en alder og en klasse som attributter.

Enhed

Stærke enheder vs. svage enheder

Enheder klassificeres som enten stærke eller svage baseret på deres evne til at eksistere uafhængigt. Forståelse af denne sondring er afgørende for korrekt databasedesign.

En stærk enhed har sin egen primære nøgle og kan eksistere uafhængigt. For eksempel kan en "Student"-enhed identificeres entydigt af Student_ID uden at være afhængig af nogen anden enhed.

En svag enhed mangler sin egen primærnøgle og er afhængig af en stærk enhed (kaldet ejerenheden) for sin identifikation. Den bruger en delvis nøgle (diskriminator) kombineret med ejerens primære nøgle for at opnå unikhed. For eksempel afhænger en "transaktions"-enhed i et banksystem af en "konto"-enhed – transaktionsnummeret alene er ikke unikt på tværs af hele databasen, men kombineret med kontonummeret bliver det unikt.

Svage enheder

Stærk enhed Svag enhed
Har sin egen primærnøgle Har ikke en primærnøgle; bruger delvis nøgle
Repræsenteret af et enkelt rektangel Repræsenteret af et dobbelt rektangel
Primærnøgle er understreget med en solid linje Delvis toneart er understreget med stiplet linje
Kan eksistere uafhængigt Afhænger af ejerenheden for eksistens
Forbundet med enkelt diamantforhold Forbundet med dobbelt diamant (identificerende forhold)
Eksempel: Studerende, Medarbejder, Produkt Eksempel: Transaktion, Afhængig, Ordrevare

Relationship

En relation repræsenterer en association mellem to eller flere enheder. Relationer identificeres typisk ved hjælp af verber eller verbalfraser, der beskriver, hvordan enheder interagerer med hinanden. I ER-diagrammer repræsenteres relationer ved hjælp af diamantformer. Eksempel: Tom arbejder i kemiafdelingen.

Relationship

Enheder deltager i relationer. Vi kan ofte identificere relationer med verber eller verbum.

eksempler:

  • Du deltager i dette foredrag
  • Jeg holder foredraget
  • En studerende deltager i en forelæsning
  • En forelæser holder et foredrag

Attributter

En attribut er en egenskab eller et karakteristikum, der beskriver en enhed eller et forhold. Attributter giver de detaljerede oplysninger, der gør hver entitetsinstans unik og meningsfuld. I ER-diagrammer repræsenteres attributter ved hjælp af ovaler (ellipser), der er forbundet med deres overordnede enhed med en linje.

Attributter

For eksempel kan en Student-enhed have attributter som Student_ID, Name, Date_of_Birth, Email og Phone_Number.

Typer af attributter

Attributtype Produktbeskrivelse Eksempel
Simpel (Atomic) Kan ikke opdeles yderligere i mindre komponenter Telefonnummer, CPR-nummer, e-mail
Composite Kan opdeles i mindre underattributter Fulde navn (fornavn, mellemnavn, efternavn), adresse (gade, by, postnummer)
Afledt Værdien beregnes ud fra andre attributter; gemmes ikke direkte Alder (afledt af fødselsdato), samlet pris
Flerværdi Kan indeholde flere værdier for en enkelt enhed Telefon Numbers, E-mailadresser, Færdigheder
Nøgleegenskab Identificerer entydigt hver entitetsinstans (primær nøgle) Studie-ID, Medarbejder-ID, ISBN

Nøgle Tip: I ER-diagrammer vises nøgleattributter med deres navne understreget. Afledte attributter vises med stiplede ovaler, og flerværdiattributter vises med dobbelte ovaler.

Kardinalitet (relationstyper)

Kardinalitet definerer de numeriske begrænsninger for en relation – specifikt hvor mange forekomster af én enhed, der kan knyttes til forekomster af en anden enhed. Forståelse af kardinalitet er afgørende for at designe effektive databasestrukturer.

kardinalitet

1. En-til-en (1:1)

Én entitet fra sæt A kan højst være associeret med én entitet fra sæt B, og omvendt.

Eksempel: Én elev får tildelt præcis ét studie-ID, og ​​hvert studie-ID tilhører præcis én elev.

En-til-en kardinalitet

2. En-til-mange (1:N)

Én enhed fra sæt A kan være associeret med flere enheder fra sæt B, men hver enhed i B er kun associeret med én enhed i A.

Eksempel: En klasse består af flere elever.

En-til-mange kardinalitet

3. Mange-til-en (N:1)

Flere enheder fra sæt A kan associeres med én enhed fra sæt B.

For eksempel hører mange elever til i samme klasse.

Mange til én Kardinalitet

4. Mange-til-mange (M:N)

Flere enheder fra sæt A kan associeres med flere enheder fra sæt B, og omvendt.

For eksempel er studerende som en gruppe tilknyttet flere fakultetsmedlemmer, og fakultetsmedlemmer kan være tilknyttet flere studerende.

Mange til Mange Kardinalitet

ER-diagramsymboler og -notationer

ER-diagrammer bruger standardiserede symboler til at repræsentere forskellige komponenter. Selvom der findes flere notationssystemer, er de to mest anvendte Chen-notation og kragefodsnotation.

Chen-notation

Chen Notation, udviklet af Peter Chen i 1976, bruger geometriske former til at repræsentere forskellige elementer:

Symbol Navn Repræsenterer
rektangel Enhed Stærk enhed (f.eks. studerende, produkt)
Double rektangel Svag enhed Enhed afhængig af en anden (f.eks. transaktion)
Ellipse/Oval Attribut En enheds egenskab (f.eks. navn, ID)
Double Ellipse Flerværdiattribut Attribut med flere værdier (f.eks. Telefon Numbers)
Stiplet ellipse Afledt attribut Beregnet værdi (f.eks. alder fra fødselsdato)
Diamant Relationship Tilknytning mellem enheder (f.eks. tilmeldinger)
Double Diamant Identificering af forhold Forholdet til den svage enhed
Line Link Forbinder komponenterne sammen
Understreget tekst Primærnøgle Unik identifikator for enhed

Kragefodnotation

Kragefodsnotation (også kaldet IE-notation) bruges mere almindeligt i moderne databasedesignværktøjer. Den bruger forskellige linjeafslutninger til at repræsentere kardinalitet og er særligt effektiv til at vise "mange"-siden af ​​relationer.

Symbol Description Betydning
Enkelt lodret linje (|) Obligatorisk én (præcis én)
Cirkel med linje (O|) Valgfri En (nul eller en)
Kragefod med streg (>|) Obligatorisk Mange (en eller flere)
Kragefod med cirkel (>O) Valgfrit Mange (nul eller mere)

Chen-notation vs. kragefod: Hvornår skal man bruge hver af dem

Aspect Chen-notation Kragefodnotation
Bedste For Konceptuel modellering, akademisk brug Fysisk/logisk modellering, brug i industrien
Attributvisning Viser alle attributter visuelt Viser attributter i entitetsboksen
kardinalitet Bruger tal (1, N, M) Bruger visuelle symboler
Kompleksitet Kan blive rodet Mere kompakt og renere
Værktøjsstøtte Begrænset understøttelse af moderne værktøjer Bredt understøttet i værktøjer

Sådan opretter du et Entity Relationship Diagram (ERD)

I denne vejledning til ER-diagrammer (ERD) lærer vi, hvordan man opretter et ER-diagram. Følgende er trinnene til at oprette et ER-diagram:

Opret et Entity Relationship Diagram

Trin til at oprette et ER-diagram

Lad os studere dem med et Entity Relationship Diagram Eksempel:

På et universitet tilmelder en studerende sig kurser. En studerende skal være tildelt mindst ét ​​kursus. En enkelt professor underviser i hvert kursus. For at opretholde undervisningskvaliteten kan en professor kun levere ét kursus.

Trin 1) Enhedsidentifikation

Vi har tre enheder:

  • studerende
  • Course
  • Professor

Enhedsidentifikation

Trin 2) Relationsidentifikation

Vi har følgende to forhold:

  • Eleven er tildelt et kursus
  • Professoren leverer et kursus

Relationsidentifikation

Trin 3) Kardinalitetsidentifikation

Fra problemformuleringen ved vi, at:

  • En elev kan tildeles flere kurser
  • En professor kan kun levere en kursus

Kardinalitetsidentifikation

Trin 4) Identificer attributter

Du skal studere de filer, formularer, rapporter og data, som organisationen i øjeblikket vedligeholder, for at identificere attributter. Du kan også gennemføre interviews med forskellige interessenter for at identificere enheder. I starten er det vigtigt at identificere attributterne uden at knytte dem til en bestemt enhed.

Når du har en liste over attributter, skal du knytte dem til de identificerede enheder. Sørg for, at en attribut skal parres med præcis én enhed. Hvis du mener, at en attribut skal tilhøre mere end én enhed, skal du bruge en modifikator for at gøre den unik.

Når kortlægningen er færdig, skal du identificere de primære nøgler. Hvis en unik nøgle ikke er let tilgængelig, skal du oprette en.

Enhed Primærnøgle Attribut
studerende Studiekort Elevnavn
Professor Medarbejder-ID Professornavn
Course Course_ID Kursusnavn

Trin til at oprette et enhedsrelationsdiagram

For Kursusentitet kan attributter være Varighed, Kreditter, Opgaver osv. For nemheds skyld har vi kun betragtet én attribut.

Trin 5) Opret ERD'en

En mere moderne repræsentation af et eksempel på et entitetsrelationsdiagram:

Opret ERD-diagrammet

Bedste praksis for effektive ER-diagrammer

Følg disse retningslinjer for at oprette klare, vedligeholdelige og effektive ER-diagrammer:

  • Fjern redundans: Fjern dubletter af enheder, attributter eller relationer.
  • Brug klare navngivningskonventioner: Brug ensartede, beskrivende navne. Undgå forkortelser.
  • Valider i forhold til krav: Sørg for, at diagrammet understøtter alle datalagringsbehov.
  • Hold det simpelt: Opret flere diagrammer på forskellige niveauer i stedet for ét rodet diagram.
  • Brug farver sparsomt: Brug farver konsekvent til at fremhæve kategorier.
  • Dokumentforudsætninger: Medtag noter, der forklarer antagelser om forretningsregler.
  • Revmed interessenter: Få forretningsbrugere og det tekniske team til at gennemgå diagrammet.
  • Versionskontrol: Vedligehold versioner, efterhånden som designet udvikler sig.

ER-diagrammer vs. UML-klassediagrammer

Selvom både ER-diagrammer og UML-klassediagrammer bruges til datamodellering, tjener de forskellige formål og kontekster. Det er vigtigt at forstå, hvornår man skal bruge hver af dem, for at opnå et effektivt systemdesign.

Aspect ER diagram UML klassediagram
Primært formål Databasedesign Software-/objektdesign
Fokus Data og relationer Objekter, metoder og adfærd
Metoder/Operationer Ikke understøttet Fuldt understøttet
Arv Begrænset (kun i EER) Fuld støtte
Brug i industrien Databaseadministratorer, dataanalytikere Softwareudviklere, arkitekter

Ofte Stillede Spørgsmål

Et ER-diagram repræsenterer visuelt strukturen af ​​en database ved at definere enheder, deres attributter og relationer. Det hjælper designere, udviklere og interessenter med at sikre konsistens, integritet og effektivitet i datamodellering, før implementeringen begynder.

De to hovedtyper er konceptuelle ER-diagrammer (som skitserer relationer og enheder på overordnet niveau uden implementeringsdetaljer) og fysiske ER-diagrammer (som beskriver faktiske databasestrukturer, datatyper, nøgler og begrænsninger for implementering).

Sådan opretter du et ER-diagram: (1) Identificer nøgleenheder ud fra dine krav, (2) Bestem relationer mellem enheder, (3) Tildel kardinaliteter baseret på forretningsregler, (4) Definer attributter for hver enhed, (5) Identificer primære nøgler, og (6) Tegn diagrammet ved hjælp af passende notation.

Valget afhænger af din kontekst. Chen-notation er bedst til konceptuelt design og akademiske sammenhænge, ​​mens kragefodsnotation foretrækkes til logisk/fysisk design i industrielle sammenhænge. De fleste moderne databaseværktøjer understøtter kragefodsnotation.

En stærk enhed har sin egen primære nøgle og kan eksistere uafhængigt. En svag enhed mangler en primærnøgle og er afhængig af en stærk enhed for sin identifikation ved hjælp af en kombination af ejerens primære nøgle og sin egen delvise nøgle (diskriminator).

I cloud-DBMS-platforme styrer ER-diagrammer automatiseret provisionering, skalering og forespørgselsorkestrering. De gør det muligt for AI-drevne værktøjer at justere datastrukturer med arbejdsbyrdeforudsigelser og brugerefterspørgsel i realtid, hvilket forbedrer systemets effektivitet.

Selvom generativ AI kan foreslå indledende ER-modeller ud fra forretningskrav eller eksisterende datasæt, er menneskelig overvågning fortsat afgørende for at validere relationer, håndhæve begrænsninger, sikre logisk sammenhæng og verificere overensstemmelse med faktiske forretningsregler i produktionssystemer.

Mange-til-mange-relationer kan ikke implementeres direkte i relationelle databaser. Du skal oprette en associativ enhed (junction-tabel), der opdeler M:N-relationen i to 1:N-relationer. Denne junction-tabel indeholder fremmednøgler, der refererer til begge de oprindelige enheder.

Opsummer dette indlæg med: