• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
GB: Entity Relationship Model
 

GB: Entity Relationship Model

on

  • 1,682 views

Presented in the course on databases, on 21 February 2012

Presented in the course on databases, on 21 February 2012

Statistics

Views

Total Views
1,682
Views on SlideShare
1,682
Embed Views
0

Actions

Likes
1
Downloads
34
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    GB: Entity Relationship Model GB: Entity Relationship Model Presentation Transcript

    • Gegevensbanken entiteit-relatie model Prof. Erik Duval 2011-2012 1Wednesday 22 February 12
    • http://www.slideshare.net/erik.duvalWednesday 22 February 12 2
    • 3Wednesday 22 February 12
    • • ontwerp van een gegevensbank • conceptuele gegevensmodellen • voorbeeld • E-R model • E-R diagrammen • ontwerpkeuzes • niet-binaire relaties 4Wednesday 22 February 12
    • ontwerp van een gegevensbank 5Wednesday 22 February 12
    • 6Wednesday 22 February 12
    • • analyse: behoeften? gegevens? 6Wednesday 22 February 12
    • • analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties 6Wednesday 22 February 12
    • • analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties • transformatie naar implementatiemodel • conceptueel schema volgens model van DBMS 6Wednesday 22 February 12
    • • analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties • transformatie naar implementatiemodel • conceptueel schema volgens model van DBMS • fysisch ontwerp • intern schema volgens model van DBMS 6Wednesday 22 February 12
    • 7Wednesday 22 February 12
    • conceptueel gegevensmodel 8Wednesday 22 February 12
    • 9Wednesday 22 February 12
    • • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten 9Wednesday 22 February 12
    • • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten • beschrijving = schema • elke groep gebruikers heeft eigen schema • alle schemas samen: infologisch schema 9Wednesday 22 February 12
    • • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten • beschrijving = schema • elke groep gebruikers heeft eigen schema • alle schemas samen: infologisch schema • modellering gebruikt abstractie • details weggelaten • algemene, gemeenschappelijke eigenschappen en feiten 9Wednesday 22 February 12
    • 10Wednesday 22 February 12
    • • waarom • sluit nauwer aan bij realiteit dan een implementatiemodel • meer betekenis van objecten dan implementatiemodellen • ... minder details van implementatie 10Wednesday 22 February 12
    • • waarom • sluit nauwer aan bij realiteit dan een implementatiemodel • meer betekenis van objecten dan implementatiemodellen • ... minder details van implementatie • gebruikte model: entiteit-relatie-model • objecten (entiteiten) • verbanden tussen objecten (relaties) • eigenschappen (attributen) • waardenverzamelingen (domeinen) 10Wednesday 22 February 12
    • 11Wednesday 22 February 12
    • • entiteiten ∈ entiteitstype 11Wednesday 22 February 12
    • • entiteiten ∈ entiteitstype • relaties ∈ relatietype 11Wednesday 22 February 12
    • • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11Wednesday 22 February 12
    • • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11Wednesday 22 February 12
    • • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein • sleutel • identificator v.e. entiteitstype / relatietype • waarde van sleutel bepaalt eenduidig de entiteit / relatie 11Wednesday 22 February 12
    • voorbeeld: bedrijf 12Wednesday 22 February 12
    • ... 13Wednesday 22 February 12
    • • bedrijf is georganiseerd in departementen • een departement heeft naam, nummer, een of meer locaties, departementshoofd (sinds een bepaalde datum) • elk departement controleert een aantal projecten elk project heeft naam, nummer, 1 locatie • voor elke werknemer • naam, ID, adres, salaris, geslacht, geboortedatum, #uren per week besteed aan elk project, onmiddellijke overste (supervisor) • een werknemer hoort bij 1 departement, maar kan aan meerdere projecten werken die niet noodzakelijk door 1 departement gecontroleerd worden • voor elke werknemer bovendien van de personen ten laste • naam, geslacht, geboortedatum, relatie tot werknemer 14Wednesday 22 February 12
    • • schema: mini-wereld • entiteit: object (fysisch of conceptueel) • entiteit type: klasse • attribuut: eigenschap • samengesteld / enkelvoudig (atomair) • eenwaardig / meerwaardig • expliciet voorgesteld / afgeleid • domein (= mogelijke waarden) • null-waarden: • "heeft geen waarde" : niet van toepassing / onbekend • nesten van samengestelde / meerwaardige attributen 15Wednesday 22 February 12
    • 16Wednesday 22 February 12
    • 17Wednesday 22 February 12
    • 18Wednesday 22 February 12
    • 19Wednesday 22 February 12
    • sleutel • attribuut waarvan de waarden verschillen • voor elke verschillende entiteit • in elke mogelijke instantie • soms combinatie van attributen • soms meer dan één sleutel 20Wednesday 22 February 12
    • ontwerp van ER schema identificeer • entiteitstypes • attributen van elk entiteitstype • sleutelattributen 21Wednesday 22 February 12
    • 22Wednesday 22 February 12
    • Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 22Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 22Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 22Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT DEPENDENT Name Location Name Relationship Sex Birthdate Number 22Wednesday 22 February 12
    • relatie 23Wednesday 22 February 12
    • relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En 23Wednesday 22 February 12
    • relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... 23Wednesday 22 February 12
    • relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... • 1 entiteitstype meerdere keren: recursief relatietype • vb. SUPERVISION 23Wednesday 22 February 12
    • relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... • 1 entiteitstype meerdere keren: recursief relatietype • vb. SUPERVISION • entiteitstype speelt rol in een relatie 23Wednesday 22 February 12
    • 24Wednesday 22 February 12
    • 25Wednesday 22 February 12
    • 26Wednesday 22 February 12
    • ontwerp van ER schema identificeer • entiteitstypes en attributen van elk entiteitstype • sleutelattributen • relatietypes en attributen van elk relatietype • connectiviteit en deelnamebeperkingen • eventuele afgeleide attributen in entiteitstypes • vb: aantal werknemers in een departement 27Wednesday 22 February 12
    • 28Wednesday 22 February 12
    • Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT Bdate MANAGES PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT Bdate MANAGES CONTROLS PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT Bdate MANAGES CONTROLS SUPERVISES PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT Bdate MANAGES CONTROLS SUPERVISES HAS_DEP. PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT Bdate MANAGES Hours CONTROLS WORKS_ON SUPERVISES HAS_DEP. PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28Wednesday 22 February 12
    • beperkingen op relatietypes 29Wednesday 22 February 12
    • beperkingen op relatietypes• connectiviteit ("cardinality ratio") • voor binaire relatietypes: 1:1, 1:n, m:n • vb. werknemer behoort bij precies één departement • ternaire, ... relatietypes: meer mogelijkheden 29Wednesday 22 February 12
    • beperkingen op relatietypes• connectiviteit ("cardinality ratio") • voor binaire relatietypes: 1:1, 1:n, m:n • vb. werknemer behoort bij precies één departement • ternaire, ... relatietypes: meer mogelijkheden• deelnamebeperking • totale / partiële deelname • vb. moet iedereen bij een departement behoren? • voor binaire relatietypes: T-T, T-P, P-P • totale deelname = "bestaansafhankelijkheid" 29Wednesday 22 February 12
    • 1:n en totaal voor employee en department 30Wednesday 22 February 12
    • 1:n en partieel voor supervisor en supervisee rol 31Wednesday 22 February 12
    • 1:1, totaal voor department en partieel voor employee 32Wednesday 22 February 12
    • attributen van relatietypes• vb. aantal uren / week dat werknemer aan project werkt• 1 : 1 ➡ attribuut kan bij een van de entiteitstypes• 1 : n ➡ attribuut kan bij entiteitstype aan n-zijde• m : n ➡ attribuut kan niet bij entiteitstypes • moet bij relatietype zelf • vb: WORKS_ON: Hours 33Wednesday 22 February 12
    • Fnam Mini Lnam Numbe Salar Nam Nam N WORKS_FO 1 Location Se Addres Ss StartDat EMPLOYE DEPARTMEN 1 Bdat 1 1 MANAGES Hour CONTROLS superviso supervise 1 N 1 N N SUPERVISES WORKS_O M HAS_DEP PROJEC N Nam Locatio DEPENDENT Numbe Nam Relationshi Se BirthDat 34Wednesday 22 February 12
    • zwakke entiteitstypes• zonder eigen sleutel• identificatie via entiteit van ander entiteitstype• identificerende entiteit = "eigenaar", identificerende relatie• steeds totale deelname in identificerende relatie• partiële sleutel • identificeert entiteit binnen entiteiten met zelfde eigenaar • partiële sleutel = "discriminator"• vb : DEPENDENT 35Wednesday 22 February 12
    • • bestaansafhankelijkheid • bestaan ene hangt af van bestaan van andere • ondergeschikte entiteit - dominante entiteit • identificatieafhankelijkheid • kan niet geïdentificeerd worden met eigen attributen • = zwakke entiteit • vb. straat ← gemeente ← land • vaak samen, maar niet altijd 36Wednesday 22 February 12
    • – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN) – RELATIE : • vervoegd werkwoord – Attribuut – Sleutelattribuut – rolnaam 37Wednesday 22 February 12
    • 38Wednesday 22 February 12
    • 39Wednesday 22 February 12
    • alternatieve notatie (min,max) annotatie bij rol hoe vaak kan een entiteit die rol spelen in een relatie? min = 0 → partieel min > 0 → totaal 40Wednesday 22 February 12
    • Fnam Mini Lnam Numbe Salar Nam Nam WORKS_FO (4,N Location Se Addres (1,1 Ss StartDat EMPLOYE DEPARTMEN (0,1 (1,1 (0,N Bdat MANAGES (0,1 hour CONTROLS (0,N supervise (1,N superviso (0,N (1,1 WORKS_O (1,N SUPERVISES HAS_DEP PROJEC (1,1 Nam Locatio DEPENDENT Numbe Nam Relationshi Se BirthDat 41Wednesday 22 February 12
    • ontwerpkeuzes 42Wednesday 22 February 12
    • ontwerpkeuzes • attribuut verwijst naar ander entiteitstype ➡ relatie • vb. manager als attribuut bij DEPARTMENT of als relatie ts. DEPARTMENT en EMPLOYEE 42Wednesday 22 February 12
    • ontwerpkeuzes • attribuut verwijst naar ander entiteitstype ➡ relatie • vb. manager als attribuut bij DEPARTMENT of als relatie ts. DEPARTMENT en EMPLOYEE • attribuut bij verschillende entiteitstypes ➡ entiteitstype • vb. STUDENT, INSTRUCTOR en COURSE een attribuut ‘Departement’ ➡ entiteit DEPARTMENT 42Wednesday 22 February 12
    • ontwerpkeuzes • attribuut verwijst naar ander entiteitstype ➡ relatie • vb. manager als attribuut bij DEPARTMENT of als relatie ts. DEPARTMENT en EMPLOYEE • attribuut bij verschillende entiteitstypes ➡ entiteitstype • vb. STUDENT, INSTRUCTOR en COURSE een attribuut ‘Departement’ ➡ entiteit DEPARTMENT • entiteitstype met één attribuut met één entiteitstype relatie ➡ attribuut • vb. entiteitstype DEPARTMENT met slechts één attribuut, en enkel relatie met STUDENT ➡attribuut 42Wednesday 22 February 12
    • UML klasse diagram 43Wednesday 22 February 12
    • niet-binaire relaties • vb. van ternaire relatie: SUPPLY • leverancier levert onderdelen voor project • SUPPLIER, PART en PROJECT in relatie SUPPLY • connectiviteit en deelnamebeperking • ingewikkelder, met (min, max) notatie • is ternaire relatie ook via binaire relaties voor te stellen? 44Wednesday 22 February 12
    • 45Wednesday 22 February 12
    • Quantity SuppNo ProjNo (0,N (1,N SUPPLIER SUPPLIES_FOR PROJECT (0,N PartNo PART 46Wednesday 22 February 12
    • een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) PART PartNo 47Wednesday 22 February 12
    • een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART PartNo 47Wednesday 22 February 12
    • een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47Wednesday 22 February 12
    • een ternair relatietype vervangen door drie binaire PARTICIPATES SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47Wednesday 22 February 12
    • 48Wednesday 22 February 12
    • 49Wednesday 22 February 12
    • Vragen...? 50Wednesday 22 February 12