ER model
Inden for datalogi , i forbindelse med databasedesign , er enhedsrelationsmodellen [1] (eller enhedsassociationsmodellen ; mere almindeligt ER-modellen ) en teoretisk model for den konceptuelle og grafiske repræsentation af data på et højt abstraktionsniveau , formaliseret af Peter Chen i 1976 [2] .
Entity-relationship-modellen bruges ofte i den første fase af design af en database, hvor det er nødvendigt at oversætte informationen fra analysen af et givent domæne til et konceptuelt skema, kaldet entity-relationship diagram (eller ER-diagram ) ). [3]
Inden for database engineering design er der tre uafhængige og på hinanden følgende niveauer af design: konceptuelt design, logisk design, fysisk design. Helt korrekt er ER-modellen hovedteknikken for den konceptuelle designfase, den relationelle model for den logiske designfase. Kun i den sidste fase af det fysiske design tages der hensyn til software- og hardwareapplikationer , proprietære eller ej, der findes på markedet.
Generel information
ER-modellen er baseret på et sæt af begreber, der er meget tæt på virkeligheden af interesse : derfor let at forstå af designere (og generelt betragtet som tilstrækkeligt forståelige og betydningsfulde selv for ikke-teknikere), men ikke implementerbare på computere . Selv om modellen er orienteret mod design af databaser, er den faktisk uafhængig af de specifikke kriterier for fysisk organisering af persistente data i it-systemer . Der er teknikker til at oversætte begreber på højt niveau (bedre forstået af mennesker) til begreber på lavere niveau, der er typiske for de forskellige logiske modeller (for eksempel den relationelle model ), implementeret i de forskellige eksisterende DBMS'er .
ER-modellen har i lang tid (og måske stadig i dag) repræsenteret en af de mest solide tilgange til modellering af applikationsdomæner på IT-området; af denne grund er den også ofte blevet brugt uden for konteksten af databasedesign og er blevet brugt som referencemodel for adskillige andre modelleringsnotationer. OMT- notationen var blandt andet inspireret af ER-modellen og senere fusioneret til UML .
Gennem en identifikations-supernøgle (felter: overordnet kode_ID, underordnet kode_ID) repræsenterer Entity-Association-skemaet en trægraf på et vilkårligt antal niveauer (især også en stykliste ), meget almindeligt i computerverdenen. Sunburst-diagrammet tillader en nem og udbredt grafisk repræsentation af hierarkiske data.
De vigtigste konstruktioner af modellen
Analyse af ER-modellens hovedkonstruktioner: entiteter, associationer og attributter.
Entitet
De repræsenterer klasser af objekter (fakta, ting, mennesker, ...), der har fælles egenskaber og autonom eksistens med det formål at anvende interesse. En forekomst af en enhed er et objekt eller en forekomst af den klasse, som entiteten repræsenterer. Vi taler her ikke om den værdi, der identificerer objektet, men om selve objektet. En interessant konsekvens af dette faktum er, at en enhedsforekomst har en eksistens uafhængig af de egenskaber, der er forbundet med den. Heri præsenterer ER-modellen en markant forskel fra den relationelle model, hvor vi ikke kan repræsentere et objekt uden at kende nogle af dets egenskaber.
I et diagram har hver enhed et navn, der entydigt identificerer den og er repræsenteret grafisk ved hjælp af et rektangel med navnet på enheden indeni.
Forening
Associationer (også kaldet relationer) repræsenterer en forbindelse mellem to eller flere enheder. Antallet af relaterede enheder er angivet ved graden af tilknytning: en god ER-ordning er karakteriseret ved en udbredelse af foreninger med grad to. Det er muligt at binde en entitet til sig selv (gennem en ringassociation), samt at binde de samme entiteter med flere associationer.
Det er normalt repræsenteret grafisk af en diamant, der indeholder navnet på foreningen. Navneordet kan være et verbum for at give en læseretning, eller det kan være et navneord for ikke at give en læseretning. Den seneste akademiske og faglige orientering har en tendens til at bruge navneordet netop for at undgå at give en retning til foreningen.
Attributter
Enheder og associationer kan beskrives ved hjælp af et sæt attributter. Alle objekter af samme enhedsklasse (eller forening) har de samme attributter - det er det, vi mener, når vi taler om lignende objekter. Valget af attributter afspejler det detaljeringsniveau, som vi ønsker at repræsentere information om enheder og relationer med. En nøgle er defineret for hver enhedsklasse eller forening. Nøglen er et minimalt sæt attributter, der unikt identificerer en forekomst af entitet eller tilknytning. Attributten er repræsenteret med en ellipse, indeni hvilken attributtens navn er specificeret eller endda ganske enkelt, i tilfælde af komplekse diagrammer, kun angiver navnet, muligvis i korrespondance. Hvis der er tale om en primær nøgle, er attributnavnet understreget eller indkredset.
Andre modelkonstruktioner
Kardinalitet af foreninger
De er specificeret for hver enhed, der deltager i en sammenslutning og angiver, hvor mange gange, i en tilknytning mellem enheder, en forekomst af en af disse enheder kan knyttes til forekomster af de andre enheder, der er involveret i sammenslutningen (angiver minimum og maksimum af forekomster ).
Attributkardinalitet
Det er også muligt at definere kardinalitetsbegrænsninger på attributter med to formål:
- angive valgfrihed;
- angive attributter med flere værdier.
Hvis begrænsningsspecifikationen mangler, som det er tilfældet i de fleste tilfælde, er attributtens kardinalitet (1,1). Lad os overveje følgende eksempel:
Da kardinalitetsbegrænsningsspecifikationen mangler i navnet, betyder det, at kardinaliteten er (1,1).
- (0,1) NumeroPatente betyder det, at en medarbejder kan have kørekort, men heller ikke have det, eller rettere sagt, at en medarbejder højst kan have kørekort.
- (0, n) NumeroTelefono, betyder, at en medarbejder kan have mange telefonnumre, men han kan heller ikke have noget telefonnummer.
- (1, n) TitleStudio betyder det, at en medarbejder kan have mange kvalifikationer, men skal have mindst én.
Enhedsidentifikatorer
De udgør en delmængde af attributterne for en enhed, der unikt identificerer hver forekomst af den samme enhed. Et eksempel kan udgøres af CodiceFiscale-attributten for CittadinoItaliano-enheden. Det er faktisk kendt, at enhver forekomst af CittadinoItaliano-enheden, det vil sige enhver borger, der er bosat i Den Italienske Republiks område, utvetydigt kan identificeres ved hans skattelovgivning. Det betyder, at der ikke kan være to italienske statsborgere med samme skattekode (medmindre der er tale om homokodi ).
Generaliseringer
De repræsenterer logiske forbindelser mellem to eller flere enheder. Blandt de involverede enheder skiller følgende sig ud:
- én og kun én moderenhed;
- en eller flere underordnede enheder.
Underordnede enheder er "særlige tilfælde" af moderenheden. Hver attribut for den overordnede enhed er også en attribut for underordnede enheder, men underordnede enheder kan have attributter, der adskiller dem fra deres far og søskende. Følgende eksempel viser, at:
- hver person er identificeret ved en skattekode og er karakteriseret ved et efternavn, et navn og en alder;
- hver person skelnes i mand eller kvinde;
- militær stilling kan også vurderes.
Generaliseringer er opdelt i "total" og "delvis". En generalisering er total, når foreningen af undergrupperne af børnene udgør hele faderen. For eksempel er generaliseringen fra person til mand eller kvinde total, da alle mennesker er enten mænd eller kvinder, og derfor opnår vi sættet af mennesker ved at kombinere undergrupperne af mænd og kvinder. En generalisering er delvis, når på den anden side foreningen af undergrupperne af børnene ikke globalt identificerer faderens sæt. For eksempel er en overordnet enhed Bevægelsesmidler med børnenhederne Cykel og Automobil en delvis generalisering, da der ud over cykler og biler er andre bevægelsesmidler såsom knallerter, tog, skibe osv. Sammenlægningen af cykel- og bilundersættene er derfor ikke tilstrækkelig til at identificere det overordnede sæt af bevægelsesmidler.
En generalisering kan også være "eksklusiv" eller "overlappende". En generalisering er eksklusiv, når skæringspunktet mellem undergrupperne af børnene er tomt; den overlappes i stedet, når skæringspunktet mellem undergrupperne af børnene ikke er tomt. En overordnet enhed Arbejder med underordnede enheder Medarbejder og Studerende identificerer en overlappende generalisering, idet der kan være medarbejdere, der samtidig er studerende. Afslutningsvis kan en generalisering være:
- total eksklusiv (t, e);
- total overlejret (t, s);
- delvis eksklusiv (p, e);
- delvis overlejret (p, s).
Nogle gange kan forkortelserne (t, e) og sidstnævnte netop angivet forekomme i ER-skemaerne for at tilføje information om typen af generalisering; deres brug inden for det grafiske ER-skema er dog ikke bindende.
Entitet – attribut – værdi (EAV) datamodel
En Entity – attribute – value (EAV) datamodel bruges med fordel i tilfælde, hvor databaserne består af:
- enkelte attributter af variabel type over tid;
- hundredvis af tabeller eller kategorier af variabel størrelse over tid, men som inden for dem er opbygget af nogle få tiere rækker eller forekomster; og et relativt lille antal tabeller, men hver med tusinder eller millioner af rækker eller forekomster.
Inden for business intelligence kan en informationsstruktur af denne type være en flerdimensionel OLAP-terning , hvoraf brugeren ofte skal tilføje en eller anden dimension af analyse, af et uforudsigeligt antal og variabel over tid: EAV-tabellerne giver en sammenfattende repræsentation, når de data, der skal analyseres, er ekstremt spredte, for eksempel i en biomedicinsk videnbase. Den samme EAV-model kan også bruges til at importere EAV-tabeller direkte i OLAP-kuben [4] .
En ER-model ville have grænsen til at styre alle tabellerne på den sædvanlige måde, selv fra et visuelt synspunkt, uanset deres størrelse og betydning. Entitet – attribut – værdimodellen er en datamodel, der overvinder denne grænse og tillader begreber at blive repræsenteret på en it- effektiv måde i situationer, hvor individuelle entiteter er beskrevet af et antal attributter (egenskaber eller parametre) relativt meget mindre end dem, der potentielt er egnede til en effektiv konceptuel og logisk repræsentation .
ER Skematisk dokumentation
Et ER-skema er næsten aldrig tilstrækkeligt alene til at detaljere alle aspekter af en applikation af forskellige årsager. Først og fremmest vises kun navnene på de forskellige begreber, der er til stede i et ER-skema, men dette kan være utilstrækkeligt til at forstå deres betydning. Ved særligt komplekse skemaer kan det ske, at du ikke er i stand til at repræsentere de forskellige begreber på en forståelig og udtømmende måde.
Af denne grund er det vigtigt at forsyne hvert ER-skema med understøttende dokumentation, der kan tjene til at lette fortolkningen af selve skemaet og til at beskrive egenskaber fra de repræsenterede data, som ikke direkte kan udtrykkes af modelkonstruktionerne. Derfor er det nødvendigt at have værktøjer til at fuldføre ordningen.
Forretningsregler
Et af de værktøjer, der er mest brugt af informationssystemanalytikere til beskrivelse af egenskaber ved en applikation, som ikke kan repræsenteres direkte med konceptuelle modeller, er forretningsreglerne . Denne betydning stammer fra det faktum, at det, vi ønsker at udtrykke, i de fleste tilfælde kun er en regel for det særlige applikationsdomæne, vi overvejer.
Udtrykket forretningsregel bruges af analytikere med en bredere betydning for at angive enhver information, der definerer eller begrænser et eller andet aspekt af en applikation. Især baseret på en ret konsolideret klassifikation kan en forretningsregel være:
- beskrivelsen af et begreb, der er relevant for applikationen, eller den præcise definition af en enhed, egenskab eller tilknytning til ER-modellen
- en integritetsbegrænsning på applikationsdataene, det være sig dokumentationen af en begrænsning udtrykt med en eller anden konstruktion af ER-modellen (såsom kardinaliteten af en association) eller beskrivelsen af en begrænsning, der ikke kan udtrykkes direkte med modellens konstruktioner;
- en afledning eller et begreb, der kan opnås gennem en slutning eller en aritmetisk beregning fra andre begreber i skemaet.
For reglerne af den første type er det tydeligvis umuligt at definere en præcis syntaks, og generelt bruges sætninger i naturligt sprog. Disse regler er typisk repræsenteret i form af ordlister, der grupperer beskrivelserne passende.
De regler, der beskriver integritetsbegrænsninger og afledninger, er i stedet mere egnede til formelle definitioner med mere eller mindre kompleks syntaks. Men i betragtning af, at der ikke er nogen standardiseringer, og at enhver valgt formalisme risikerer ikke at være tilstrækkeligt ekspressiv, vil vi stadig bruge definitioner i naturligt sprog og sørge for at strukturere disse definitioner tilstrækkeligt. Især reglerne, der beskriver integritetsbegrænsninger, kan udtrykkes i form af påstande eller udsagn, der altid skal verificeres i vores database. Af hensyn til klarheden og for at lette deres konstruktion skal disse udsagn være atomare, det vil sige, at de ikke kan dekomponeres i sætninger, der stadig udgør udsagn. Da de desuden bruges til at dokumentere et ER-skema, skal påstandene angives deklarativt i en form, der ikke foreslår en metode til at opfylde dem. Dette er faktisk et erkendelsesproblem og derfor ikke relevant for konceptuel repræsentation. Derfor er notationer som hvis <tilstand> så <handling> ikke egnede til at udtrykke forretningsregler, når de dokumenterer et ER-skema. En foruddefineret struktur til at udtale forretningsregler i form af påstande kunne være følgende:
- <koncept> må / kan ikke <udtryk om begreber>
hvor de anførte begreber enten kan svare til begreber, der optræder i den ER-ordning, der henvises til, eller til begreber, der kan defineres af dem.
Forretningsregler, der udtrykker afledninger, kan udtrykkes ved at specificere operationer (aritmetiske eller andet), der gør det muligt at opnå det afledte begreb. En mulig struktur er derfor:
- <koncept> resulterer i <operation on concepts>
Dokumentationsteknikker
Dokumentationen af de forskellige begreber repræsenteret i et diagram eller de beskrivende forretningsregler kan fremstilles ved hjælp af en dataordbog. Den består af to tabeller: den første beskriver skemaentiteterne med navnet, en uformel definition i naturligt sprog, listen over alle attributter (med eventuelle tilhørende beskrivelser) og mulige identifikatorer. Den anden tabel beskriver foreningerne med navnet, deres uformelle beskrivelse, listen over attributter (med eventuelle beskrivelser) og listen over involverede enheder sammen med deres deltagelseskardinalitet.
For så vidt angår andre regler, kan du stadig bruge en tabel, hvori de forskellige regler er listet, og hver gang angive deres type. Det er vigtigt at repræsentere alle de regler, der beskriver begrænsninger, der ikke er udtrykt af ordningen, men det er nogle gange nyttigt også at repræsentere regler, der dokumenterer begrænsninger, der allerede er udtrykt i ordningen.
ER Schema Translation
Oversættelsen af ER-skemaet til et ækvivalent logisk skema (baseret på en logisk model, såsom den relationelle model ) , dvs. i stand til at repræsentere den samme information, er et grundlæggende trin i det logiske design , som normalt går forud for omstruktureringsfasen . af ordning ER . Hovedelementet i oversættelsen af et ER-skema til et ækvivalent logisk skema er det faktum, at relationer ikke eksisterer i relationsmodellen , derfor skal både entiteter og associationer oversættes til relationer gennem passende kodede regler baseret på de fastlagte hovedidentifikatorer i omstruktureringsfasen af ER-ordningen, foreningernes kardinalitet og tilstedeværelsen af eksterne identifikatorer.
Mens den forberedende fase af omstruktureringen af ER-ordningen kun kan automatiseres delvist , er forskellig software på markedet i stand til automatisk at udlede den tilsvarende relationelle ordning, den faktiske database , fra den omstrukturerede ER-ordning . En indlysende konsekvens af disse kendsgerninger, og naturligvis også af arten af de involverede modeller, er, at aktiviteten med automatisk at udlede et ER -skema fra det relationelle skema udledt på basis af den fysiske implementering af DB , en funktion stillet til rådighed af nogle software, tillader det generelt ikke at opnå den originale ER-ordning .
Navnet på hver enhed svarer til overskriften på en tabelmatrix, der har lige så mange kolonner, som der er attributter for enheden. Hvis attributten er en primær nøgle eller en del af en supernøgle, der er sammensat af flere attributter, kan den ikke antage NULL-værdien (ikke-valgfri, obligatorisk attribut) og kan ikke antage to forekomster af samme værdi (unikke, ikke-gentagne værdier).
Hvis tilknytningen mellem to eller flere entiteter har en eller flere attributter, vil tilknytningen normalt give anledning til en tabel, der som identifikationsnøgle har sættet af primære nøgler for alle de entiteter, der er forbundet med relationen (med enhver kardinalitet) og som felter attributter placeret på relationen i ER-ordningen. Denne passage, af logisk karakter, må ikke forveksles med tingsliggørelsen af en forening til en enhed, en passage med en begrebsmæssig karakter, som kan udføres i ER-ordningen.
I et andet trin kan antallet af tabeller reduceres betydeligt under hensyntagen til den maksimale kardinalitet (unitary, n-air), der forbinder to tabeller.
Noter
- ^ Udtrykket er en rollebesætning af den engelske enhedsforholdsmodel .
- ^ "Entity Relationship Model: Toward a Unified View of Data" for enhedsrelationsmodellering.
- ^ Mindre almindelig enhedsforholdsordning , selv sammenlignet med ER-ordningen .
- ^ Peter Thanisch , Tapio Niemi , Marko Niinimaki, Jyrki Nummenmaa, Using the Entity-Attribute-Value Model for OLAP Cube Construction , iKonferenceoplæg udvalgt i: Perspectives in Business Informatics Research: 10th International Conference , BIR 2011. Proceedings , Riga, Letland, 6. oktober 2011, DOI : 10.1007 / , ISCSN ACNP1486. Hentet 17. maj 2018 .
Bibliografi
- EF Codd, A Relational Model of Data for Large Shared Data Banks , IBM Research Laboratory, San Jose, Californien, Communications of the ACM - bind 13 / nummer 6 / juni 1970
- Atzeni, Ceri, Paraboschi, Torlone, Databaser (modeller og forespørgselssprog) , McGraw Hill, 2003
- Atzeni, Ceri, Fraternali, Paraboschi, Torlone, Databaser (Arkitekturer og Evolutionslinjer) , McGraw Hill, 2003
- Ramez Elmasri, Shamkant B. Navathe, Databasesystemer , grundlæggende , Pearson - Addison Wesley, 2003
Andre projekter
Wikimedia Commons indeholder billeder eller andre filer på entity-association modellen
