20130212 les gb1

81
1 Gegevensbanken Prof. E. Duval, Prof. B. Berendt, dr. Matthijs Van Leeuwen 2012 - 2013

description

 

Transcript of 20130212 les gb1

Page 1: 20130212 les gb1

1

Gegevensbanken

Prof. E. Duval, Prof. B. Berendt, dr. Matthijs Van Leeuwen2012 - 2013

Page 3: 20130212 les gb1

3

Page 4: 20130212 les gb1

Elmasri & Navathe, Fundamentals ofDatabase Systems, Addison Wesley, 6th edition, 2011

goed genoeg voor zelfstudie ;-)

5de of 6de editie is OK

Page 5: 20130212 les gb1

• docenten

• Prof. Erik Duval, Prof. Bettina Berendtdr. 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

Page 6: 20130212 les gb1

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

Page 7: 20130212 les gb1

• toledo: statistics tracking

• niet persoonlijk

• data mining - outlook lecture

• vragen na einde hoorcolleges

• wij antwoorden zolang je vraagt ;-)

7

Page 8: 20130212 les gb1

• mondeling examen met schriftelijke oefeningen

• focus

• concepten en methodes

• kennen en kunnen gebruiken

• toepassingen

• ontwerpen van een gegevensbank

• queries

Page 9: 20130212 les gb1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

juni 2012

Page 10: 20130212 les gb1

?doelstellingen

10

Page 11: 20130212 les gb1

11

Page 12: 20130212 les gb1

inhoud

12

?

Page 13: 20130212 les gb1

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

Page 14: 20130212 les gb1

14Thanks!

Questions?http://erikduval.wordpress.com/

@ErikDuval

Page 15: 20130212 les gb1

wat is een gegevensbank?

Page 16: 20130212 les gb1

voorbeelden?

Page 17: 20130212 les gb1

verschil metvariabelen in programma?

Page 18: 20130212 les gb1

• programma-gegevens

• korte levensduur: werkgeheugenvariabelen, objecten

• lange levensduur: persistentbestanden en gegevensbanken

• interpretatie gegevensgedefinieerd in programma

• record, klasse, ...18

Page 19: 20130212 les gb1

19

?

?

Page 20: 20130212 les gb1

• Bestanden

• elk programma definieert structuur

• meerdere programma’s: redundantie of omzetten

• Gegevensbanken

• data + metadata die structuur beschrijft

• onafhankelijk van programma’s

Page 21: 20130212 les gb1

Wat zou KU Leuven gegevensbankover studenten bevatten?

Page 22: 20130212 les gb1

• ...

Page 23: 20130212 les gb1
Page 24: 20130212 les gb1

• verzameling centraal beheerde, permanent opgeslagen gegevensdie op elk tijdstipvoor 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

Gegevensbank

24

Page 25: 20130212 les gb1

25

Page 26: 20130212 les gb1

• gegevensbanksysteem

• gegevensbank(gegevens zelf)

• gegevensbankbeheerssysteem(DataBase Management System)

• DBMS

• creatie gegevensbankstructuur (schema)

• toevoegen, weglaten, wijzigen gegevens

• opvragen gegevens

26

Page 27: 20130212 les gb1

gegevensmodellen?

Page 28: 20130212 les gb1

• 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

Page 29: 20130212 les gb1

schema & instantie?

Page 30: 20130212 les gb1

• 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

Page 31: 20130212 les gb1

schema

31

Page 32: 20130212 les gb1

instantie

32

Page 33: 20130212 les gb1

3-schema architectuur(ANSI/SPARC, 1975)

Page 34: 20130212 les gb1
Page 35: 20130212 les gb1

• 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 DBMS'en niet volledig gescheiden

35

Page 36: 20130212 les gb1

Gegevens-onafhankelijkheid

• logisch: conceptueel schema verandertmaar externe schema’s niet

• vb?

• fysisch: intern schema verandert,maar conceptueel niet

• vb?

36

Page 37: 20130212 les gb1
Page 38: 20130212 les gb1

ontwerp van een gegevensbank

38

Page 39: 20130212 les gb1

• 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

Page 40: 20130212 les gb1

• entiteiten ∈ entiteitstype

• relaties ∈ relatietype

• attributen: waarden ∈ domein

• sleutel

• identificator v.e. entiteitstype / relatietype

• waarde van sleutel bepaalt eenduidig de entiteit / relatie

40

Page 41: 20130212 les gb1

voorbeeld:bedrijf

41

Page 42: 20130212 les gb1

identificeer

• entiteitstypes

• attributen van elk entiteitstype

• sleutelattributen

ontwerp van ER schema

42

Page 43: 20130212 les gb1

43

EMPLOYEE

Sex

Name

Ssn

Fname Minit Lname

Address

Bdate

Salary

DEPARTMENT

Number

LocationsName

PROJECT

Name

Number

Location

DEPENDENT

Name

Sex BirthdateRelationship

Page 44: 20130212 les gb1

• attribuut waarvan de waarden verschillen

• voor elke verschillende entiteit

• in elke mogelijke instantie

• soms combinatie van attributen

• soms meer dan één sleutel

sleutel

44

Page 45: 20130212 les gb1

• 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

relatie

45

Page 46: 20130212 les gb1

46

Page 47: 20130212 les gb1

47

Page 48: 20130212 les gb1

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

ontwerp van ER schema

48

Page 49: 20130212 les gb1

49

EMPLOYEE

Sex

Name

Ssn

Fname Minit Lname

Address

Bdate

Salary

DEPARTMENT

Number

LocationsName

PROJECT

Name

Number

LocationDEPENDENT

Name

Sex BirthDateRelationship

WORKS_FOR

CONTROLS

MANAGES

StartDate

SUPERVISESHAS_DEP.

WORKS_ON

Hours

Page 50: 20130212 les gb1

• 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"

beperkingen op relatietypes

50

Page 51: 20130212 les gb1

51

EMPLOYEE

Sex

Name

Ssn

Fname Minit Lname

Address

Bdate

Salary

DEPARTMENT

Number

LocationsName

PROJECT

Name

Number

LocationDEPENDENT

Name

Sex BirthDateRelationship

WORKS_FOR

CONTROLS

MANAGES

StartDate

SUPERVISESHAS_DEP.

1N

11

1

N

supervisor supervisee1

N

1 NWORKS_ON

Hours

N

M

Page 52: 20130212 les gb1

• 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

zwakke entiteitstypes

52

Page 53: 20130212 les gb1

– ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN)

– RELATIE :• vervoegd werkwoord

– Attribuut– Sleutelattribuut– rolnaam

53

Page 54: 20130212 les gb1

54

Page 55: 20130212 les gb1

55

Page 56: 20130212 les gb1

alternatieve notatie

(min,max) annotatie bij rol

hoe vaak kan een entiteit die rol spelen in een relatie?min = 0 → partieelmin > 0 → totaal

56

Page 57: 20130212 les gb1

57

EMPLOYEE

Sex

Name

Ssn

Fname Minit Lname

Address

Bdate

Salary

DEPARTMENT

Number

LocationsName

PROJECT

Name

Number

LocationDEPENDENT

Name

Sex BirthDateRelationship

WORKS_FOR

CONTROLS

MANAGES

StartDate

SUPERVISESHAS_DEP.

WORKS_ON

hours

(1,1)

(4,N)

(0,1)(1,1) (0,N)

(1,1)(1,N)

(1,N)

(1,1)

(0,N)supervisor

supervisee(0,N)

(0,1)

Page 58: 20130212 les gb1

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

Page 59: 20130212 les gb1

59

SUPPLIER

PART

PROJECTSUPPLIES_FOR(0,N)

(0,N)

(1,N)

SuppNo

PartNo

ProjNoQuantity

Page 60: 20130212 les gb1

60

PART

(0,N)

PartNo

SUPPLIER PROJECT

SUPPLIES_FOR

(0,N) (1,N)

SuppNo ProjNo

Quantity

CAN_SUPPLY USES

PARTICIPATES

een ternair relatietype vervangen door drie binaire relatietypes?

Page 61: 20130212 les gb1

Vragen...?

61

Page 62: 20130212 les gb1

OO vs ER

?

Page 63: 20130212 les gb1

EER

• subklasse/superklasse

• specialisatie/generalisatie

• categorieën

• overerving van attributen

63

Page 64: 20130212 les gb1

specialisatie

• vb: verschillende soorten werknemers:

• SECRETARY

• ENGINEER

• MANAGER

• TECHNICIAN

• ...

• zijn subklassen van de superklasse EMPLOYEE

64

Page 65: 20130212 les gb1

65

Page 66: 20130212 les gb1

66

Page 67: 20130212 les gb1

• 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

Page 68: 20130212 les gb1

68

Page 69: 20130212 les gb1

69

Page 70: 20130212 les gb1

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

Page 71: 20130212 les gb1

71

Page 72: 20130212 les gb1

• specialisatie-hiërarchie

• elke subklasse in één super/subklasse relatie

• specialisatie-tralie

• subklasse in meerdere super/subklasse relaties

• = gemeenschappelijke (shared) subklasse

• subklasse erft attributenvan alle directe en indirecte superklassen

72

Page 73: 20130212 les gb1

73

Page 74: 20130212 les gb1

74

Page 75: 20130212 les gb1

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

Page 76: 20130212 les gb1

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

Page 77: 20130212 les gb1

77

Page 78: 20130212 les gb1

• Klasse: verzameling entiteiten

• klasse S is subklasse van superklasse Ca.s.a. S ⊆ C

• Z={ S1, ..., Sn } specialisatie van superklasse (generalisatie) Ga.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

formeel

78

Page 79: 20130212 les gb1

• subklasse S van C is predikaatgedefinieerd als predikaat p bestaat zodat S = C[p] = { e ∈ C | p(e)} ;anders gebruikergedefinieerd

• specialisatie Z is attribuutgedefinieerda.s.a. elke Si ∈ Z predikaatgedefinieerd is met predikaat A = cimet A een welbepaald attribuut en ci constantenalle ci verschillend ⇒ disjuncte specialisatie

• een categorie T is een deelverzameling vanunie van haar definiërende superklassen : T ⊆ D1 ∪ … ∪ Dn

• als predikaten pi in Di lidmaatschap van T aangeven: T=D1[p1] ∪ … ∪ Dn[pn]

formeel

79

Page 80: 20130212 les gb1

Kleine wenk ...

Eerste vraag examen

Page 81: 20130212 les gb1

81

Thanks!

Questions?

http://erikduval.wordpress.com/@ErikDuval