Kapitel DB:I - uni-weimar.de · DBMS ein logisches Schema (realisiert mit einem logischen...

46
Kapitel DB:I I. Einführung Datenintensive Anwendungen Entstehung von Datenbanksystemen Begriffsbildung und Einordnung Datenbank-Management-Systeme Relationale Datenbanksysteme DB:I-8 Organization © STEIN 2004-2018

Transcript of Kapitel DB:I - uni-weimar.de · DBMS ein logisches Schema (realisiert mit einem logischen...

Kapitel DB:I

I. Einführungq Datenintensive Anwendungenq Entstehung von Datenbanksystemenq Begriffsbildung und Einordnungq Datenbank-Management-Systemeq Relationale Datenbanksysteme

DB:I-8 Organization © STEIN 2004-2018

Datenintensive Anwendungen

q Content-Management-System. Textdokumente, Bilder, sonstige „Assets“

q Buchhaltung. Personaldaten, Lohndaten, Kostenstellen

q Auftragsverwaltung. Aufträge, Kundenadressen, Artikelnummern

q Soziale Software. Benutzerprofile, Life-Logging-Daten

q CAD-System. Zeichnungen, Makro-Bibliotheken, technische Daten

q PPS-System. Maschinenbelegungspläne, Produktionspläne, Teilenummern

q Krankenversicherung. Patientenakten, Krankenhausstatistiken

q Online-Shop. Produktbeschreibungen, Kundendaten

q . . .

DB:I-9 Organization © STEIN 2004-2018

Datenintensive AnwendungenBeispiel: Hotelreservierung

q Hotel Reservation Service HRS

– zweitgrößter Hotel-Anbieter der Welt

– zweitgrößte Tourismus-Webseite Europas

– basiert auf riesigen Datenbanken

q Daten bei HRS (Stand 2011)

– 250 000+ Hotelsca. 100 Metadaten und 1 000+ Amenities pro Hotel,dynamische Angebote

– 30 000 000+ Buchungenca. 100 Metadaten pro Buchung, 3 000 000+ jährlich,50% mit Bewertung

– 3 000 000+ Benutzer200 000+ jährlich, diverse Suchanfragen pro Benutzer

DB:I-10 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenAlte Bibliothek von Alexandria

DB:I-11 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenNeue Bibliothek von Alexandria

DB:I-12 Organization © STEIN 2004-2018

Bemerkungen:

q Die alte Bibliothek von Alexandria wurde von Ptolemeus I 288 v. Chr. gegründet. Gelehrte,Intellektuelle, Wissenschaftler und Schüler fanden hier ein Umfeld, um über das damaligeWissen zu diskutieren und zu lernen.Aristarchus war einer der ersten, der behauptete, dass sich die Erde um die Sonne dreht.Hipparchus war der erste, der das Solarjahr mit einer Abweichung von 6½ Minuten messenkonnte. Eratosthenes war der erste, der den Durchmesser der Erde berechnete. Euclid, derVater der Geometrie, war ebenfalls hier tätig. Archimedes, der größte Mathematiker der altenWelt, lehrte hier. Der Gründer des Bibliothekswesens, Callimachus, erfand hier einSortierungssystem: einen Katalog, um Schriftrollen nach Thema oder Autor zu finden.

q Die Bibliothek war offen für jedermann und die besten Werke der Zeit wurden hiergesammelt. Das Alte Testament wurde erstmalig aus dem Hebräischen ins Griechischeübersetzt. Es gab eine Mischung von diversen Kulturen und Sprachen unter den Gelehrten,aber die griechische Sprache setzte sich durch, da für die griechischen PhilosophenAlexandrien mit ihrer Bibliothek die intellektuelle Hauptstadt der Zeit war.

q Die alte Bibliothek (es waren eigentlich zwei) wurde durch die Römer 49 v. Chr. und ein Feuerzerstört. Hier war das gesamte Wissen der Antike vorhanden; es soll an die 700 000Papyrusschriftrollen gegeben haben.Die UNESCO setzte sich für einen Neubau der Bibliothek ein. Baubeginn war 1995,Fertigstellung 2001, Kosten ca. 250 Millionen Dollar. Die Gesamtfläche der Bibliothek beträgt45 000 Quadratmeter; ihre Kapazität ist auf 8 Millionen Bücher ausgelegt.

[www.bibliothek-alexandria.de, www.bibalex.org]

DB:I-13 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenAnfang 60er Jahre: direkter Dateizugriff

Datei n

Anwendung 1

Datei 1 Datei 2...

Anwendung m...

Probleme:

q Geräteabhängigkeitq redundante Speicherungq Dateninkonsistenz

DB:I-14 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenEnde 60er Jahre: Dateizugriff mit Verwaltungssystem

Datei n

Anwendung 1

Datei 1 Datei 2...

Anwendung m...

Dateiverwaltungs-system A

Dateiverwaltungs-system B...

Fortschritt:

q Geräteunabhängigkeit

Probleme:

q redundante Speicherungq Dateninkonsistenz

DB:I-15 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenProbleme der frühen Datenverarbeitung

q RedundanzErhöhter Verwaltungs- und Verarbeitungsaufwand, bedingt durch Speichern gleicher Datenaus verschiedenen Anwendungsprogrammen in verschiedenen Dateien.

q InkonsistenzFehlende logische Übereinstimmung von Daten, weil Änderungen gleicher Inhalte inverschiedenen Dateien nicht nachvollzogen werden.

q Datenverteilung (Replikation)Daten werden an verschiedenen Orten benötigt, jedoch wird gezieltes Anlegen und Pflegenvon Kopien nicht unterstützt.

q Daten-Programm-AbhängigkeitDas direkte Schreiben und Lesen der Daten durch Anwendungsprogramme hat vielenegative Konsequenzen: Änderung am Dateiaufbau (der gespeicherten Daten) erfordertÄnderung des Anwendungsprogramms, Erweiterung des Anwendungsprogramms erfordertÄnderung des Dateiaufbaus, Anwendungsprogrammierer und Benutzer nutzen die versteckteSemantik der gespeicherten Daten.

DB:I-16 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenProbleme der frühen Datenverarbeitung

q RedundanzErhöhter Verwaltungs- und Verarbeitungsaufwand, bedingt durch Speichern gleicher Datenaus verschiedenen Anwendungsprogrammen in verschiedenen Dateien.

q InkonsistenzFehlende logische Übereinstimmung von Daten, weil Änderungen gleicher Inhalte inverschiedenen Dateien nicht nachvollzogen werden.

q Datenverteilung (Replikation)Daten werden an verschiedenen Orten benötigt, jedoch wird gezieltes Anlegen und Pflegenvon Kopien nicht unterstützt.

q Daten-Programm-AbhängigkeitDas direkte Schreiben und Lesen der Daten durch Anwendungsprogramme hat vielenegative Konsequenzen: Änderung am Dateiaufbau (der gespeicherten Daten) erfordertÄnderung des Anwendungsprogramms, Erweiterung des Anwendungsprogramms erfordertÄnderung des Dateiaufbaus, Anwendungsprogrammierer und Benutzer nutzen die versteckteSemantik der gespeicherten Daten.

DB:I-17 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenProbleme der frühen Datenverarbeitung (Fortsetzung)

q InflexibilitätAuswertung von Daten sowie Realisierung neuer Anwendungen ist schwierig, weil Inhalteaus mehreren Dateien nur mit Aufwand kombinierbar sind.

q große DatenmengenAnwendungen (Mail-Client, Tabellenkalkulation, etc.) sind nicht für die effiziente Verwaltunggroßer Datenmengen konzipiert.

q paralleler ZugriffMehrere Benutzer oder Anwendungen können nicht ohne gegenseitige Beeinflussunggleichzeitig auf denselben Daten arbeiten.

q DatensicherheitDatenverlust durch Absturz von Anwendungen, Platten-Crash, Stromausfall, etc.

q DatenschutzFehlende Mechanismen zum Schutz der Daten vor unberechtigten Zugriffen.

DB:I-18 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenProbleme der frühen Datenverarbeitung (Fortsetzung)

q InflexibilitätAuswertung von Daten sowie Realisierung neuer Anwendungen ist schwierig, weil Inhalteaus mehreren Dateien nur mit Aufwand kombinierbar sind.

q große DatenmengenAnwendungen (Mail-Client, Tabellenkalkulation, etc.) sind nicht für die effiziente Verwaltunggroßer Datenmengen konzipiert.

q paralleler ZugriffMehrere Benutzer oder Anwendungen können nicht ohne gegenseitige Beeinflussunggleichzeitig auf denselben Daten arbeiten.

q DatensicherheitDatenverlust durch Absturz von Anwendungen, Platten-Crash, Stromausfall, etc.

q DatenschutzFehlende Mechanismen zum Schutz der Daten vor unberechtigten Zugriffen.

DB:I-19 Organization © STEIN 2004-2018

Entstehung von DatenbanksystemenMitte 70er Jahre: explizites Daten-Management

Datenbank

Anwendung 1

Datenbank-Management-System

Anwendung m...

Fortschritt:

q Datenintegration (statt Redundanz)q einheitliche Operatorenq Konsistenz

Herausforderungen:

q Transaktionsabwicklungq Effizienzq Datenschutz

DB:I-20 Organization © STEIN 2004-2018

Begriffsbildung und Einordnung

Definition 1 (Datenbank = Datenbasis, DB)

Eine Datenbank ist eine strukturierte Sammlung einer umfangreichen Mengepersistenter (= dauerhaft zur Verfügung stehender) Daten in elektronischer Form.Diese Daten sind nach bestimmten Merkmalen und Regeln erfasst, geordnet undabgelegt. Der Zugriff auf die Daten und deren Änderung ist ohne großen Aufwandmöglich.

DB:I-21 Organization © STEIN 2004-2018

Begriffsbildung und Einordnung

Definition 1 (Datenbank = Datenbasis, DB)

Eine Datenbank ist eine strukturierte Sammlung einer umfangreichen Mengepersistenter (= dauerhaft zur Verfügung stehender) Daten in elektronischer Form.Diese Daten sind nach bestimmten Merkmalen und Regeln erfasst, geordnet undabgelegt. Der Zugriff auf die Daten und deren Änderung ist ohne großen Aufwandmöglich.

Definition 2 (Datenbank-Management-System, DBMS)

Gesamtheit der Programme zum Zugriff auf die Datenbasis, zur Datenmodifikationund zur Gewährleistung der Konsistenz. Das Datenbank-Management-Systembildet eine Softwareschicht zwischen dem Benutzer und der physischenDarstellung der Daten.

Definition 3 (Datenbanksystem, DBS)

Datenbanksystem = DB + DBMS

DB:I-22 Organization © STEIN 2004-2018

Begriffsbildung und EinordnungSoftwareschichten eines Computer-Systems

Systemsoftware Datenbanksystem, Graphik-API

Betriebssystem Linux, Windows, MacOS

Basissoftware Textverarbeitung, Spread-Sheet

Anwendungssoftware CAD-System, DTP-System

Individualsoftware Speziallösung

Wunsch

Praxis

DB:I-23 Organization © STEIN 2004-2018

Bemerkungen:

q Jede Softwareschicht im Computer baut auf den weiter innenliegenden Schichten auf.

q Idealerweise sollte Basissoftware, Anwendungssoftware oder Individualsoftware ihreDatenverwaltung über ein standardisiertes Application-Programming-Interface (API) auf derSystemsoftwareebene realisieren. Stichwort: Datenbanksystem

DB:I-24 Organization © STEIN 2004-2018

Datenbank-Management-SystemeNeun Anforderungen an ein DBMS [E.F. Codd 1982]

1. IntegrationEinheitliche (= nicht-redundante) Verwaltung der Daten aller Anwendungen.

2. OperationenOperationen zum Speichern, Suchen und Ändern des Datenbankinhaltes existieren.

3. Katalog bzw. Data-DictionaryDer Katalog ermöglicht den Zugriff auf die Datenbankbeschreibung (Metasicht).

4. BenutzersichtenRealisierbarkeit unterschiedlicher Sichten auf den Datenbankinhalt.

5. Konsistenzüberwachung bzw. IntegritätssicherungGewährleistung der Korrektheit des Datenbankinhaltes.

6. Zugriffskontrolle bzw. DatenschutzVerhinderung unautorisierter Zugriffe auf den Datenbankinhalt.

DB:I-25 Organization © STEIN 2004-2018

Datenbank-Management-SystemeNeun Anforderungen an ein DBMS (Fortsetzung)

7. TransaktionenZusammenfassung mehrerer Operationen zu einer Funktionseinheit, die unteilbar ausgeführtwird.

8. SynchronisationKoordination konkurrierender Transaktionen mehrerer Benutzer.

9. DatensicherungWiederherstellung von Daten nach Systemfehlern.

DB:I-26 Organization © STEIN 2004-2018

Datenbank-Management-SystemeDrei-Schichten-Schema-Architektur [ANSI/SPARC 1975]

konzeptuelles Schema

internes/physisches Schema

externesSchema 1

externesSchema n...

Anwender

DB:I-27 Organization © STEIN 2004-2018

Datenbank-Management-SystemeDrei-Schichten-Schema-Architektur [ANSI/SPARC 1975]

konzeptuelles Schema

internes/physisches Schema

externesSchema 1

externesSchema n...

Anwender

externe Ebene(Sicht einzelner

Benutzergruppen)

interne/physische Ebene(Speichersicht)

konzeptuelle Ebene(Gesamtsicht)

Transformationsregeln

Betriebs-system

DBMS

Anf

rage

bear

beitu

ng

Dat

enda

rste

llung

Transformationsregeln

DB:I-28 Organization © STEIN 2004-2018

Bemerkungen:

q In der Praxis kommt die dargestellte Aufteilung nicht in ihrer Reinform zum Einsatz: statteines konzeptuellen Schemas (realisiert mit einem semantisch reichen Datenmodell) ist imDBMS ein logisches Schema (realisiert mit einem logischen Datenmodell wie demRelationenmodell) implementiert.

q Die Anfragebearbeitung und die Datendarstellung realisieren Abbildungen zwischen den dreiEbenen.

q konzeptuell im Sinne von „paradigmenunabhängig“

q ANSI = American National Standards Institute

q SPARC = Standards Planning and Requirements Committee

DB:I-29 Organization © STEIN 2004-2018

Datenbank-Management-SystemeDrei-Schichten-Schema-Architektur

Die Schema-Architektur nach ANSI/SPARC garantiert Datenunabhängigkeit.

Datenunabhängigkeit bezeichnet die Eigenschaft, dass höhere Ebenen desModells unbeeinflusst von Änderungen auf niedrigeren Ebenen bleiben.

q logische Datenunabhängigkeit, auch Anwendungsunabhängigkeit

Änderungen des konzeptuellen Schemas (z.B. Informationen über neue Typen von Objekten,weitere Eigenschaften für existierende Objekte) haben keine Auswirkungen auf externeSchemata (z.B. existierende Anwendungsprogramme).

q physische Datenunabhängigkeit

Änderungen des physischen Schemas (z.B. Wechsel von einer Zugriffsstruktur zu einereffizienteren, Benutzung anderer Datenstrukturen, Austausch von Algorithmen) lassen diekonzeptuelle Ebene unverändert und haben somit auch keine Auswirkungen auf externeSchemata.

DB:I-30 Organization © STEIN 2004-2018

Datenbank-Management-SystemeDrei-Schichten-Schema-Architektur

Die Schema-Architektur nach ANSI/SPARC garantiert Datenunabhängigkeit.

Datenunabhängigkeit bezeichnet die Eigenschaft, dass höhere Ebenen desModells unbeeinflusst von Änderungen auf niedrigeren Ebenen bleiben.

q logische Datenunabhängigkeit, auch Anwendungsunabhängigkeit

Änderungen des konzeptuellen Schemas (z.B. Informationen über neue Typen von Objekten,weitere Eigenschaften für existierende Objekte) haben keine Auswirkungen auf externeSchemata (z.B. existierende Anwendungsprogramme).

q physische Datenunabhängigkeit

Änderungen des physischen Schemas (z.B. Wechsel von einer Zugriffsstruktur zu einereffizienteren, Benutzung anderer Datenstrukturen, Austausch von Algorithmen) lassen diekonzeptuelle Ebene unverändert und haben somit auch keine Auswirkungen auf externeSchemata.

DB:I-31 Organization © STEIN 2004-2018

Datenbank-Management-SystemeWas ein DBMS zu tun hat

Beispielanfrage mittels SQL an eine relationale DB:

select Titel

from Buch

where Autor = Pearl

Buch

Inv_Nr Titel ISBN Autor

0110 Lesebuch 2-341... Popper1201 C++ 2-123... Stroustrup3309 Längengrad 2-123... Sobel4711 Glücksformel 2-679... Klein7510 Heuristics 9-212... Pearl

DB:I-32 Organization © STEIN 2004-2018

Datenbank-Management-SystemeWas ein DBMS zu tun hat (Fortsetzung)

1. Überprüfen der Syntax.

2. Feststellen, ob die entsprechende Relation in der Datenbank definiert ist undob der anfragende Benutzer deren Information lesen darf.

3. Feststellen, welche Operationen zur Beantwortung der Anfrage internauszuführen sind und wie der Anfrageoperand, die Relation Buch,gespeichert ist.

4. Erstellen eines (effizienten) Programms zur Berechnung der Antwort.

5. Holen des Operanden aus der Datenbank.

6. Aufbereiten des Operanden zum Zweck der Ausgabe.

7. Sicherstellen, dass der Operand während der Ausführung dieses Programmsnicht durch eine andere Operation verändert wird.

DB:I-33 Organization © STEIN 2004-2018

Datenbank-Management-SystemeSystemarchitektur und Komponenten eines DBMS

Ü Unterscheidung von fünf Verarbeitungsschichten in einem DBMS:

Ebene 1: Benutzersprache

Ebene 2: Anfrageverarbeitung

Ebene 3: Zugriffsstrukturen und Code-Erzeugung

Ebene 4: Synchronisation paralleler Zugriffe

Ebene 5: Speicherverwaltung

DB:I-34 Organization © STEIN 2004-2018

Datenbank-Management-Systeme

[Vossen 2000]

Ebene 1

Ebene 2

Ebene 3

Ebene 4

Ebene 5

Input/Output-Prozessor

Integritäts-prüfung

Update-Prozessor

Query-Prozessor

Optimierer

Zugriffsplan-erstellung Code-Erzeugung

SchedulerRecovery-Manager

Buffer-Manager Data-Manager

Data-Dictionary LogbuchDatenbank

Parser Autorisierungskontrolle Precompiler

Transaktions-Verwaltung

Benutzersprache

Anfrageverarbeitung

Code-Erzeugung

Synchronisation

Speicherverwaltung

DB:I-35 Organization © STEIN 2004-2018

Bemerkungen:

q Das Data-Dictionary enthält die drei Schemata der Ebenen der ANSI/SPARC-Architektur.q Das Logbuch dient zum Zweck des Wiederanlaufs nach Systemfehlern.q Der Parser führt die syntaktische Analyse der Kommandos durch.q Der Precompiler ist u.a. für die Verarbeitung eingebetteter Kommandos zuständig.q Update-Operationen erfordern eine Integritätsprüfung, um die semantische Korrektheit der

Datenbank zu gewährleisten.q Der Optimierer untersucht die Formulierung von Anfragen dahingehend, ob sie sich in eine

effizientere Form bringen lassen.q Die Zugriffsplanerstellung enthält das Finden und die Auswahl möglichst effizienter

Zugriffspfade auf die benötigten Daten (Stichwort: Index).q Bei der Code-Erzeugung wird der bisher generierte Zwischen-Code in eine Folge von Lese-

und Schreibbefehlen für den Sekundärspeicher übersetzt.q Die Transaktionsverwaltung erledigt die Synchronisation von quasi parallel ablaufenden

Transaktionen mehrerer Benutzer. Jede Transaktion wird entweder vollständig oder gar nichtausgeführt.

q Eine Transaktion, die nicht erfolgreich zu Ende gebracht werden kann, wird dem Recovery-Manager übergeben. Er setzt die Datenbank in den Zustand zurück, in dem sie sich vor demStart der Transaktion befand; Basis ist das Logbuch.

q Buffer-Manager und Data-Manager realisieren die Speicherverwaltung des Systems. DerBuffer-Manager verwaltet im Hauptspeicher des Rechners den für jede Transaktionbereitgestellten Puffer; der Data-Manager verwaltet die dem DBMS zur Verfügung gestelltenHardware-Betriebsmittel.

DB:I-36 Organization © STEIN 2004-2018

Datenbank-Management-SystemeSystemarchitektur und Komponenten eines DBMS (Fortsetzung)

Die Sprachschnittstellen eines DBMS [Ebene 1] :

q Datendefinitionssprache (Data Definition Language), DDL

Dient dem Benutzer, der die Schemata der Datenbank definieren möchte.Manchmal auch Unterscheidung einer Subschema-DDL (externe Ebene), einer Schema-DDL(konzeptuelle Ebene) und einer Data-Storage-Definition-Language, DSDL, (interne Ebene).

q Datenmanipulationssprache (Data Manipulation Language), DML

Sprache, die zum Arbeiten mit einer Datenbank zur Verfügung steht.Die „eigentliche“ Datenmanipulationssprache zur Änderung von gespeicherten Daten, zumEinfügen von neuen Daten und zum Löschen von gespeicherten Daten.Im Allgemeinen als deklarative (nicht-prozedurale) Sprache realisiert: der Benutzerspezifiziert, was für Daten gesucht werden, aber nicht wie sie gefunden werden sollen.

q Datenverwaltungssprache (Data Administration Language), DAL

Sprache zur Manipulation der internen Ebene.

DB:I-37 Organization © STEIN 2004-2018

Datenbank-Management-SystemeSystemarchitektur und Komponenten eines DBMS (Fortsetzung)

Die Sprachschnittstellen eines DBMS [Ebene 1] :

q Datendefinitionssprache (Data Definition Language), DDL

Dient dem Benutzer, der die Schemata der Datenbank definieren möchte.Manchmal auch Unterscheidung einer Subschema-DDL (externe Ebene), einer Schema-DDL(konzeptuelle Ebene) und einer Data-Storage-Definition-Language, DSDL, (interne Ebene).

q Datenmanipulationssprache (Data Manipulation Language), DML

Sprache, die zum Arbeiten mit einer Datenbank zur Verfügung steht.Die „eigentliche“ Datenmanipulationssprache zur Änderung von gespeicherten Daten, zumEinfügen von neuen Daten und zum Löschen von gespeicherten Daten.Im Allgemeinen als deklarative (nicht-prozedurale) Sprache realisiert: der Benutzerspezifiziert, was für Daten gesucht werden, aber nicht wie sie gefunden werden sollen.

q Datenverwaltungssprache (Data Administration Language), DAL

Sprache zur Manipulation der internen Ebene.

DB:I-38 Organization © STEIN 2004-2018

Relationale Datenbanksysteme

DB:I-39 Organization © STEIN 2004-2018

Relationale DatenbanksystemeMerkmale relationaler Datenbank-Management-Systeme (RDBMS)

q seit Mitte der 70er Jahre

q Daten in Tabellenstruktur

q Drei-Schichten-Schema-Architektur nach ANSI/SPARC

q standardisierte Datenbanksprache SQL (Structured Query Language)

q kontrollierter Mehrbenutzerbetrieb

q Gewährleistung von Datenschutz und Datensicherheit

q Werkzeuge

– für die interaktive Definition/Anfrage/Darstellung von Daten

– für die Erstellung von Benutzeroberflächen

– für den Entwurf von Anwendungsprogrammen

DB:I-40 Organization © STEIN 2004-2018

Bemerkungen:

q Beispiele für leistungsstarke RDBMS: IBM DB2, MS SQL-Server, MySQL, Oracle DB,PostgreSQL, Sybase

q Beispiele für „Pseudo“-RDBMS: MS Access, dBASE. Hier fehlen u.a. eine explizite Abbildungder Drei-Schichten-Schema-Architektur und leistungsfähige Algorithmen zur Optimierung.

DB:I-41 Organization © STEIN 2004-2018

Relationale DatenbanksystemeBeispiel: Daten- und Datenbankdefinition

Ausleihe

Inv_Nr Name

3309 Suermann1201 Curatolo0110 Hoffmann4711 Suermann

Buch

Inv_Nr Titel ISBN Autor

0110 Lesebuch 2-341... Popper1201 C++ 2-123... Stroustrup3309 Längengrad 2-123... Sobel4711 Glücksformel 2-679... Klein7510 Heuristics 9-212... Pearl

Schlüsselattribut

Relationenschema RRelationenname

Relation r = Instanz des Relationenschemas R

q Datenbank = Menge von Relationenq Datenbankschema = Menge von Relationenschemata

DB:I-42 Organization © STEIN 2004-2018

Relationale DatenbanksystemeBeispiel: Integritätsbedingungen

Integritätsbedingungen sind Konsistenzregeln.

lokale Integritätsbedingungen:

q zu jedem Attribut in jedem Relationenschema gibt es eine Typdefinition, diedie zulässigen Werte der entsprechenden Spalte festlegt (String, Integer).

q Attribut Inv_Nr ist (Primär)Schlüssel von Ausleihe:in Ausleihe existieren keine zwei Tupel mit demselben Inv_Nr-Wert.

q Attribut Inv_Nr ist (Primär)Schlüssel von Buch:in Buch existieren keine zwei Tupel mit demselben Inv_Nr-Wert.

globale Integritätsbedingung:

q Jeder Inv_Nr-Wert in der Relation Ausleihe muss in der Relation Buchauftreten und eindeutig sein. Stichwort: Fremdschlüsselbedingung

DB:I-43 Organization © STEIN 2004-2018

Relationale DatenbanksystemeBeispiel: Anfrageoperationen

q Selektion = Auswahl von Zeilen bzw. Tupeln:

σName=′Suermann′(Ausleihe) ;Inv_Nr Name3309 Suermann4711 Suermann

q Projektion = Auswahl von Spalten bzw. Attributen:

πInv_Nr,Titel(Buch) ;

Inv_Nr Titel0110 Lesebuch1201 C++3309 Längengrad4711 Glücksformel7510 Heuristics

DB:I-44 Organization © STEIN 2004-2018

Relationale DatenbanksystemeBeispiel: Anfrageoperationen (Fortsetzung)

q Verbund (Natural Join) = Verknüpfung von Relationen über gleichbenannteSpalten mit gleichen Werten:

πInv_Nr,Titel(Buch) ./ σName=′Suermann′(Ausleihe)

;Inv_Nr Titel Name3309 Längengrad Suermann4711 Glücksformel Suermann

q Vereinigung, Durchschnitt und Differenz von gleich strukturierten Relationen

q Umbenennung von Spalten bzw. Attributen

Die genannten Operationen lassen sich beliebig kombinieren.Stichwort: Relationenalgebra

DB:I-45 Organization © STEIN 2004-2018

Relationale DatenbanksystemeBeispiel: Anfrageoperationen (Fortsetzung)

Deklarativ-mengenorientierte Formulierung mit SQL:

select Buch.Inv_Nr, Titel, Name

from Buch, Ausleihe

where Name = Suermann

and

Buch.Inv_Nr = Ausleihe.Inv_Nr

Weiterhin können definiert werden:

q Relationen und Sichtenq Konsistenzbedingungenq Update-Operationenq Trigger

DB:I-46 Organization © STEIN 2004-2018

Relationale DatenbanksystemeAnfrageoptimierung

Gegeben sei ein Relationenalgebra-Ausdruck α.

Finde einen zu α äquivalenten Ausdruck β, der effizienter als α auswertbar ist.

Beispiel:

a) σAttribut=Wert(r1 ./ r2)

b) σAttribut=Wert(r1) ./ r2

|r1| = 100|r2| = 50Attribut ∈ R1

10 Tupel in r1 erfüllen Attribut=Wert

DB:I-47 Organization © STEIN 2004-2018

Relationale DatenbanksystemeAnfrageoptimierung

Gegeben sei ein Relationenalgebra-Ausdruck α.

Finde einen zu α äquivalenten Ausdruck β, der effizienter als α auswertbar ist.

Beispiel:

a) σAttribut=Wert(r1 ./ r2)

b) σAttribut=Wert(r1) ./ r2

|r1| = 100|r2| = 50Attribut ∈ R1

10 Tupel in r1 erfüllen Attribut=Wert

Feststellung: a) und b) sind äquivalente Anfragen

Auswertungsaufwand:

zu a) 100·50 Join-Operationen + 100·50 Select-Operation = 10 000 Operationenzu b) 100 Select-Operationen + 10·50 Join-Operationen = 600 OperationenDB:I-48 Organization © STEIN 2004-2018

Bemerkungen:

q Algebraische Optimierung bedeutet die Umformung von Ausdrücken.

q Generelle Regel: Select-Operation vor Join-Operation durchführen.

DB:I-49 Organization © STEIN 2004-2018

Relationale DatenbanksystemeGrenzen von RDBMS

Informationssystem

DatenbanksystemVerarbeitung von (flach) strukturierten Daten

Information-Retrieval-SystemVerarbeitung von unstrukturierten Daten

DB:I-50 Organization © STEIN 2004-2018

Relationale DatenbanksystemeGrenzen von RDBMS

Informationssystem

DatenbanksystemVerarbeitung von (flach) strukturierten Daten

Information-Retrieval-SystemVerarbeitung von unstrukturierten Daten

q Realzeitanwendungen für Steuer- und Regelaufgabenverlangen Reaktionszeitgarantien→ Echtzeit-DBS

q Speicherung und Verarbeitung von Expertenwissenwenige Objekte, viele Objekttypen, Anfragen ≈ Inferenzoperationen→ deduktive DBS

q Speicherung von Landkarten, annotierte Gebäudeinformationenkomplex strukturierte Objekte, räumliche Informationen→ Geo-Informationsysteme

q Verarbeitung von ZeitreihenInformationen über regelmäßig wiederkehrende Ereignisse (tägliche Umsatzzahlen, etc.)

q Data MiningData Warehouse, Online Analytical Processing OLAP

DB:I-51 Organization © STEIN 2004-2018

Relationale DatenbanksystemeErstellung von RDBMS

Aufgabe Tätigkeit Sprache, Werkzeug

konzeptueller Beschreibung der Daten Entity-Relationship-Modell,Entwurf unabhängig von der Realisierung UML

relationaler Umsetzung in RelationenmodellEntwurf Relationendefinitionen

Datendefinition Beschreibung der Relationen SQL, DDLin einem SQL-Dialekt

Implementierung Realisieren von Anfragen SQL, DQL und DMLund Änderungen in SQL

Qualitätssicherung Analyse, Beweis, formale Kriterien fürDokumentation Konsistenz, Effizienz,

Wartbarkeit

DB:I-52 Organization © STEIN 2004-2018

Bemerkungen:

q Die Begriffe „Datenbankentwurf“, „konzeptueller Datenbankentwurf“ und „konzeptionellerDatenbankentwurf“ werden in der Literatur oft synonym benutzt.

q Die industrielle und universitäre Forschung beschäftigt sich mit der Weiterentwicklungklassischer Datenbanktechnologie, um die genannten

:::::::::::::::::::::::::::::::Nicht-Standardaufgaben adäquat –

d.h. effizient und auf die Daten abgestimmt – zu unterstützen.

DB:I-53 Organization © STEIN 2004-2018