De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Databases I (H.3) Het Entity-Relationship Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.

Verwante presentaties


Presentatie over: "Databases I (H.3) Het Entity-Relationship Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003."— Transcript van de presentatie:

1 Databases I (H.3) Het Entity-Relationship Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003

2 Overzicht DB design

3 Voorbeeld UoD u Een bedrijf is onderverdeeld in DEPARTMENTs. u Elke DEPARTMENT heeft een unieke naam, een uniek nummer en één employee die de manager van die DEPARTMENT is. De startdatum van de manager wordt ook bijgehouden. u Een DEPARTMENT kan meerdere locaties hebben en kan de leiding hebben over meerdere PROJECTs. u Elk PROJECT heeft een unieke naam, een uniek nummer, één locatie en één verantwoordelijke DEPARTMENT. u Een EMPLOYEE behoort tot één DEPARTMENT en heeft een SSN, naam, adres, geboortedatum, salaris, geslacht en één chef (direct supervisor). u Elke EMPLOYEE kan aan meerdere PROJECTs van verschillende (dus ook andere) DEPARTMENTs werken. Voor elk PROJECT waar hij/zij aan werkt, wordt bijgehouden hoeveel uren per week. u Een EMPLOYEE kan meerdere DEPENDENTs hebben, waarvan naam, geb.dat., geslacht en de relatie tot de employee wordt bijgehouden.

4 Voorbeeld ER-diagram (Fig. 3.2)

5 Entities (1/3) u entity instance:relevant object/ding in het UoD (kan zowel fysiek als abstract zijn) u attribute:een eigenschap van een entity u value:een waarde die een attribuut kan aannemen

6 Soorten attributen & null-waarden u soorten attributen: –atomic / composite –single-valued / multi-valued –stored / derived u null values: –Not Applicable –Missing –Unknown

7 Entities (2/3) u entity type: verzameling van alle mogelijke entity instances die hetzelfde concept vertegenwoordigen (en dus ook zelfde attributen hebben) u entity set: verzameling van alle entity instances van een bepaald entity type die op een bepaald moment in de database zitten u single-valued attribute:A: E  V u multi-valued attribute:A: E   (V)

8 Example: entity types vs. entity sets

9 Entity with composite & multivalued attribute

10 Entities (3/3) u key:minimale verzameling van attributen waarvoor geldt dat elke entity instance in de bijbehorende entity set altijd een unieke combinatie van attribuutwaarden heeft (b.v.: sofi_nummer van PERSOON) u key attribute:een attribuut dat tot een of andere key behoort Let op: deze definitie wijkt af van H.3 in het boek !!

11 Notatie college (i.t.t. notatie in boek)

12 Relationships (informeel) u relationship type: verbindt één of meerdere entity types EMPLOYEE WORKS_ON PROJECT u relationship set: verzameling van alle relationship instances van een bepaald relationship type die op een bepaald moment in de DB zitten u relationship instance: verbindt één of meerdere entity instances en heeft een specifieke betekenis EMPLOYEE John Smith WORKS_ON PROJECT productX

13 Relationships (formeel) u relationship type R := (E 1, E 2,..., E n ) waarbij E i entity types zijn u relationship set R  E 1  E 2 ...  E n waarbij E i entity sets zijn u relationship instance r := (e 1, e 2,..., e n ) waarbij e i entity instances zijn

14 Some more about relationships u Degree of a relationship: aantal deelnames van entity types –binary:degree 2 (b.v.: WORKS_ON en MANAGES) –ternary:degree 3 (b.v.: SUPPLIES) u Let op: –een entity type kan meerdere malen in een relationship type voorkomen (zie b.v.: SUPERVISES) –verschillende relationship types kunnen op dezelfde entity types zijn gedefinieerd (b.v.: WORKS_FOR en MANAGES) –relationship types kunnen ook attributen hebben

15 Relationship: binary & many-one

16 Relationship: binary & one-one

17 Relationship: binary & many-many

18 Relationship: ternair

19 Relationship: recursief

20 Relationships: structural constraints u cardinality ratio (for binary relationship types) : –1:1(b.v. MANAGES) –1:N of N:1(WORKS_FOR) –M:N(WORKS_ON) u participation constraint: –total participation (existence dependent) EMPLOYEE in WORKS_FOR –partial participation EMPLOYEE in MANAGES u structural constraints: cardinality ratio + participation constraints

21 Structural constraints: (min, max) notatie u gespecificeerd op iedere deelname (rol) van een entity type E in een relationship type R u specificeert in hoeveel relationship instances een entity (role) instance minimaal en maximaal mag voorkomen u default (geen constraint): (0, n) u “een department heeft precies één manager en een werknemer kan hooguit één department managen” –specificeer (1, 1) voor DEPARTMENT in MANAGES –specificeer (0, 1) voor EMPLOYEE in MANAGES u “een werknemer werkt voor precies één department en een department heeft minimaal vier werknemers” –specificeer (1, 1) voor EMPLOYEE in WORKS_FOR –specificeer (4, n) voor DEPARTMENT in WORKS_FOR

22 Weak entities u weak entity type: entity type zonder geheel eigen key u weak entity type moet deelnemen in een “identifying relationship type” met één (of meer) “identifying entity type(s)” = owner(s) u weak entity wordt geïdentificeerd door: eigen partial key + key van de owner u voorbeeld: EMPLOYEE HAS_CHILDREN CHILD (attributen: first_name + birthdate) –first_name is partial key –HAS_CHILDREN / IS_CHILD_OF is de identifying relationship type –EMPLOYEE is owner –CHILD geïdentificeerd door first_name (CHILD) + ssn (EMPLOYEE)

23 Overzicht notatie ER-diagram

24 Totale ER-diagram


Download ppt "Databases I (H.3) Het Entity-Relationship Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003."

Verwante presentaties


Ads door Google