ER-diagrammering

Download Report

Transcript ER-diagrammering

Beskrivelses- og analyse-teknikker
understøttet af Oracle Designer
Del 1 af 2:
E/R-diagrammering
Aalborg Universitet, d. 6. oktober 2006
B ent Mølle r Ma dse n
CASE-værktøjer
Computer Aided Software Engineering
Udvikling af software som en videnskab
IT-understøttelse af en eller flere faser i
udviklingsprocessen
Dokumentation af udviklingen
Udviklingsprocessen
Problemstilling
Analyse
Design
Konstruktion
Dokumentation
Test/Indkøring
Produktion
Opbygning af database & applikation
E/R-diagram
Database Design
Transformer
Databasedesign
Database
Generator
Database
CRUDmatrix
Funktionsdiagram
Applikations Design
Transformer
Applikationsdesign
Applikations
Generator
Applikation
(APEX)
Procesdiagram
E/R-diagrammer
En model over betydende entiteter/objekter i en
organisation, disses egenskaber og relationer.
Formål med et E/R-diagram:
Skabe en model over databehovet inden for et
afgrænset område i en organisation
Skabe et fundament for udviklingen af applikationer
Uafhængig af den tekniske løsning
E/R-diagram konventioner
Peter P. Chen
The Entity-Relationship Model - Toward a Unified
View of Data (1976)
Charles Bachman
James Martin
IDEF1X
Information Engineering Methodology
Richard Barker
Oracle Custom Development Methodology
Unified Modeling Language (UML)
Chen
Att.
Att.
Entitet
Att.
Att.
1
Rel.
N
Att.
Entitet
Att.
N
Rel.
1
Entitet
Att.
Att.
Att.
CASE*Method
ENTITET A
# * attribut a
* attribut b
º attribut c
ENTITET B
navn 1
navn 2
# * attribut a
º attribut b
º attribut c
navn 1
navn 2
ENTITET C
# * attribut a
* attribut b
º attribut c
E/R-diagrams bestanddele
Unik identifikator
MEDLEMSKAB
Entitet
KUNDE
# * kundenr
* fornavn
tilhøre
* efternavn
have
o email
Attributter
Relationer
FIRMA
tilhøre
LEVERANDØR
Subentitet
have
består af
Exclusive Arc
Superentitet
PARTNER
del af
Rekursiv
relation
E/R-Diagram (Entitet)
En entitet er et objekt af betydning for
virksomheden.
Eks.: Medarbejder, ordre, afdeling etc.
ENTITET A
E/R-Diagram (Attribut)
En attribut beskriver væsentlige egenskaber
ved entiteten
Eks.: navn, adresse, ordrenr, antal etc.
ENTITET A
attribut a
attribut b
attribut c
E/R-Diagram (Attribut)
En attribut kan være henholdsvis mandatory
(*) eller optionel (°), der beskriver, om
attributen skal indeholde en værdi.
Et # betyder at attributen (eller attributterne)
er den unikke identifikator for entiteten.
ENTITET A
# * attribut a
* attribut b
º attribut c
E/R-Diagram (Relation)
En relation er en navngivet betydningsfuld
forbindelse mellem to entiteter (eller en
rekursiv relation på en enkelt entitet)
I en relationsdatabase bliver relationer til nye
kolonner og tilhørende fremmednøgler.
ENTITET A
# * attribut a
* attribut b
º attribut c
ENTITET B
navn 1
# * attribut a
navn 2
º attribut b
º attribut c
E/R-Diagram (Relation)
Relationer er bestemt ved deres optionalitet og
kardinalitet:
Optionalitet:
Mandatory - skal
Optional - kan
Kardinalitet:
En eller flere
En og kun en
E/R-Diagram (Relation)
Eks. på at læse en relation fra hver sin ende:
1: Hver forekomst af ordrelinie skal bestå af en og kun en vare.
2: Hver forekomst af vare kan stå på en eller flere ordrelinier.
bestå af
ORDRELINIE
# * attribut a
* attribut b
VARE
bestå af
# * attribut a
stå på
º attribut c
º attribut b
º attribut c
stå på
E/R-Diagram (Relation)
En relation skal kunne forstås ved at læse
relationen udfra optionalitet, kardinalitet og
navnet på relationen.
Hver foreentitet 1
komst af
Subjekt
entitet
skal
eller
kan
relation
rolle
Optionalitet
Navn
(udsagnsord &
forholdsord)
en eller flere
eller
en og kun en
Kardinalitet
entitet 2
Objekt
entitet
E/R-Diagram (Relation)
En-til-mange relationer
De oftest forekommende relationer
En-til-en relationer
Relativt sjældne relationer
Tjek om attributterne ikke kan samles i én entitet
Mange-til-mange relationer
Ofte forekommende i starten af analysefasen
Konvertering af E/R-diagram til databasediagram
medfører at mange-til-mange relationer opløses til
nye tabeller
Tjek om disse forinden bør opløses til nye
entiteter med ekstra attributter i E/R-diagrammet
E/R-Diagram (Relation)
Yderligere informationer der kan udtrykkes i
relationer:
En relation der er del af den unikke identifikator
Transferability (kan relationer ændres)
E/R-Diagram (Relation)
Specielle relationer:
En rekursiv relation (”griseøre”) udtrykker et hierarki
i entiteten.
navn 1
ENTITET A
# * attribut a
* attribut b
º attribut c
navn 2
E/R-Diagram (Relation)
Specielle relationer
En ”exclusive Arc” viser, at entitet A kan/skal have en
relation til enten entitet B eller entitet C.
ENTITET A
# * attribut a
* attribut b
ENTITET B
# * attribut a
* attribut b
ENTITET C
# * attribut a
* attribut b
E/R-Diagram (Entitet)
Entiteter kan opbygges indeni hinanden,
hvorved de kaldes super- og subentiteter.
En superentitets egenskaber (attributter og
relationer) arves af alle subentiteter
ENTITET A
ENTITET B
ENTITET C
E/R-Diagram
Normalisering
Optimering af et databasedesign
Undgå redundans
Normaliser til 3. normalform eller BCNF
Opbygning af en database
E/R-diagram
Databasedesign
Database
Sammenhæng mellem E/R-diagram
og databasedesign
E/R-diagram
Databasedesign
Entitet
Tabel
Attribut
Kolonne/felt
Forekomst/instans
Række/post
Relation
Fremmednøgle/(tabel)
Unik identifikator
Primærnøgle