• Keine Ergebnisse gefunden

kus@iti.cs.uni-magdeburg.de VLDatenbankenI–0–1 VLDatenbankenI–0–1 VLDatenbankenI–0–2

N/A
N/A
Protected

Academic year: 2022

Aktie "kus@iti.cs.uni-magdeburg.de VLDatenbankenI–0–1 VLDatenbankenI–0–1 VLDatenbankenI–0–2"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Datenbanken

TU Dresden, SS 2002

Kai-Uwe Sattler kus@iti.cs.uni-magdeburg.de

VL Datenbanken I – 0–1

Überblick

1. Grundlegende Konzepte und Architekturen 2. Datenbankmodelle für den Entwurf

3. Datenbankmodelle für die Realisierung 4. Datenbankentwurf und Datendefinition 5. Anfrage- und Änderungsoperationen 6. Relationale Datenbanksprachen

7. Datenbank-Anwendungsprogrammierung 8. Integrität und Trigger

9. Sichten, Datenschutz

VL Datenbanken I – 0–1

Literatur

Heuer, A., Saake, G.: Datenbanken — Konzepte und Sprachen. 2. Aufl., mitp-Verlag, Bonn, Januar 2000

Vossen, G.; Datenbankmodelle, Datenbanksprachen und Datenbankmanagement-Systeme. Oldenbourg, München, 2000

Heuer, A., Saake, G., Sattler, K.; Datenbanken kompakt mitp-Verlag, Bonn, 2001

Elmasri, R.; Navathe, S.B.; Fundamentals of Database Systems. Addison-Wesley, 1999

Date, C.J.; An Introduction to Database Systems Addison-Wesley, Reading, 1999

(2)

1. Grundlegende Konzepte

Motivation und Historie

Komponenten und Funktionen

Einsatzgebiete und Grenzen

Entwicklungslinien

Schema-Architektur

System-Architekturen

VL Datenbanken I – 1–1

Ohne Datenbanken: Datenredundanz

Basis- oder Anwendungssoftware verwaltet ihre eigenen Daten in ihren eigenen (Datei-)Formaten

Textverarbeitung: Texte, Artikel und Adressen

Buchhaltung: Artikel, Adressen

Lagerverwaltung: Artikel, Aufträge

Auftragsverwaltung: Aufträge, Artikel, Adressen

CAD-System: Artikel, Technische Bausteine

Daten sind redundant: mehrfach gespeichert; Probleme:

Verschwendung von Speicherplatz, „Vergessen“ von Änderungen; keine zentrale, „genormte“ Datenhaltung

VL Datenbanken I – 1–2

Ohne Datenbanken: Datenredundanz II

Andere Software-Systeme können große Mengen von Daten nicht effizient verarbeiten

Mehrere Benutzer oder Anwendungen können nicht parallel auf den gleichen Daten arbeiten, ohne sich zu stören

Anwendungsprogrammierer / Benutzer können Anwendungen nicht programmieren / benutzen, ohne

interne Darstellung der Daten

Speichermedien oder Rechner

zu kennen (Datenunabhängigkeit nicht gewährleistet)

Datenschutz und Datensicherheit sind nicht gewährleistet

(3)

Mit Datenbanken: Datenintegration

Die gesamte Basis- und Anwendungssoftware arbeitet auf denselben Daten, z.B. Adressen und Artikel werden nur einmal gespeichert

Datenbanksysteme können große Datenmengen effizient verwalten (Anfragesprachen, Optimierung, Interne Ebene)

Benutzer können parallel auf Datenbanken arbeiten (Transaktionskonzept)

Datenunabhängigkeit durch 3-Ebenen-Konzept

Datenschutz (kein unbefugter Zugriff) und Datensicherheit (kein ungewollter Datenverlust) werden vom System gewährleistet

VL Datenbanken I – 1–4

Historie

Anfang 60er Jahre: elementare Dateien, anwendungsspezifische Datenorganisation (geräteabhängig, redundant, inkonsistent)

Ende 60er Jahre: Dateiverwaltungssysteme (SAM, ISAM) mit Dienstprogrammen (Sortieren)

(gerateunabhängig, aber redundant und inkonsistent)

70er Jahre: Datenbanksysteme (Geräte- und Datenunabhängigkeit, redundanzfrei, konsistent)

VL Datenbanken I – 1–5

Prinzipien

DBMS: Datenbank-Management-System

DBS: Datenbanksystem (DBMS + Datenbank)

. . .

Datenbank DBMS

Anwendung 1 Anwendung n

(4)

Prinzipien II

Grundmerkmale

verwalten persistente (langfristig zu haltende) Daten

verwalten große Datenmengen effizient

Datenbankmodell, mit dessen Konzepten alle Daten einheitlich beschrieben werden (Integration)

Operationen und Sprachen (DDL, IQL, DML, . . . ) deskriptiv, getrennt von einer Programmiersprache

Transaktionskonzept, Concurrency Control: logisch zusammenhängende Operationen atomar (unteilbar), Auswirkungen langlebig, können parallel

durchgeführt werden

Datenschutz, Datenintegrität (Konsistenz), Datensicherheit

VL Datenbanken I – 1–7

Prinzipien III

Grundprinzip moderner Datenbanksysteme

3-Ebenen-Architektur (physische

Datenunabhängigkeit, logische Datenunabhängigkeit)

Trennung zwischen Schema (etwa Tabellenstruktur) und Instanz (etwa Tabelleninhalt)

angelehnt an 9 Codd’sche Regeln:

VL Datenbanken I – 1–8

Die neun Codd’schen Regeln

1. Integration: einheitliche, nichtredundante Datenverwaltung

2. Operationen: Speichern, Suchen, Ändern

3. Katalog: Zugriffe auf Datenbankbeschreibungen im Data Dictionary

4. Benutzersichten

5. Integritätssicherung: Korrektheit des Datenbankinhalts 6. Datenschutz: Ausschluß unauthorisierter Zugriffe 7. Transaktionen: mehrere DB-Operationen als

Funktionseinheit

8. Synchronisation: parallele Transaktionen koordinieren 9. Datensicherung: Wiederherstellung von Daten nach

Systemfehlern

(5)

Konzeptuelle Ebene: Relationenmodell I

Konzeptuell ist die Datenbank eine Menge von Tabellen

AUSLEIH INV.NR NAME 4711 Meyer 1201 Schulz 0007 Müller 4712 Meyer BUCH INV.NR TITEL ISBN AUTOR

0007 Dr. No 3-125 James Bond 1201 Objektbanken 3-111 Heuer 4711 Datenbanken 3-765 Vossen 4712 Datenbanken 3-891 Ullman

4717 PASCAL 3-999 Wirth

Tabellen = „Relationen“

VL Datenbanken I – 1–10

Konzeptuelle Ebene: Relationenmodell II

Fett geschriebene Zeilen: Relationenschema

Weitere Einträge in der Tabelle: Relation

Eine Zeile der Tabelle: Tupel

Eine Spaltenüberschrift: Attribut

. . . . . . . . . . . .

R A1 An

Tupel

Relationenschema Relationenname Attribute

}

Relation

VL Datenbanken I – 1–11

Integritätsbedingungen

Relationenschema+lokale Integritätsbedingungen

INVENTARNR ist Schlüssel für BUCH

d.h. INVENTARNR darf nicht doppelt vergeben werden

Datenbankschema ist Menge von Relationenschemata +globale Integritätsbedingungen

INVENTARNR in AUSLEIH ist Fremdschlüssel bezüglich BUCH

d.h.: INVENTARNR taucht in einem anderen Relationenschema als Schlüssel auf

(6)

Anfrageoperationen I

SELEKTION: Zeilen (Tupel) auswählen σNAME=’Meyer’(AUSLEIH)

INVENTARNR NAME 4711 Meyer 4712 Meyer

PROJEKTION: Spalten (Attribute) auswählen

πINVENTARNR, TITEL(BUCH)

INVENTARNR TITEL 0007 Dr. No 1201 Objektbanken 4711 Datenbanken 4712 Datenbanken

4717 PASCAL

Achtung: doppelte Tupel werden entfernt!

VL Datenbanken I – 1–13

Anfrageoperationen II

VERBUND (JOIN): Tabellen verknüpfen über gleichbenannte Spalten und gleiche Werte

πINVENTARNR,TITEL(BUCH)1σNAME=’Meyer’(AUSLEIH) ergibt:

INVENTARNR TITEL NAME 4711 Datenbanken Meyer 4712 Datenbanken Meyer

Weitere Operationen: Vereinigung, Differenz, Durchschnitt, Umbenennung

Alle Operationen beliebig kombinierbar („Algebra“)

VL Datenbanken I – 1–14

Sprachen und Sichten I

Anfragesprache

Interaktive Möglichkeit, Datenbankabfragen zu formulieren und zu starten

Relationenalgebra+Funktionen (SUM, MAX, MIN, COUNT, . . . )+arithmetische Operationen

eventuell graphisch „verpackt“

SQL als Standard

select BUCH.INVENTARNR, TITEL, NAME from BUCH, AUSLEIH

where NAME = ’Meyer’ and

BUCH.INVENTARNR = AUSLEIH.INVENTARNR

(7)

Sprachen und Sichten II

Änderungs-Komponente: interaktive Möglichkeit

Tupel einzugeben

Tupel zu löschen

Tupel zu ändern

;Lokale und globale Integritätsbedingungen werden geprüft!

Definition von Benutzersichten

Häufig vorkommende Datenbankabfragen können unter einem „Sichtnamen“ als „virtuelle“ Tabelle gespeichert werden.

VL Datenbanken I – 1–16

Optimierer I

Problem:

Finde einen Relationenalgebra-Ausdruck, der äquivalent ist („das gleiche Ergebnis liefert“) wie der gegebene, aber effizienter auszuwerten ist

VL Datenbanken I – 1–17

Optimierer: Algebraische Optimierung

allgemeine Regel:

1. σA=Konst( REL11REL2 ) und A aus REL1 2. σA=Konst(REL1)1REL2

sind äquivalent

allgemeine Strategie: Selektionen möglichst früh, da sie Tupelanzahlen in Relationen verkleinern

Beispiel: REL1 100 Tupel, REL2 50 Tupel intern: Tupel sequentiell abgelegt

1. 5000 (1)+5000 (σ) = 10000 Operationen 2. 100 (σ)+10·50 (1) = 600 Operationen

falls 10 Tupel in REL1 die BedingungA=Konst erfüllen

(8)

Interne Strukturen

Relation kann intern als Datei organisiert werden:

Heap, ungeordnet

Sequentiell, geordnet nach bestimmter Spalte

Hash-organisiert, gestreut gespeichert, Adreßberechnung durch Formel

Baumartig, Tupel in einem Suchbaum angeordnet

Zusätzliche Zugriffspfade

statischer Index, einstufig oder mehrstufig

dynamischer Index

beliebiger Wechsel zwischen Dateiorganisationen/

Zugriffspfaden möglich

je schneller die Abfrage, desto langsamer der Update

VL Datenbanken I – 1–19

Zugriffe auf Plattenseiten

Jede Operation (σ,π,1, . . . ) wird in optimale Folge von Seitenzugriffen umgesetzt

Ausnutzung von Zugriffspfaden und

Dateiorganisation, wenn es dem System sinnvoll erscheint

Bestimmung der Reihenfolge der Zugriffe nach vorliegenden Zugriffspfaden

Beispiel:σNAME=’Meyer’INVENTARNUMMER>4500(AUSLEIH))

Annahme: auf NAME ist ein Zugriffspfad definiert, auf INVENTARNUMMER nicht

System ändert die Reihenfolge der Selektionen!!

VL Datenbanken I – 1–20

Einsatzgebiete und Grenzen

Klassische Einsatzgebiete:

viele Objekte (15000 Bücher, 300 Benutzer, 100 Ausleihvorgänge pro Woche, . . . )

wenige Objekttypen (BUCH, BENUTZER, AUSLEIHUNG)

etwa Buchhaltungssysteme,

Auftragserfassungssysteme, Bibliothekssysteme, . . .

Aktuelle Anwendungen:

E-Commerce, entscheidungsunterstützende Systeme (Data Warehouses, OLAP), NASA’s Earth

Observation System (Petabyte-Datenbanken), Data Mining

(9)

Einsatzgebiete und Grenzen II

Normalerweise sind herkömmliche Datenbanksysteme überfordert mit:

CAD- oder andere technische Anwendungen (viele Objekte, viele Objekttypen, sehr strukturierte Objekte)

ABER: Objektorientierte Datenbanksysteme

Expertensysteme (wenige Objekte, viele Objekttypen, kompliziertere Operationen)

ABER: Deduktive Datenbanksysteme

VL Datenbanken I – 1–22

Entwicklungslinien: 60er Jahre

DBS basierend auf hierarchischem Modell, Netzwerkmodell

Zeigerstrukturen zwischen Daten

Schwache Trennung interne / konzeptuelle Ebene

Navigierende DML

Trennung DML / Programmiersprache

VL Datenbanken I – 1–23

Entwicklungslinien: 70er und 80er Jahre

Relationale Datenbanksysteme

Daten in Tabellenstrukturen

3-Ebenen-Konzept

Deklarative DML

Trennung DML / Programmiersprache

(10)

Entwicklungslinien: (80er und) 90er Jahre

Wissensbanksysteme

Daten in Tabellenstrukturen

Stark deklarative DML, integrierte Datenbankprogrammiersprache

Objektorientierte Datenbanksysteme

Daten in komplexeren Objektstrukturen (Trennung Objekt und seine Daten)

Deklarative oder navigierende DML

Oft integrierte Datenbankprogrammiersprache

Oft keine vollständige Ebenentrennung

VL Datenbanken I – 1–25

Entwicklungslinien: heute

Unterstützung für spezielle Anwendungen

Multimediadatenbanken: Verwaltung multimedialer Objekte (Bilder, Audio, Video)

XML-Datenbanken: Verwaltung semistrukturierter Daten (XML-Dokumente)

Verteilte Datenbanken: Verteilung von Daten auf verschiedene Rechnerknoten

Föderierte Datenbanken, Multidatenbanken, Mediatoren: Integration von Daten aus heterogenen Quellen (Datenbanken, Dateien, Web-Quellen)

Mobile Datenbanken: Datenverwaltung auf Kleinstgeräten (PDA, Handy, . . . )

VL Datenbanken I – 1–26

Schema-Architektur I

Zusammenhang zwischen

Konzeptuellen Schema (Ergebnis der Datendefinition)

Internen Schema (Festlegung der Dateiorganisationen und Zugriffspfade)

Externen Schema (Ergebnis der Sichtdefinition)

Anwendungsprogrammen (Ergebnis der Anwendungsprogrammierung)

(11)

Schema-Architektur II

Trennung Schema — Instanz

Schema (Metadaten, Datenbeschreibungen)

Instanz (Anwenderdaten, Datenbankzustand oder -ausprägung)

Datenbankschema besteht aus

internem, konzeptuellen, externen Schema und den Anwendungsprogrammen

im konzeptuellen Schema etwa:

– Strukturbeschreibungen – Integritätsbedingungen

– Autorisierungsregeln (pro Benutzer für erlaubte DB-Zugriffe)

VL Datenbanken I – 1–28

Schema-Architektur III

Datendarstellung

Anfragebearbeitung

konzeptuelles Schema

internes Schema

externes Schema N externes Schema 1 . . .

VL Datenbanken I – 1–29

Datenunabhängigkeit I

Stabilität der Benutzerschnittstelle gegen Änderungen

physisch: Änderungen der Dateiorganisationen und Zugriffspfade haben keinen Einfluß auf das konzeptuelle Schema

logisch: Änderungen am konzeptuellen und gewissen externen Schemata haben keine Auswirkungen auf andere externe Schemata und Anwendungsprogramme

(12)

Datenunabhängigkeit II

mögliche Auswirkungen von Änderungen am konzeptuellen Schema:

eventuell externe Schemata betroffen (Ändern von Attributen)

eventuell Anwendungsprogramme betroffen (Rekompilieren der Anwendungsprogramme, eventuell Änderungen nötig)

nötige Änderungen werden jedoch vom DBMS erkannt und überwacht

VL Datenbanken I – 1–31

Ebenen-Architektur am Beispiel I

Konzeptuelle Sicht: relationale Darstellung

Name Meier Schulze Ibsen

Nr 1 2 1

4242 3745 3745 ... ... ....

BUCH BuchID

4242 3745

Titel Datenbasen I UNIX X

Jahr 1993 1998 ...

...

...

ISBN 3-452-12 1-424-11 ...

BuchID BUCH.BuchID AUTOR

VL Datenbanken I – 1–32

Ebenen-Architektur am Beispiel II

Externe Sicht: Daten in einer flachen Relation

Name

Meier Schulze Ibsen

Nr

1 2 1 ... ...

UNIX X Datenbasen I

1998 1993

...

...

Titel Jahr ISBN

1-424-11

3-452-12 ...

UNIX X 1998 3-452-12 TITEL

(13)

Ebenen-Architektur am Beispiel III

Externe Sicht: Daten in einer hierarchisch aufgebauten Relation

UNIX X 1998

Titel Jahr ISBN

3-452-12

...

... ... ...

Datenbasen I

Meier 1993 1-424-11

{ Autor } Autoren

Ibsen Schulze TITEL

VL Datenbanken I – 1–34

Ebenen-Architektur am Beispiel IV

Interne Darstellung

Ibsen Heuer Anderson

Ibsen Meier Schulze

Ibsen Jagellovsk DeMonti ....

1 1 4 ..

*

*

*

*

101101 101110

110001 ...

Datenbasen 1 MZ4 antwortet nicht ...

- -

110000 101111 Baumzugriff Autorname

UNIX X Hash-Tabelle Buchtitel

... ...

VL Datenbanken I – 1–35

Einige konkrete Systeme

(Objekt-)Relationale DBMS

Oracle9i, IBM DB2 V.7, Microsoft SQL Server 2000

MySQL, PostgreSQL

Objektorientierte DBMS

Poet, Versant, ObjectStore

XML-DBMS

Tamino (Software AG), eXcelon

Referenzen

ÄHNLICHE DOKUMENTE

where Bücher.ISBN = Buch_Stichwort.ISBN select Bücher.ISBN, Titel, Stichwort (richtig) from Bücher, Buch_Stichwort. where Bücher.ISBN

Vorl V_Bez SWS Semester Studiengang _DB _zwei _erstes Informatik Vorl_Voraus V_Bez Voraussetzung.

Persönliche Assistenz ermöglicht Menschen mit Behinderungen ein selbstbestimmtes Leben, indem sie Aufgaben, die sie nicht selbst bewäl- tigen können, anderen Personen übertragen..

Dies erfordert eine Verschrän- kung von zwei Erkenntnisebenen: erstens der empirischen Ebene – was weiss man über den Identitätsbildungspro- zess von Kindern und Jugendlichen,

In der pädagogischen Diskussion ist die ge- nerelle Zielsetzung des berufs- oder laufbahnwahlvorbe- reitenden Unterrichts unbestritten: Junge Menschen sollen durch

Nun ist aber eine Division nur sinnvoll, wenn der Divisor nicht null ist.. Man kann nicht durch null

2.25 Following the conflict in Libya, the Conflict Pool funded deployment of a Defence Advisory Training Team (DATT) to Tripoli to support the transition process,

September findet in den Räumen des Ministeriums für Gesundheit und So- ziales des Landes Sachsen-Anhalt eine Fachtagung unter dem Titel „Prävention von sexualisierter Gewalt an