ER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002



Relaterede dokumenter
Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Normalisering, del 2

Funktionel afhængighed

UML til kravspecificering

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 4: Mere om E-R modellering. 24. februar Forelæser: Rasmus Pagh

Information Integration

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar Forelæser: Rasmus Pagh

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Design ved normalisering

Kommentar fra KMS til Specifikation af Serviceinterface for Person

Nogle grundlæggende begreber

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Om begrebet relation

Tema Titel Materiale 1 IS i sundheds-sektoren Patientdatas anvendelighed Lynge et al.

Databaser. Område / Specialefag nr Database, design og programmering Datatekniker Infra & Prog IT-Supporter AMU Kursister

Objektorientering. Programkvalitet

Dagens program. Afsnit Eksperimenter med usikkerhed Sandsynlighedsmodel - Udfaldsrum - Hændelser - Sandsynligheder Eksempler

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

Introduktion til programmering

Metodehåndbog. Begrebsmodeller, Informationsmodeller og Begrebsdefinitioner. Udarbejdet i fællesskab mellem Udbetaling Danmark/KL/KOMBIT

DEN GODE MODEL: OPSAMLING PÅ MODELLERINGSOPGAVER OG INTRO TIL MODELLERINGSALTERNATIVER

Henrik Bulskov Styltsvig

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig eksamen i kurset. Informationssystemer

Brugerportalinitiativets rollekatalog og ændringer i UNI- Login webservices

Kapitel 3: Præferencer. Hvordan skal vi modellere præferencer?

2 Abstrakte datatyper.

Repræsentation af tal

Noter til Perspektiver i Matematikken

Mere om differentiabilitet

Lad os som eksempel se på samtidigt kast med en terning og en mønt:

Henrik Bulskov Styltsvig

Database. Pr jekt. Hold CLmul-a14e Gruppe 3 3. semester Vejledere: Tue Becher Ivan R. Frederiksen

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

UNI Et eksempel på anvendelse af teknikker til Struktureret Analyse og Design

Klasser og Objekter i Python. Uge 11

Statistik. Hjemmeside: kkb. Statistik - lektion 1 p.1/22

Mobning, konflikter og skænderier på arbejdspladsen Mobning blandt læger Mobning køn Mobning aldersfordelt... 5

Regulære udtryk og endelige automater

Vejledning til kontering af udgiftsbilag

Begrebsarbejde som forudsætning for datamodellering

Skriftlig eksamen i Datalogi

Opgaver i Regelbaserede Ekspertsystemer

Informations- og datamodellering

GIS-OIS INTEGRATION BRUGERMANUAL, VERSION 2 I G I S

Rename og redefine. Abstrakte klasser. Dynamisk binding.

Videregående Programmering for Diplom-E Noter

Repræsentation af tal

Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S

Statistik Lektion 2. Betinget sandsynlighed Bayes regel Diskrete stokastiske variable Middelværdi og varians for diskret SV Binomialfordelingen

Tree klassen fra sidste forelæsning

Gruppeteori. Michael Knudsen. 8. marts For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel.

Personaleomsætning september

Grammatik Personlige pronominer Institutionaliserede præpositioner

Software Projekt NoSQL vs RMDB

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Danskernes fuldkornsindtag

SYNTAKS FOR EGENSKABER I KODESTRENG

(fig.1. Eksempel på en almindelig entity)

Smagsprøve. Databasedesign med Access 2000

DEL 1 - INDLEDNING...1

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Statistik Lektion 1. Introduktion Grundlæggende statistiske begreber Deskriptiv statistik

Repræsentation af tal

Vurdering af kvalitet en note af Tove Zöga Larsen

Rapport - Trivselsundersøgelsen Rådhuset. Sådan læses rapporten Rapporten er opdelt i flg. afsnit:

Transkript:

Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

ER-modellen ER-modellen, (Entity-Relationship-modellen) modellerer problemområdet / den virkelige verden ved entiteter (entities), som personer, konti, og sammenhænge (relationships), som udfører, ejer, findes i mange varianter notation (normalt) ved diagrammer ER-diagram Database-skema Navn Pnr Navn Nr Studerende Studerer Fag Troels Andreasen 2

ER-Model, vigtigste begreber Skema: Entitets-type Attribut Sammenhæng Forekomst: Entitet Attribut-værdi Sammenhængsforekomst Troels Andreasen 3

Entitet Skema: Entitets-type (Entitetsmængde): en type for / mængde af ensartede entiteter Eksempel, Entitets-type: person konto Notation, Entitetstype: Forekomst: Entitet: en "ting", der kan skelnes og har begrebsmæssig eksistens Eksempel, Entitet: en given person: Peter en given bankkonto: Peters bankkonto Troels Andreasen 4

Attribut Skema: Attribut størrelse, der tilknyttes en entitets-type Kan tilknyttes et domæne Eksempel, attribut entitet: person, attribut: navn, domæne: {Peter, L, } entitet: person, attribut: køn, domæne: {mand, kvinde} entitet: bankkonto, attribut: saldo, domæne {reelle tal} Notation, attribut: Navn Køn Forekomst: Attribut-værdi størrelse der er tilknyttet en entitet Eksempel, Attribut-værdi. for given person, navnet: "Peter" for given person, kønnet: "mand" for given bankkonto, saldoen: - 2750,42 Troels Andreasen 5

Sammenhæng Skema: Sammenhæng (Relationship): En ordnet liste E 1,, E n af entitets-typer En given entitets-type kan optræde flere gange Notation, sammenhæng; binær (grad 2): ejer Bil n-ær (grad n): E 2 E 3 Forekomst: Sammenhængs-forekomst (sammenhængs-mængde): For sammenhæng S imellem entitetstyper E 1,, E n en mængde M af k-tupler hvert element (e 1,, e n ) i mængden M udpeger præcist et element fra hver entitetstype betyder at (e 1,, e n ) har sammenhængen S E 1 S E n Troels Andreasen 6

Sammenhæng Sammenhæng - produktbetragtning En sammenhæng er en delmængde af et kartesisk produkt, kan således noteres i tabel med kolonne pr. entitetstype f.eks. "ejer" delmængde af person bil ejer Bil "mor" delmængde af person person person bil mor person person S delmængde af E 1 E k E E 3 2 E 1 E 2 E n E 1 S E n Troels Andreasen 7

Sammenhæng Skema: Eksempel, sammenhæng: "ejer", på entitets-typerne (person, bil) ejer Bil Forekomst: Eksempel, sammenhængsforekomst: forekomst af ejer": person peter hanne bil volvo fiat "har-mor", på entitets-typerne (person, person) har-mor forekomst af "har-mor": person peter person l line l Troels Andreasen 8

Sammenhæng, Multiplicitet Multiplicitet (eller kardinalitet) begrænsning på tilladte sammenhængs-forekomster Skema: Notation en-til-en Studerende Studerer Fag Forekomst: mange-til-en Studerende Studerer Fag mange-til-mange Studerende Studerer Fag Troels Andreasen 9

Sammenhæng, Multiplicitet Læsning (læs begge veje) en-til-en Studerende Studerer Fag en studerende læser ét fag et fag læses af én studerende en-til-mange Studerende Studerer Fag mange-til-mange en studerende læser ét fag et fag læses af mange studerende Studerende Studerer Fag en studerende læser mange fag et fag læses af mange studerende Troels Andreasen 10

Sammenhæng, grad 2, 3,? grad for sammenhæng (antal indgående relationer) oftest binær (n=2), som i "ejer" og "har-mor" (ovenfor) indimellem ternær (n=3).: sjældent n 4 Eksempel med grad n = 3 Forskel på? to binære Hvem leverer vare v2 til projekt p1? Leverandør Projekt leverandør vare vare projekt l1 v1 v1 p1 leverer Vare leveres-til l1 l2 v2 v2 v2 v2 p1 p2 en ternær Leverandør leverance Projekt leverandør vare projekt l1 v1 p1 Vare l2 l2 v2 v2 p1 p2 Troels Andreasen 11

Sammenhæng, fra n-ær til binær sammenhæng S med grad n > 2 kan konverteres til entitetstype med n mange-til-en relationer til entitetstyperne i S (svarende til tabellen for sammenhængen) Eksempel leverance som ternær sammenhæng Leverandør leverance Projekt Vare leverance som entitetstype med binære sammenhænge leverance leverandøren varen projektet Leverandør Vare Projekt Troels Andreasen 12

Sammenhæng, roller Rolle (på kant/komponent) når samme entitet optræder flere gange i en sammenhæng Skema: barn har-mor mor Forekomst: af "har-mor" person (barn) b1 b2 b3 person (mor) m1 m1 m2 1 ven-med 2 Egenskaber? symmetrisk, refleksiv, transitiv, af "ven-med" person(1) p1 p2 p1 p3 p2 p1 person(2) Troels Andreasen 13

Sammenhæng Attribut på sammenhæng i princippet ikke korrekt, men i praksis ofte anvendt med følgende "semantik": Karakter Studerende Følger Kursus "forkortet" repræsentation for hvilket???: Karakter 13-skala Studerende Følger Kursus Troels Andreasen 14

Subklasse** subklasse = special-tilfælde = flere egenskaber = færre forekomster A subklasse af B A specialisering af B (eller B generalisering af A) flere egenskaber (attributter): B's + (evt.) ekstra specielle færre forekomster: alle A er B kun nogle B er A Subklasse, Notation: B **(Subklasse betegnes indimellem også "subtype") A Troels Andreasen 15

Subklasse person specialiseres i ansat og studerende ansat er en person ansat har færre forekomster og flere egenskaber end person studerende er en person studerende har færre forekomster og flere egenskaber end person Ansat Studerende Pnr Navn Løn Ansat Studerende Status Troels Andreasen 16

Subklasse, fortolkning i ER ER subklasse en entitet har en repræsentant i enhver klasse som den logisk tilhører, f.eks hvis Peter er ansat, så er han repræsenteret ved en forekomst i både Ansat og i entitetstyperne dens egenskaber (attributter) er foreningen af egenskaberne fra de entitetstyper som den tilhører, f.eks. Peter har en Løn der står i Ansat og et Pnr og et Navn der står i objekt-orienteret subklasse (til sammenligning) en entitet er repræsenteret i netop én subklasse, f.eks hvis Peter er ansat, så er han repræsenteret ved en forekomst i Ansat subklassen har arvet egenskaber fra dens superklasser, f.eks. Peter har en Løn, et Pnr og et Navn der alle står i Ansat (de to sidste er arvet fra ) Løn Ansat Studerende Pnr Navn Ansat Studerende Status Peter Troels Andreasen 17

Subklasse Multibel nedarvning, eksempel: Pnr Navn Ansat Studerende Hjælpelærer Løn Multibel nedarvning strengt taget en overflødig konstruktion bruges derfor normalt ikke giver potentielt konflikter hvis f.eks. samme attribut forekommer i flere superklasser Ansat Studerende Hjælpelærer Status Troels Andreasen 18

Subklasse opdelingstype nogle ER-notationer skelner subklasser på: disjunkte overlappende f.eks. denne notation: hvor d = disjunkt og man KAN IKKE både være ansat og studerende o = overlappende man KAN GODT være ansat og studerende Ansat alternative notationer (IKKE fra bogen): Studerende d o Ansat Studerende Ansat Studerende Troels Andreasen 19