20130212 les gb1

4,817 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,817
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20130212 les gb1

  1. 1. GegevensbankenProf. E. Duval, Prof. B. Berendt, dr. Matthijs Van Leeuwen2012 - 2013 1
  2. 2. http://www.slideshare.net/erik.duval 2
  3. 3. 3
  4. 4. Elmasri & Navathe, Fundamentals ofDatabase Systems, Addison Wesley, 6th edition, 2011goed genoeg voor zelfstudie ;-)5de of 6de editie is OK
  5. 5. • docenten • Prof. Erik Duval, Prof. Bettina Berendt dr. Katrien Verbert Matthijs van Leeuwen• medewerkers • Albrecht Zimmermann, Bo Gao, Celine Vens, Mathias Verbeke, Rula Sayaf, Tommy Messelis, Jo Devriendt, Angelika Kimmig• 18 17 hoorcolleges • video conferencing, om de beurt 5
  6. 6. oefenzitting• bereid voor: theorie!• verplicht (geen sancties)• niet zo maar van reeks veranderen • laat weten als er een probleem is• “head count”• vragen: toledo• werkje: geen punten, model oplossing, groep van 3, verplicht (geen sancties) 6
  7. 7. • toledo: statistics tracking • niet persoonlijk • data mining - outlook lecture• vragen na einde hoorcolleges • wij antwoorden zolang je vraagt ;-) 7
  8. 8. • mondeling examen met schriftelijke oefeningen• focus • concepten en methodes • kennen en kunnen gebruiken• toepassingen • ontwerpen van een gegevensbank • queries
  9. 9. juni 20121 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  10. 10. doelstellingen ?10
  11. 11. 11
  12. 12. inhoud ? 12
  13. 13. inhoud• gegevensmodel: (E)ER en relationeel • en een beetje: OO, ERDBMS, netwerk, hierarchisch• ontwerp: (E)ER en relationeel• opslag: bestand, hashing, indexen, bomen, meerdimensionaal• implementatie: queries, transacties, concurrentie, herstel• geavanceerd: distributie, data warehouse, multimedia • een beetje 13
  14. 14. Questions?http://erikduval.wordpress.com/ @ErikDuval Thanks! 14
  15. 15. wat is eengegevensbank?
  16. 16. voorbeelden?
  17. 17. verschil metvariabelen in programma?
  18. 18. • programma-gegevens • korte levensduur: werkgeheugen variabelen, objecten • lange levensduur: persistent bestanden en gegevensbanken• interpretatie gegevens gedefinieerd in programma • record, klasse, ... 18
  19. 19. ?? 19
  20. 20. • Bestanden • elk programma definieert structuur • meerdere programma’s: redundantie of omzetten• Gegevensbanken • data + metadata die structuur beschrijft • onafhankelijk van programma’s
  21. 21. Wat zou KU Leuven gegevensbankover studenten bevatten?
  22. 22. • ...
  23. 23. Gegevensbank• verzameling centraal beheerde, permanent opgeslagen gegevens die op elk tijdstip voor verschillende toepassingen beschikbaar moet zijn• behoeften • alle gegevens van belang voor alle voorziene toepassingen • elke toepassing ziet voor haar relevante gegevens • verschillende toepassingen delen dezelfde gegevens 24
  24. 24. 25
  25. 25. • gegevensbanksysteem • gegevensbank (gegevens zelf) • gegevensbankbeheerssysteem (DataBase Management System)• DBMS • creatie gegevensbankstructuur (schema) • toevoegen, weglaten, wijzigen gegevens • opvragen gegevens 26
  26. 26. gegevensmodellen?
  27. 27. • hoog niveau: conceptuele modellen • dicht bij gebruiker • vb. entiteit-relatie model• tussenin: implementatiemodellen • hoe worden gegevens en relaties voorgesteld • nog steeds abstract • vb. relationeel model• laag niveau: fysische modellen • details van gegevensopslag, bestandsorganisatie 28
  28. 28. schema & instantie?
  29. 29. • Gegevensbankschema = beschrijving van een gegevensbank • Bepaalde eigenschappen van de gegevensbank • vb. welke entiteiten er zijn, welke attributen ze hebben• Instantie van een gegevensbank • Gegevens in de gegevensbank op 1 welbepaald ogenblik• andere benamingen: • schema = intentie, • instantie = extensie• schema blijft constant over de tijd, instantie niet 30
  30. 30. schema 31
  31. 31. instantie32
  32. 32. 3-schemaarchitectuur(ANSI/SPARC, 1975)
  33. 33. • Doel • scheiden gebruikerstoepassingen en fysische gegevensbank• niveau’s • intern: fysische opslagstructuur, toegangspaden • conceptueel : implementatiemodel • extern (gebruikersviews): hoe gebruikers gegevens zien • DBMS vertaalt: extern → conceptueel → intern niveau• 3 niveaus in meeste DBMSen niet volledig gescheiden 35
  34. 34. Gegevens-onafhankelijkheid • logisch: conceptueel schema verandert maar externe schema’s niet • vb? • fysisch: intern schema verandert, maar conceptueel niet • vb? 36
  35. 35. ontwerp van eengegevensbank 38
  36. 36. • 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 39
  37. 37. • entiteiten ∈ entiteitstype• relaties ∈ relatietype• attributen: waarden ∈ domein• sleutel • identificator v.e. entiteitstype / relatietype • waarde van sleutel bepaalt eenduidig de entiteit / relatie 40
  38. 38. voorbeeld:bedrijf 41
  39. 39. ontwerp van ER schemaidentificeer• entiteitstypes• attributen van elk entiteitstype• sleutelattributen 42
  40. 40. Fname Minit Lname Number Salary Name Name Locations Sex AddressSsn EMPLOYEE DEPARTMENTBdate PROJECT DEPENDENT Name LocationName Relationship Sex Birthdate Number 43
  41. 41. sleutel• attribuut waarvan de waarden verschillen • voor elke verschillende entiteit • in elke mogelijke instantie• soms combinatie van attributen• soms meer dan één sleutel 44
  42. 42. 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 45
  43. 43. 46
  44. 44. 47
  45. 45. ontwerp van ER schemaidentificeer• 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 48
  46. 46. Fname Minit Lname Number Salary Name Name WORKS_FOR Locations Sex AddressSsn StartDate EMPLOYEE DEPARTMENTBdate MANAGES Hours CONTROLS WORKS_ON SUPERVISES HAS_DEP. PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 49
  47. 47. 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" 50
  48. 48. Fname Minit Lname Number Salary Name Name N WORKS_FOR 1 Locations Sex Address Ssn StartDate EMPLOYEE DEPARTMENT 1 Bdate 1 1 MANAGES Hours CONTROLSsupervisor supervisee 1 N 1 N N WORKS_ON M SUPERVISES HAS_DEP. PROJECT N Name Location DEPENDENT Number Name Relationship Sex BirthDate 51
  49. 49. 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 52
  50. 50. – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN)– RELATIE : • vervoegd werkwoord– Attribuut– Sleutelattribuut– rolnaam 53
  51. 51. 54
  52. 52. 55
  53. 53. alternatieve notatie(min,max) annotatie bij rolhoe vaak kan een entiteit die rol spelen in een relatie? min = 0 → partieel min > 0 → totaal 56
  54. 54. Fname Minit Lname Number Salary Name Name WORKS_FOR (4,N) Locations Sex Address (1,1) Ssn StartDate EMPLOYEE DEPARTMENT (0,1) (1,1) (0,N) Bdate MANAGES (0,1) hours (0,N) CONTROLS supervisee (1,N)supervisor (0,N) (1,1) WORKS_ON (1,N) SUPERVISES HAS_DEP. PROJECT (1,1) Name Location DEPENDENT Number Name Relationship Sex BirthDate 57
  55. 55. 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? 58
  56. 56. QuantitySuppNo ProjNo (0,N) (1,N)SUPPLIER SUPPLIES_FOR PROJECT (0,N) PartNo PART 59
  57. 57. een ternair relatietype vervangen door drie binaire relatietypes? PARTICIPATES SuppNo ProjNo Quantity SUPPLIER (0,N) PROJECT (1,N) SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 60
  58. 58. Vragen...? 61
  59. 59. OO vs ER ?
  60. 60. EER• subklasse/superklasse• specialisatie/generalisatie• categorieën• overerving van attributen 63
  61. 61. specialisatie• vb: verschillende soorten werknemers: • SECRETARY • ENGINEER • MANAGER • TECHNICIAN • ...• zijn subklassen van de superklasse EMPLOYEE 64
  62. 62. 65
  63. 63. 66
  64. 64. • specialisatie • op basis van een predikaat: predikaatgedefinieerd • op basis van een attribuut: attribuutgedefinieerd • op basis van andere kenmerken: gebruikergedefinieerd• disjuncte of overlappende subklassen • d / o in diagrammen• totale / partiële specialisatie • totaal : elk object van superklasse moet tot een subklasse behoren (in diagram: dubbele lijn) 67
  65. 65. 68
  66. 66. 69
  67. 67. generalisatie• omgekeerde van specialisatie• gemeenschappelijke uit verschillende entiteitstypes• algemener entiteitstype dat superklasse is• vb. CAR, TRUCK → VEHICLE• levert gewoonlijk een totale subklasse/superklasse relatie 70
  68. 68. 71
  69. 69. • specialisatie-hiërarchie • elke subklasse in één super/subklasse relatie• specialisatie-tralie • subklasse in meerdere super/subklasse relaties • = gemeenschappelijke (shared) subklasse• subklasse erft attributen van alle directe en indirecte superklassen 72
  70. 70. 73
  71. 71. 74
  72. 72. ontwerpmethodes• top-down ontwerp • begin met 1 entiteitstype • specialiseer herhaaldelijk• bottom-up ontwerp • begin met verscheidene entiteitstypes • maak opeenvolgende generalisaties• in de praktijk • meestal combinatie van beide 75
  73. 73. categorie• subklasse met meerdere superklassen • deelverzameling van unie van superklassen • entiteit in subklasse behoort tot 1 superklasse • selectieve overerving van attributen• Verschilt van gemeenschappelijke subklasse • deelverzameling van doorsnede van superklassen • entiteit in subklasse behoort tot elke superklasse • overerving van alle attributen van de superklassen 76
  74. 74. 77
  75. 75. formeel• Klasse: verzameling entiteiten• klasse S is subklasse van superklasse C a.s.a. S ⊆ C• Z={ S1, ..., Sn } specialisatie van superklasse (generalisatie) G a.s.a. ∀ i : G / Si is een superklasse / subklasse relatie • Z is totaal indien ∪ Si = G, anders partieel • Z is disjunct als ∀ i , j : i ≠ j Si ∩ Sj = ∅, anders overlappend 78
  76. 76. formeel• subklasse S van C is predikaatgedefinieerd als predikaat p bestaat zodat S = C[p] = { e ∈ C | p(e)} ; anders gebruikergedefinieerd• specialisatie Z is attribuutgedefinieerd a.s.a. elke Si ∈ Z predikaatgedefinieerd is met predikaat A = ci met A een welbepaald attribuut en ci constanten alle ci verschillend disjuncte specialisatie• een categorie T is een deelverzameling van unie van haar definiërende superklassen : T ⊆ D1 ∪ … ∪ Dn • als predikaten pi in Di lidmaatschap van T aangeven: T=D1[p1] ∪ … ∪ Dn[pn] 79
  77. 77. Kleine wenk ...Eerste vraag examen
  78. 78. Questions? http://erikduval.wordpress.com/ @ErikDuval Thanks! 81

×