Et enhetsrelasjonsdiagram er en spesialisert grafikk som illustrerer relasjonene mellom enheter i en database. ER-diagrammer bruker symboler for å representere tre typer informasjon: enheter (eller konsepter), relasjoner og attributter.
Hva er enhetsrelasjonsdiagrammer?
I industristandard ER-diagrammer representerer rektangler eller firkanter entiteter, som er tabeller som inneholder spesifikk informasjon i en database. Diamanter representerer relasjoner, som er interaksjonene mellom enhetene. Ovaler representerer attributter eller data som beskriver en enhet.
Selv om entitetsforholdsdiagrammer kan se kompliserte ut, hjelper disse diagrammene kunnskapsrike brukere med å forstå databasestrukturer på et høyt nivå uten medfølgende detaljer. Databasedesignere bruker ER-diagrammer for å modellere relasjonene mellom databaseenheter i et klart format. Mange programvarepakker har automatiserte metoder for å generere ER-diagrammer fra eksisterende databaser.
Entity-Relationship Diagram Eksempel
Tenk på eksemplet med en database som inneholder informasjon om innbyggerne i en by. ER-diagrammet vist i bildet nedenfor inneholder to enheter i rektangler: «Person» og «By». Et enkelt "Lives In"-forhold i diamanten binder de to sammen. Hver person bor i bare én by, men hver by kan huse mange mennesker. I eksempeldiagrammet er attributter vist i ovaler personens navn og byens befolkning.
Substantiv brukes til å beskrive enheter og attributter, mens verb brukes til å beskrive relasjoner.
Entities Are Objects That Are Tracked
Hvert element som spores i en database er en enhet, og hver enhet er en tabell i en relasjonsdatabase. Vanligvis tilsvarer hver enhet i en database en rad.
Hvis en database inneholder navn på personer, kan dens enhet kalles "Person". En tabell med samme navn vil eksistere i databasen, og hver person vil bli tildelt en rad i "Person"-tabellen.
Attributter Describe Entities
Databaser inneholder informasjon om hver enhet. Denne informasjonen omtales som attributter. Attributter består av informasjon som er unik for hver enhet som er oppført. I «Person»-eksemplet kan attributter inkludere fornavn, etternavn, fødselsdato og et identifikasjonsnummer.
Attributter gir detaljert informasjon om en enhet. I en relasjonsdatabase holdes attributter i feltene der informasjonen i en post lagres. En database er ikke begrenset til et spesifikt antall attributter.
Relasjoner holder dataene sammen
Verdien av et entitetsrelasjonsdiagram ligger i dets evne til å vise informasjon om relasjonene mellom enheter. I eksemplet kan informasjon om byen der hver person bor spores. Informasjon om byen i en "City"-enhet med et forhold som knytter sammen "Person" og "City"-informasjon kan også spores.
Det er tre typer relasjoner mellom enheter:
- One-to-One: Noen ganger er en enkelt enhet assosiert med en enkelt annen enhet. For eksempel har hver ansatt i en database bare ett personnummer, og nummeret er unikt.
- One-to-Many: En enkelt enhet kan også være relatert til flere andre enheter. For eksempel har et avdelingskontor og alle de ansatte som jobber i den avdelingen et en-til-mange forhold.
- Many-to-Many: Flere enheter kan være relatert til flere andre enheter. For eksempel kan et selskap produsere tre produkter, og ha en selger som selger disse produktene. Noen av selgerne kan dele tiden sin mellom produktene.
Hvordan lage et akuttskjema
Før du designer en relasjonsdatabase, er det fornuftig å lage et ER-diagram. Du kan ha programvare som er utstyrt for å håndtere denne prosessen. Hvis ikke, sett penn (eller blyant) på papir, eller finn et program som kan håndtere kartleggingskravene.
For å lage et ER-diagram for hånd:
- Lag en rektangulær boks for hver entity eller konsept som er relevant for modellen din.
- Tegn linjer for å koble sammen relaterte enheter for å modellere relationships. Merk relasjonene ved hjelp av verb inne i diamantformer.
- Identifiser de relevante attributtene for hver enhet, begynn med de viktigste attributtene, og skriv dem inn i ovaler i diagrammet. Senere kan du gjøre attributtlistene mer detaljerte.
Når du er ferdig har du illustrert hvordan ulike konsepter forholder seg til hverandre, og du har et konseptuelt grunnlag for utformingen av en relasjonsdatabase.