Vorlesung Datenbanksysteme vom 13.10.2004 Anfragebearbeitung
Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1...
Transcript of Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1...
![Page 1: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/1.jpg)
1
Datenbanksysteme 2013
Kapitel 16:Objektorientierte Datenbanken
Vorlesung vom 02.07.2013
Oliver Vornberger
Institut für InformatikUniversität Osnabrück
![Page 2: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/2.jpg)
2
Schwächen relationaler SystemeBuch: {[ISBN, Verlag, Titel, Autor, Version, Stichwort]}
2 Autoren, 5 Versionen, 6 Stichworte 2 5 6 = 60 Einträge
Buch : {[ ISBN, Titel, Verlag ]} Autor : {[ ISBN, Name, Vorname]} Version : {[ ISBN, Auflage, Jahr ]} Stichwort : {[ ISBN, Stichwort ]}
Problem: "Liste Bücher mit den Autoren Meier & Schmidt"
![Page 3: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/3.jpg)
3
Modellierung von Polyedern
Polyeder
Flächen
Begrzg
Hülle
StartEnde
Kanten
Punkte
X Y Z
(3, *)
(2, 2)
(2, 2)
(3, *)
(1, 1)
(4, *)
PolyederPolyID Gewicht Material . . .
cubo#5 25.765 Eisen . . .tetra#7 37.985 Glas . . .. . . . . . . . . . . .
FlächenFlächenID PolyID Material
f1 cubo#5 . . .f2 cubo#5 . . .. . . . . . . . .f6 cubo#5 . . .f7 tetra#7 . . .
KantenKantenID F1 F2 P1 P2
k1 f1 f4 p1 p4k2 f1 f2 p2 p3. . . . . . . . . . . . . . .
PunktePunktID X Y Z
p1 0.0 0.0 0.0p2 1.0 0.0 0.0. . . . . . . . . . . .p8 0.0 1.0 1.0. . . . . . . . . . . .
![Page 4: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/4.jpg)
4
Schwachpunkte
• Segmentierung• Künstliche Schlüsselattribute• Fehlendes Verhalten• Externe Programmierschnittstelle erforderlich
![Page 5: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/5.jpg)
5
Vorteile der objektorientierten Datenmodellierung
Struktur + Verhalten in einem Objekt-Typ integriert
objektorientierte Datenbasis
volume
rotatescale
weight
translate
specWeight
Anwendung AsomeCuboid->rotate('x', 10);
Anwendung Bw := someCuboid->weight( );
![Page 6: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/6.jpg)
6
ODMG
Object Database Management Grouphttp://www.odbms.org/
entwickelt Standards für• objektorientiertes Datenmodell• objektorientierte Abfragesprache OQL• Schnittstellen zu C++, Smalltalk, Java
![Page 7: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/7.jpg)
7
Eigenschaften von Objekten
Ein Objekt
• gehört zu einer Klasseentsteht durch Instanziierungist Teil der Extension = alle Objekte
• hat Identitätsystemweit eindeutig, unveränderbar
• Wert = Zustand = Ausprägung
![Page 8: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/8.jpg)
8
Identität
relational: Schlüsselvom Anwender erdacht
objektorientiert:Objektidentifikator OIDvom System generiertunabhängig vom Zustandunabhängig vom Speicherorttransient + persistentmomentaner Speicherort = Tabelle[OID]
![Page 9: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/9.jpg)
9
Objekte aus der Universitätswelt
PersNr: 2137Name: "Kant"Rang: "C4"residiertIn: id9
hatGeprueft: {. . . }liest: {id2 , id3 }
id1 Professoren
VorlNr: 5001Titel: "Grundzüge"SWS: 4gelesenVon: id1
Hoerer: {. . .}Nachfolger: {. . .}Vorgaenger: {. . .}
Vorlesungenid2
VorlNr: 4630Titel: "Die 3 Kritiken"SWS: 4gelesenVon: id1
Hoerer: {. . .} Nachfolger: {. . .} Vorgaenger: {. . .}
id3 Vorlesungen
![Page 10: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/10.jpg)
10
Objekttypen-Definition
• Angaben zur Generalisierung und Spezialisierung
• Strukturbeschreibung mit Attributen und Beziehungen
• Verhaltensbeschreibungmit Operationen
![Page 11: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/11.jpg)
11
Attribute
class Professoren {attribute long PersNr;attribute string Name;attribute string Rang;
};
![Page 12: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/12.jpg)
12
strukturierte Attribute
class Person {attribute string Name;attribute struct Datum {
short Tag;short Monat;short Jahr;
} GebDatum;};
![Page 13: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/13.jpg)
13
1:1 Beziehung
class Professoren {attribute long PersNr;...relationship Raeume residiertIn
inverse Raeume::beherbergt;};
class Raeume {attribute long RaumNr;attribute short Groesse;...relationship Professoren beherbergt
inverse Professoren::residiertIn;};
![Page 14: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/14.jpg)
14
1:N-Beziehung
class Professoren {...relationship set <Vorlesungen> liest
inverse Vorlesungen::gelesenVon;};
class Vorlesungen {...relationship Professoren gelesenVon
inverse Professoren::liest;};
![Page 15: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/15.jpg)
15
Binäre N:M-Beziehung
class Studenten {...relationship set <Vorlesungen> hoert
inverse Vorlesungen::Hoerer;};
class Vorlesungen {...relationship set <Studenten> Hoerer
inverse Studenten::hoert;};
![Page 16: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/16.jpg)
16
Universität
RaeumeProfessorenStudenten
Pruefungen
Vorlesungen
Inhalt
wurdeAbgeprueft
wurdeGeprueft hatGeprueft
beherbergtresidiertIn
hoert liest
gelesenVonHoerer
Vorgaenger Nachfolger
PrueferPruefling
![Page 17: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/17.jpg)
17
Extensionen und Schlüssel
class Studenten (extent AlleStudenten key MatrNr) {attribute long MatrNr;attribute string Name;attribute short Semester;
relationship set<Vorlesungen> hoertinverse Vorlesungen::Hoerer;
relationship set<Pruefungen> wurdeGeprueftinverse Pruefungen::Pruefling;
};
![Page 18: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/18.jpg)
18
Operationen
• Objekt erzeugen mit Konstruktor
• Zustand erfragen mit Observer
• Zustand verändern mit Mutator
• Objekt zerstören mit Destruktor
![Page 19: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/19.jpg)
19
Modellierung des Verhaltensclass Professoren {exception hatNochNichtGeprueft { };exception schonHoechsteStufe { };...float wieHartAlsPruefer() raises (hatNochNichtgeprueft);void befoerdert() raises (schonHoechsteStufe);
};
in C++:meinLieblingsProf->befoerdert();
in OQL:select p.wieHartAlsPruefer()from p in AlleProfessorenwhere p.name = "Kant";
![Page 20: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/20.jpg)
20
Vererbung
Typ1
Objekttypen
Typ2
Typ3
A
B
C
is-a
is-a
A: . . .
Instanzen
Typ1id1
A: . . . B: . . .
id2
Typ2
A: . . . B: . . . C: . . .
id3
Typ3
![Page 21: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/21.jpg)
21
Typhierarchie bei einfacher Vererbung
ANY
is-a is-a is-a
OT 1
is-ais-ais-a is-ais-ais-a
OT 2
is-a is-a is-a
OT n-1
is-a is-a is-a
OT n
![Page 22: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/22.jpg)
22
Vererbungclass Angestellte (extent AlleAngestellte) {attribute long PersNr;attribute string Name;attribute date GebDatum;short Alter();long Gehalt();
};
class Assistenten extends Angestellte (extent AlleAssistenten) {attribute string Fachgebiet;
};
class Professoren extends Angestellte (extent AlleProfessoren) {attribute string Rang;relationship Raeume residiertIn inverse Raeume::beherbergt; relationship set(Vorlesungen) liest inverse Vorlesungen::gelesenVon; relationship set(Pruefungen) hatgeprueft inverse Pruefungen::Pruefer;
};
![Page 23: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/23.jpg)
23
Extension AlleAngestellten
select sum(a.Gehalt()) from a in AlleAngestellten
PersNr: 2137Name: "Kant"GebDatum: . . .
id1 Professoren
PersNr: 3002Name: "Platon"GebDatum: . . .
id11 Assistenten
PersNr: 6001Name: "Maier"GebDatum: . . .
id7 Angestellte
AlleAngestellten: { id1, id11 , id7 }
![Page 24: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/24.jpg)
24
OQL: select
Liste alle C4-Professoren (als Objekte):select pfrom p in AlleProfessorenwhere p.Rang = "C4";
Liste Name und Rang aller C4-Professoren (als Werte):select p.Name, p.Rangfrom p in AlleProfessorenwhere p.Rang = "C4";
Liste Name und Rang aller C4-Professoren (als Tupel):select struct (n: p.Name, r: p.Rang)from p in AlleProfessorenwhere p.Rang = "C4";
![Page 25: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/25.jpg)
25
OQL: Pfadausdrücke
select s.Namefrom s in AlleStudenten, v in s.hoert
where v.gelesenVon.Name = 'Sokrates'
Studenten Vorlesungenhört
Professoren NamegelesenVon
Welche Studenten hören Vorlesungen von Sokrates ?
![Page 26: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/26.jpg)
26
![Page 27: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/27.jpg)
27
Datenbanksysteme 2013
Kapitel 17:Sicherheit
Oliver Vornberger
Institut für InformatikUniversität Osnabrück
![Page 28: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/28.jpg)
28
Datenschutz
Datenbank
grant select on Professoren to Erika with grant option
![Page 29: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/29.jpg)
29
![Page 30: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/30.jpg)
30
Datenbanksysteme 2013
Kapitel 18:Data Warehouse
Oliver Vornberger
Institut für InformatikUniversität Osnabrück
![Page 31: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/31.jpg)
31
OLTP versus OLAP
Opera-tionaleDB
Opera-tionaleDB
Opera-tionaleDB
Opera-tionaleDB
OLTP OLAP
Decision Support AnfragenData Mining
Periodischauffrischen
online transaction processing online analytical processing
![Page 32: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/32.jpg)
32
Sternschema
Verkäufer
Zeit
KundenProdukte Krankheiten
Ärzte
Patienten
ZeitKrankenhäuser
BehandlungenVerkäufe
Filialen
Handelsunternehmen Krankenkasse
Fakten Dimensionen
![Page 33: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/33.jpg)
33
VerkäufeVerkDatum Filiale Produkt Anzahl Kunde Verkäufer30-Jul-96...
Passau...
1347...
1...
4711...
825...
FilialenFilialenkennung Land Bezirk ...Passau...
D...
Bayern...
...
...
KundenKundenNr Name wiealt ...4711...
Kemper...
38...
...
...
VerkäuferVerkäuferNr Name Fachgebiet Manager wiealt ...825...
Handyman...
Elektronik...
119...
23...
...
...
ZeitDatum Tag Monat Jahr Quartal KW Wochentag Saison ......30-Jul-96...23-Dec-97...
...30...27...
...Juli...Dezember...
...1996...1997...
...3...4...
...31...52...
...Dienstag...Dienstag...
...Hochsommer...Weihnachten...
...
...
...
...
...
ProdukteProduktNr Produkttyp Produktgruppe Produkthauptgruppe Hersteller ...1347...
Handy...
Mobiltelekom...
Telekom...
Siemens...
...
...
Ausprä
gung
![Page 34: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/34.jpg)
34
Star Join
select p.Hersteller, sum(v.Anzahl) as Anzahlfrom Verkäufe v, Filialen f, Produkte p, Zeit z, Kunden kwhere z.Saison = 'Weihnachten' and z.Jahr = 1996 and k.wiealt < 30 and p.Produkttyp = 'Handy' and f.Bezirk = 'Bayern' and v.VerkDatum = z.Datumand v.Produkt = p.ProduktNrand v.Filiale = f.Filialenkennungand v.Kunde = k.KundenNrgroup by Hersteller;
Welche Handys (d.h. von welchen Herstellern) haben junge Kunden in den bayrischen Filialenzu Weihnachten 1996 gekauft ?
570Nokia400Bosch650Motorola550Siemens
AnzahlHersteller
![Page 35: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/35.jpg)
35
Verdichtungsgrad
Drill down:• mehr Attribute in group-by-Klausel• mehr Ergebniszeilen• geringere Verdichtung
Roll up:• weniger Attribute in group-by-Klausel• weniger Ergebniszeilen• stärkere Verdichtung
![Page 36: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/36.jpg)
36
Handyverkäufe nach Herstellern
select p.Hersteller, sum(v.Anzahl) as Anzahlfrom Verkäufe v, Produkte pwhere v.Produkt = p.ProduktNrand p.Produkttyp = 'Handy'group by p.Hersteller ;
4.500Nokia
3.000Bosch
3.500Motorola
8.500Siemens
AnzahlHersteller
z.Jahr,
2.0001996Nokia
1.5001995Nokia
1.0001994Nokia
2.0001996Bosch
1.0001995Bosch
5001994Bosch
1.5001996Motorola
1.0001995Motorola
1.0001994Motorola
3.5001996Siemens
3.0001995Siemens
2.0001994Siemens
UmsatzJahrHersteller
, z.Jahr
Drilldown längs Zeitachse
8.5001996
6.5001995
4.5001994
AnzahlJahr
Rollup längs Hersteller
19.500
AnzahlUltimative Verdichtung:
![Page 37: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/37.jpg)
37
Materialisierung
Hersteller \ Jahr 1994 1995 1996 ΣSiemens 2.000 3.000 3.500 8.500Motorola 1.000 1.000 1.500 3.500Bosch 500 1.000 1.500 3.000Nokia 1.000 1.500 2.000 4.500Σ 4.500 6.500 8.500 19.500
gewünscht:Handy-Verkäufe nach Jahr und Hersteller
![Page 38: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/38.jpg)
38
Handy2Cube
Wunsch:verschieden aggregierte Teilergebnise vorberechnen:
create table Handy2DCube(Hersteller varchar(20),Jahr integer,Anzahl integer
);
![Page 39: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/39.jpg)
39
Berechnung Hersteller + Jahrinsert into Handy2DCube
(select p.Hersteller, z.Jahr, sum(v.Anzahl)from Verkäufe v, Produkte p, Zeit zwhere v.Produkt = p.ProduktNrand p.Produkttyp = 'Handy'and v.VerkDatum = z.Datumgroup by z.Jahr, p.Hersteller)
union (select null, z.Jahr, sum(v.Anzahl)from Verkäufe v, Produkte p, Zeit zwhere v.Produkt = p.ProduktNrand p.Produkttyp = 'Handy'and v.VerkDatum = z.Datumgroup by z.Jahr)
union (select p.Hersteller, null, sum(v.Anzahl)from Verkäufe v, Produkte pwhere v.Produkt = p.ProduktNrand p.Produkttyp = 'Handy'group by p.Hersteller)
union (select null, null, sum(v.Anzahl)from Verkäufe v, Produkte pwhere v.Produkt = p.ProduktNrand p.Produkttyp = 'Handy');
![Page 40: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/40.jpg)
40
Cube-Operator
select p.Hersteller, z.Jahr, f.Land, sum(Anzahl)as Anzahl
from Verkäufe v, Produkte p, Zeit z, Filialen fwhere v.Produkt = p.ProduktNrand p.Produkttpy = 'Handy'and v.VerkDatum = z.Datumand v.Filiale = f.Filialenkennunggroup by z.Jahr, p.Hersteller, f.Landwith cube;
Erzeugt bei k Attributen in group-by-Klausel2k Teilmengen (inkl. Null-Werte) und vereinigt sie.
![Page 41: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/41.jpg)
41
Ergebnisdes CubeOperators
Handy3DCubeHersteller Jahr Land Anzahl
Siemens 1994 D 800Siemens 1994 A 600Siemens 1994 CH 600Siemens 1995 D 1.200Siemens 1995 A 800Siemens 1995 CH 1.000Siemens 1996 D 1.400
... ... ... ...Motorola 1994 D 400Motorola 1994 A 300Motorola 1994 CH 300
... ... ... ...Bosch ... ... ...... ... ... ...null 1994 D ...null 1995 D ...... ... ... ...
Siemens null null 8.500... ... ... ...null null null 19.500
![Page 42: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/42.jpg)
42
MySQL: WITH ROLLUP
select Hersteller, Jahr, sum(Umsatz) as Umsatzfrom Handysgroup by Hersteller, Jahrwith Rollup
MySQL WorkBench
![Page 43: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/43.jpg)
43
Data Mining
Datenbestand durchsuchen nach (bisher unbekannten) Zusammenhängen (Knowledge Discovery)
• Klassifikation von Objekten:z.B. Risikoabschätzung bei Versicherungspolicenmännlich + alt + Coupé hohes Risiko
• Assoziationsregeln:z.B. Analyse des Kaufverhaltens"Wer PC kauft, kauft auch Drucker"
![Page 44: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/44.jpg)
44
Datamining: Beispiel für Klassifikation
geringVanm40
hochCoupém40
…………
geringVanm24
geringCoupéw38
hochCoupém19
geringVanw22
geringCoupéw18
geringVanw45
SchadenAutotypGeschlecht
Alter Geschlecht
Alter
Autotyp
GeringesRisiko
hohesRisiko
GeringesRisiko
hohesRisiko
männlich weiblich
Coupé Van
> 35<=35
![Page 45: Datenbanksysteme 2013 - uni-osnabrueck.dedbs/2013/PDF/dbs2013-07-02.pdf · 2013. 7. 1. · 1 Datenbanksysteme 2013 Kapitel 16: Objektorientierte Datenbanken Vorlesung vom 02.07.2013](https://reader036.fdokument.com/reader036/viewer/2022070217/611f8a563f44e610bb622423/html5/thumbnails/45.jpg)
45
Datamining: Beispiel für Assoziationen
Scanner555
Toner555
PC555
Papier555
Drucker555
PC444
Drucker444
Toner333
Papier333
Drucker333
Scanner222
PC222
Toner111
PC111
Papier111
Drucker111
ProduktTransID
3{Drucker, Papier, PC}{Drucker, Papier, Toner}{Drucker, PC, Toner}{Papier, PC, Toner}
33
32
3
2
{Drucker, Papier}{Drucker, PC}{Drucker, Scanner}{Drucker, Toner}{Papier, PC}{Papier, Scanner}{Papier, Toner}{PC, Scanner}{PC, Toner}{Scanner, Toner}
43423
{Drucker}{Papier}{PC}{Scanner}{Toner}
AnzahlFrequent Itemset-Kandidat