Dyrkningsvejledning for Kikærter

Transcription

Dyrkningsvejledning for Kikærter
DB analyse og modellering
Jesper Tørresø
I4DAB1 E11
23. September 2011
Abstraktion
• ”Værktøj” til overblik og forståelse
• Forsimpling og Fokusering på det
væsentligste.
• Fra Abstraktion  Konkret
– Via metoder (metodik/arbejdsgang)
– og værktøjer (diagrammer og beskrivelser)
– Kravanalyse Et krav er ufravigeligt
– Via iterationer
Metoder
• [TEOREY] har en formel omfattende liste
af artefakter, som indgår i deres metode.
• [RUSSEL] giver principperne som er de
mest kendetegnede for DB–analyse og –
design.
• Jeg har nogle principnoter
Processen
To formelle metoder
• Logisk Database Design
• Konceptuelt Database Design
Logisk DB design
Ser vi nærmere på
ifbm. Normalisering
• Med udgangspunkt i hvorledes en RDB er
opbygget
• ”Buttom Up” : Lavniveau dataanalyse
• ”Top down” : Tabeller kan uddrages fra krav.
• Work A round (Up, Down, På ”kryds og
tværs”)
• Tager ikke direkte udgangspunkt i
problemdomænet
• Den ”rigtige” metode medføre design af en
normaliserbar database.
Konceptuelt DB design
• Inddrager brugere og udviklere
• Tager udgangspunkt i problemdomænet.
• Bruger Klasser/Entiteter som
udgangspunkt
• Diagrammer er ERD og/eller UML
• Med Designregler omformes den
konceptuelle model til et ”logisk skema”
– Virkemåden for DDS-Lite er designregler.
Elementer i ”KDBD”
• Datamodellering og relations/associationsmodellering
Entitet
• Kravanalyse.
• Entiteter som indeholder
• Attributter: enkeltværdi som flerværdi
• Generalisering og Specialisering
[Teorey] Konceptuel metode
• Overordnede trin
– Requirements analysis.
• What is the DB to be used for, what must it contain and how will i
proces data (what comes out)?
– Conceptual data modeling (The most important part from a technically
view)
• Classifiy entities and attributes or classes and attributes.
• Identify generaliztion hierachies (ERD and UML)
• Define relationships or associations and association classes
– First all possible binary and unary degreed relationships
– Review redundant relationships.
– Then if needed ternary (or n-ary) relationships.
– Entity Clustering (Gælder for store systemer med mange
entiteter >1000..10000.. (Ikke for DAB1)
Metode: Conceptual Scope
• A Schema/Diagram is a data model that is intended to
be used with a database system
– External schemas are defined for the users of a database
– Logical schema defines the representation as a collection of
tables that are stored in a database server
– Internal schema defines the representation used by the
database server to store the tables in memory or files
External schema 1
Database
tables
External schema 2
External schema 3
External level
Logical to external mappings
Logical schema
Logical level
Internal to logical mapping
disk
Internal schema
Internal level
Ikke redundant
Redundant
Ternary
Isoleret model 1
Isoleret model 2
Isoleret model 3
Samlet model
View Integration
– View integration methods.
• Merging different ”types of abstraction”
• Goal in schema integration
– to create a non-redundant unified (global) conceptual
schema/diagram
– completeness - all components must appear in the global
schema/diagram
– minimality - remove redundant concepts in the global
schema/diagram
– understandability - does global schema/diagram make
sense?
View Integration 1
View Integration 2
View Integration 3