De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Databases I Het Entity-Relationship Model

Verwante presentaties


Presentatie over: "Databases I Het Entity-Relationship Model"— Transcript van de presentatie:

1 Databases I Het Entity-Relationship Model
definitieve versie 2002 Databases I Het Entity-Relationship Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam

2 Overzicht database design

3 Voorbeeld UoD Company onderverdeeld in DEPARTMENTs, met unieke naam en nummer, alsmede een employee die de manager is. Startdatum van manager wordt bijgehouden. Een department kan meerdere locaties hebben. Elk department heeft de leiding over een aantal PROJECTs. Elk project heeft unieke naam en nummer, en heeft slechts één locatie. Een EMPLOYEE heeft een naam, SSN, adres, salaris, geslacht en geboortedatum. Elke employee werkt voor slechts één department, maar kan werken aan verschillende projecten (ook van andere afdelingen). Daarnaast worden voor employee bijgehouden: direct supervisor + aantal uren aan projecten. Een employee kan DEPENDENTs hebben (naam, geslacht, geb. datum en relatie tot employee).

4 Voorbeeld ER-diagram

5 Entities (1/3) entity instance: reëel bestaand object/ding in het UoD kan zowel fysiek als abstract zijn attribute: een eigenschap van een entity value: een waarde die een attribuut kan aannemen soorten attributen: atomic / composite single-valued / multi-valued stored / derived null values: Not Applicable Missing Unknown

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

7 Entities met simple attributes

8 Entity met composite/multivalued attributes

9 Let op: deze definitie wijkt af van het boek!
Entities (3/3) key: minimale verzameling van één of meerdere attributen die uniek zijn voor iedere entity instance van een bepaalde entity type (voorbeeld: sofi_nummer van PERSOON) key attribute: een attribuut dat tot een bepaalde key behoort Let op: deze definitie wijkt af van het boek!

10 Notatie college (i.t.t. notatie boek)

11 Relationships (informeel)
relationship instance: verbindt één of meerdere entity instances en heeft specifieke betekenis EMPLOYEE John Smith WORKS_ON PROJECT productX relationship set: bevat alle relationship instances in een bepaalde database relationship type: verbindt één of meerdere entity types EMPLOYEE WORKS_ON PROJECT

12 Relationships (formeel)
relationship instance r := (e1 , e2 , ... , en) met ei entity instances relationship set R  E1 , E2  ...  En met Ei entity sets relationship type R := (E1 , E2 , ... , En ) met Ei entity types

13 Relationships (tot slot)
degree of a relationship: aantal participaties van entity types binary: degree 2 (bv: WORKS_ON / MANAGES) ternary: degree 3 (bv: SUPPLIES) let op: een entity type kan meerdere malen in een relationship type voorkomen (bv: SUPERVISES) verschillende relationship types kunnen op dezelfde entity types zijn gedefinieerd (bv: WORKS_FOR en MANAGES) relationship types kunnen ook attributen hebben

14 Relaties: binair / many-one

15 Relaties: binair / one-one

16 Relaties: binair / many-many

17 Relaties: ternair

18 Relaties: “recursive” relationships

19 Structural constraints
cardinality ratio (for binary relationship types): 1:1 (MANAGES) 1:N N:1 (WORKS_FOR) M:N (WORKS_ON) participation constraint: total participation (existence dependent) EMPLOYEE in WORKS_FOR partial participation EMPLOYEE in MANAGES structural constraints: cardinality ratio + participation constraints

20 (min, max) notatie structural constraints
gespecificeerd op iedere participatie (rol) van een entity type E in een relationship type R specificeert in hoeveel relationship instances een entity instance (role) minimaal en maximaal mag voorkomen default (geen constraint): (0, n) “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 “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

21 Weak entities weak entity type: entity type zonder geheel eigen key
weak entity type moet participeren in identifying relationship type met identifying entity type (= owner) weak entity wordt geïdentificeerd door partial key + key van de owner voorbeeld: EMPLOYEE HAS_CHILDREN CHILD (attributen: first_name + birthdate) first_name is partial key IS_CHILD_OF is de identifying relationship type EMPLOYEE is owner CHILD geïdentificeerd door first_name (CHILD) + ssn (EMPLOYEE)

22 Overzicht notatie ER-diagram

23 Totale ER-diagram

24 Thuis nalezen: Hoofdstuk 3 voorbereiden: 4.1, 4.2, 4.7


Download ppt "Databases I Het Entity-Relationship Model"

Verwante presentaties


Ads door Google