Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 1 af 2: E/R-diagrammering Aalborg Universitet, d. 6. oktober 2006 B e n t M ø l l e r M a d s e 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 Ssytemgenerering
Udviklingsprocessen Problemstilling Analyse Design Konstruktion Dokumentation Test/Indkøring Produktion
Opbygning af database & applikation E/R-diagram Database-design Database Database Design Transformer Database Generator Funktions-diagram Proces-diagram CRUD-matrix Applikations-design Applikation (APEX) Applikations Generator Applikations Design Transformer Analyse, Design og generering Upper-Case og Lower-Case Logisk og fysisk Repositorie 100% generering BPR
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. Att. Att. Att. 1 Rel. N Entitet Entitet Att. N Rel. 1
CASE*Method ENTITET A ENTITET B # * attribut a * attribut b º attribut c º attribut b navn 1 navn 2 ENTITET C
E/R-diagrams bestanddele tilhøre MEDLEMSKAB KUNDE # * kundenr * fornavn * efternavn o email FIRMA LEVERANDØR PARTNER have del af består af Unik identifikator Attributter Superentitet Subentitet Rekursiv relation Relationer Entitet Exclusive Arc
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 ENTITET B # * attribut a * attribut b º attribut c º attribut b navn 1 navn 2
E/R-Diagram (Relation) Relationer er bestemt ved deres optionalitet og kardinalitet: Optionalitet: Optional - kan Mandatory - skal 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 º attribut c VARE º attribut b bestå af stå på 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 fore-komst af Subjekt entitet skal eller kan relation rolle en eller flere en og kun en entitet 1 entitet 2 Kardinalitet Objekt Optionalitet Navn (udsagnsord & forholdsord)
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. ENTITET A # * attribut a * attribut b º attribut c navn 1 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 ENTITET C
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 Database-design Database
Sammenhæng mellem E/R-diagram og databasedesign Attribut Kolonne/felt Forekomst/instans Række/post Relation Fremmednøgle/(tabel) Unik identifikator Primærnøgle Entitet Tabel