190 likes | 301 Views
ER-modellering. Analyse af data og sammenhæng mellem data. ER-modellering, side 24. Giver overblik over data. Laves tidligt i systemudviklings-processen analyse-fasen 3 hoved-”ingredienser” Entity sets Attributes Relationships. Entity set ( skema ) en type
E N D
ER-modellering Analyse af data og sammenhæng mellem data ER-modellering
ER-modellering, side 24 • Giver overblik over data. • Laves tidligt i systemudviklings-processen • analyse-fasen • 3 hoved-”ingredienser” • Entity sets • Attributes • Relationships ER-modellering
Entity set (skema) en type en mænge af ensartede forekomster Eksempel: Studerende Notation: Rektangel Navn i en-tal Bogen: Flertal!?! Entity instance (forekomst) en forekomst eksempel: En given studerende: Jens Jensen Entitet, 24 ER-modellering
Skema Data, knytter sig til et entity set. Kommer fra et domæne (samling af lovlige værdier) Eksempel: fornavn, efternavn Notation: Oval med streg til entity set. Forekomst Konkrete data for en given entity instans. Eksempel Fornavnet: Jens Attribut, 25 ER-modellering
Skema Sammenhæng mellem 2 (eller flere) entity sets. Notation: Rombe med streg til deltagende entity sets. Forekomst Sammenhæng mellem 2 (eller flere) konkrete entity instanser. Relationship, 25 ER-modellering
Rekursivt relationship • Et relationship kan være mellem 2 entities fra samme entity type. ER-modellering
Skema Struktur af databasen ER er et (af flere) model-sprog Stabilt Forekomst De konkrete data-værdier, på et bestemt tidspunkt. Skifter ofte Database, 27 ER-modellering
Multiplicitet, 27 • 1-1 1 stud. tager 1 kursus 1 kursus har 1 stud. • 1-mange 1 stud. tager 1 kursus 1 kursus har mange stud. • mange-mange 1 stud. tager mange kurser 1 kursus har mange stud. ER-modellering
Relationships typer, 27 • Binær relationship • 2 deltagende entity types • Multiway relationship • Flere deltagende entity types (oftest 3) ER-modellering
3-benet relationship vs. to 2-benede relationships ER-modellering
Attributter i relationships, 31 • Et relationship kan have data. • Eksempel på anvendelse: historik • Skru op for multipliciteten (1-N N-M) • Tids-information i relationship. ER-modellering
Opløsning af 3-benet relationship, 32 • Et 3-benet relationship kan ”ophøjes” til en entity type med tre 2-benede relationships. • Fylder mere i diagrammet (mindre overskueligt) ER-modellering
Sub-klasser, 34 • Kaldes også sub-entity-types. • Subklassen arver alle attributter + relation-ships fra superklassen. • Subklassen tilføjer egne attributter + relationships. ER-modellering
OOP Et objekt tilhører én af klasserne. ER En entitet kan tilhøre flere entity set f.eks. både Person og Lærer - og Studerende (en hjælpelærer) OOP vs. ER subklasser, 37 ER-modellering
Design principper, 39 • Vær tro mod den modellerede ”verden” • Selv om du er ER-ekspert, så er du måske ikke ekspert i det modellerede domæne • Undgå redundans • Simpelt design ER-modellering
Constraints, 47 • Nøgle (key) • Mængde af attributter, der gør alle entiteter forskellige - nu og i fremtiden! • Til tider flere mulige nøgler [vælg én] • Notation: Streg under attribut(-ter) ER-modellering
Reference integritet, 51 • Normal 1-N relationship • En entitet kan have relationship til en anden entitet. • Reference integritet • En entitet skal have relationship til en anden entitet. • Fig. 2.18, side 52 ER-modellering
Svage entity sets, 54 • Har ikke egen nøgle • Er afhængig af en anden entity sets nøgle • Den svage er underordnet den stærke. • Forsvinder den stærke forekomst, så ryger den svage forekomst med! • Notation: • Entity type: Dobbelt rektangel • Relationship: Dobbelt rombe • Fig. 2.20, side 55 ER-modellering
Fremgangsmåde Forslag til fremgangsmåde ved ER-modellering • Entity sets med umiddelbare attributter • Relationships • Multiplicitet • Nøgler • Weak entity sets • Reference integritet • Sub-klasser ER-modellering