Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Post on 05-Apr-2015

133 views 2 download

Transcript of Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002.

Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

2

Inhalt

1. Motivation2. Grundlegende Begriffe3. Geschichte4. Aufgabenfelder / Tätigkeitsbereiche5. Grundlagen6. Formalisierung der Realität7. Modelle8. Datenmodellierung

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

3

Literatur

Meier, Andreas, [2001]: Relationale Datenbanken – Leitfaden für die Praxis, Springer, Berlin.

Heuer, Andreas / Saake, Gunter [2000]: Datenbanken: Konzepte und Sprachen, 2. Auflage, mitp, Bonn.

Vossen, Gottfried, [2000]: Datenmodelle, Daten-banksprachen und Datenbankmanagement-systeme, 4. Auflage Oldenburg, München.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

4

Motivation

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

5

Vorher

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

6Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

7

Nachher

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

8Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

9

Datenbanken - Motivation

Die ganze Datenbankproblematik beginnt damit, dass “man” “Daten” längerfristig, d.h. über die Laufzeit eines Programmes hinaus, auf einem Computer speichern will.

Computer / Rechner EDV

(elektronische Datenverarbeitung)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

10

Datenbanken - Anforderungen

• Schnelle, flexible Suchmöglichkeiten im Datenbestand

• Gezielter schneller Zugriff auf bestimmte Eigenschaften eines Objektes

• Einfache gezielte Änderung der Daten • Paralleler Zugriff mehrerer Mitarbeiter oder

Programme auf die Daten, ohne dass die Daten fehlerhaft werden

• Datenunabhängigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

11

Datenbanken - Anforderungen

• Unterstützung von Transaktionen, (d.h. mehrere sequentiell durchgeführte Änderungen von Daten werden zusammenhängend behandelt. Entweder werden alle Änderungen durchgeführt oder keine)

• Gezielte Vergabe von Zugriffsrechten für Anwender und Entwickler

• Datenkonsistenz /-integrität• Datensicherung

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

12

Datenbanken - Anforderungen

• Gute Weiterverarbeitungs- bzw. Auswertungsmöglichkeiten der Daten durch Programme

• Hohe Leistungsfähigkeit auch bei der Verarbeitung von sehr grossen Datenmengen und sehr vielen gleichzeitigen Zugriffen

• Synchronisierte effiziente Verteilung der Daten im Netzwerk (Replikation)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

13

Grundfunktionen von DBen

• Anwender– Suche und Anzeige von Daten– Eingabe von Daten– Löschen von Daten– Veränderung von Daten

• Entwickler– Datenbank anlegen– Tabellen definieren– Verknüpfungen zwischen Tabellen

definieren

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

14

Vorteile DB gegenüber Datei

• Einfachere Strukturierbarkeit der Daten

• schnellerer systematischerer Zugriff auf die einzelne Daten

• Vorhandene Suchfunktionen bzw. Anfragesprachen (SQL, QBL)

• Flexible Verknüpfbarkeit von Daten

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

15

Vorteile von zentraler gegenüber lokaler DB

• Massiver kontrollierter Parallelzugriff• Alle berechtigten Mitarbeiter können von

ihrem Arbeitsplatz aus auf die gleichen Daten zugreifen

• Alle berechtigten Mitarbeiter können Daten manipulieren

• Zugriffsrechte können flexibel vergeben werden

• Integrierte Datenhaltung aller Daten (ohne Redundanzen)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Grundlegende Begriffe

17

Definitionen

• Datenbank

• Daten

• Datenbankmanagementsystem

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

18

Datenbank - Definition

Eine Datenbank ist eine strukturiert bzw. geordnet , elektronisch gespeicherte Sammlung von Daten(elementen).Die dabei berücksichtigen Objekte, Eigenschaften und deren technische Organisation ergeben sich im Rahmen der Datenmodellierung– aus den Aufgaben, für die sie modelliert werden,

und – aus den technischen Möglichkeiten des

Datenbankverwaltungssystems (DBMS).

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

19

Beispiele für Datenbanken

• Mitarbeiterdatenverwaltung• Kundendatenverwaltung• Auftragsverwaltung• Produktkatalog• Bibliotheksverwaltung• Lagerhaltung• Bundes-Bahn-Fahrplan • Veranstaltungsmanagement

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

20

Daten - Definition

• Daten sind einzelne oder aneinander gereihte Zeichen mit einer Bedeutung

• Daten sind Informationen in einer zur technikgestützten Darstellung und Verarbeitung geeigneten Form.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

21

Daten - Beispiele

• Zahlen: „12646“z.B. interpretiert als Kosten in DM

oder als Postleitzahl eines Ortes

• Namen: „Herbert“

z.B. interpretiert als Vorname eines Mitarbeiters

• Datumsangabe: „10.02.02“

interpretiert als 10. Februar 2002

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

22

Datenbankmanagementsystem (DBMS)

Software-System zur Verwaltung von Datenbanken

und

Datenbankzugriffen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

23

Reale DBMS auf dem Markt

• DB2 /UDB (IBM)• Oracle (Oracle)• MS SQL Server (Microsoft)• MySQL (Linux / Open Source)• Sybase (Sybase)• Informix (IBM)• Tamino (Software AG)• MS Access (Microsoft) (Desktop)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Geschichte der Datenbanktechnologie

25

Datenbanken - Geschichte

1. Generation

• Speicherung der Daten auf Lochkarten oder Magnetbändern

• Offline-Betrieb / Batchverarbeitung(Berichte)

• Sequentieller Zugriff auf die Daten

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

26

Datenbanken - Geschichte

2. Generation

• Speicherung der Daten auf Magnetplatten

• Online-Betrieb (interaktiv am Terminal)

• Direkter Zugriff auf die Daten

• Parallelzugriff auf die Datenbank

• Hierarchisches Datenmodell (IMS / IBM)

• Netzwerkmodell (UDS / Siemens)Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

27

Datenbanken - Geschichte

3. Generation

• Nichtprozedurale DB-Sprachen (was statt wie)

• Relationales Datenmodell (DB2, Oracle)

• Entity Relationschip Model (Chang)

• SQL (Structered Query Language)

• Datenunabhängigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

28

Datenbanken - Geschichte

4. Generation

• Datenbanken auf PC-Basis (dbase / MS-Access)

• Objektorientierte Datenbanken (Poet / O2)

• Client-Server-Architekturen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

29

Datenbanken - Geschichte

5. Generation• Offene Schnittstellen (ODBC)• Integration mit Internettechnik (JDBC)• Objektrelationale Datenbanken • Zeitdatenbanken• Deduktive Datenbanken• Multidimensionale Datenbanken• Verteilte Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Aufgabenfelder

31

Aufgabenfelder

• Nutzung durch Anwender

• Entwicklung (Entwickler)

• Verwaltung (Administrator)

• Datenarchitektur (Datenarchitekt)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

32

Anwendertätigkeiten

• Daten suchen, anschauen

• Datenpflege (Aktualisierung der Daten)– neue Daten eingeben– vorhandene Daten löschen– vorhandene Daten verändern

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

33

Aufgaben Entwickler

• Datenmodellierung – Konzeptionelles Schema entwerfen– Tabellen und Verknüpfungen definieren

• Ansichten generieren

• Formulare / Masken entwerfen

• Standard-Berichte erstellen

• Anwendungsentwicklung mit DBen

• Konsistenzsicherung der Datenbasis

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

34

Aufgaben Administrator

• Implementation DBMS

• Datensicherung (Back-up)

• Benutzerverwaltung

• Tuning (Performance-Optimierung)

• Replikation im Rahmen verteilter DBen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

35

Aufgaben Datenarchitekt

• Konzept für ein möglichst redundanzfreies unternehmensweites Datenmodell erstellen und pflegen

• Konzept zur Verteilung der Daten im Netzwerk erstellen und pflegen

• Beratung und Koordination von Entwicklern und Administratoren

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

36

Datenbankmanagementsystem (DBMS)

Zugriffsformen

DB1 DB2 DB3

Entwickler

Entwicklungs-tool

Verwaltungs-tool

Anwender-tool

Administrator Anwender

Grundlagen

38

Unterschied: Daten - Dokumente

• Daten setzen sich aus terminologisch kontrollierten und systematisch verknüpften Datenelementen zusammen

• Daten sind durch Datenfelder stark strukturiert (Beispiel: Tabelle)

• Dokumente sind schwach strukturierte und terminologisch wenig kontrollierte Informationen (Beispiel: Text, Multimedia)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

39

Unterschied: DBMS- DMS/CMS

• DBMS: Datenbankmanagementsystem– speichert Daten in einzelnen Feldern– erlaubt direkten Zugriff und kombinierte

Suche über jedes Datenfeld– kontrollierte Terminologie

• DMS Dokumentenmangementsystem– speichert Dokumente– Zugriff mittels Index oder Volltextsuche

• CMS: Content Management System

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

40

Unterschied: DBMS- DMS/CMS

• CMS: Content Management System– speichert Dokumente– Zugriff mittels Index, Volltextsuche, Link– Web-orientiert (Hypermedia) – Trennung von Inhalt und Form– Site-Management– unterstützt kooperatives / paralleles Web-

Publishing– Schnittstellen zu DBMS und DMS

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

41

Datenbanktypen / (Modelle)

• Hierarchische Datenbanken

• Netzwerk Datenbanken

• Relationale Datenbanken

• Objektrelationale Datenbanken

• Objektorientierte Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

42

Datenbanktypen

• Föderierte Datenbanken

• Multimedia Datenbanken

• Temporale Datenbanken

• Deduktive Datenbanken

• XML-Datenbanken

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

43

Datenbankanwendungen

• WEB-Datenbanken

• CAD-Datenbanken

• Data-Warehouse-Systeme

• Volltext-Datenbanken

• Geographische Informationssysteme

• Dokumenten- /Content-Management

• Suchmaschinen / Information Retrieval

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

44

Desintegrierte Datenhaltung

Datei1 Datei2 Datei3

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

45

Integrierte Datenhaltung in mehreren DB

DB1 DB2 DB3

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

Datenbankmanagementsystem (DBMS)

46

Integrierte Datenhaltung in einer DB

Daten-bank

Anw.1 Anw.2 Anw.3

Client1 Client2 Client3

Datenbankmanagementsystem (DBMS)

47

Datenbankmanagementsystem (DBMS)

Komplette Integration

Daten-bank

Anw.1 Anw.2Client

MiddlewareS1

S2S3

S4

S6

S5

S7

S8

S9

Komponenten/Services

KomponentenServices

48

ANSI (SPARC) DB-Architektur

Datei2 Datei3 Datei4

Sicht1 Sicht2 Sicht3

Benutzer2 Benutzer3Benutzer1

externe Ebene

Physikalische Ebene

Konzeptionelle Ebene / Logisches Datenmodell

Datei1 Datei5

SichtendereinzelnenBenutzer

PhysikalischeDatenorganisationund Zugriff

49

Datenunabhängigkeit

• Die ANSI SPARC 3 Schema-Architektur ermöglicht Datenunabhängigkeit

• An jedem Schema können Änderungen vorgenommen werden, ohne dass die anderen Schemata davon betroffen sind.

• Am der konzeptionellen Schemata können Änderungen durchgeführt werden, ohne dass Anwendungen, die auf dem externen Schema aufsetzen, dadurch angepasst werden müssten.

• Gleiches gilt für Änderungen auf dem internen Schema

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

50

Datenqualität

• Korrektheit der Daten

• Aktualität der Daten

• Vollständigkeit der Daten

• Widerspruchsfreiheit der Daten

• Relevanz der Daten

• „Algorithmen und Datenstrukturen“

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Formalisierung der Realität

52

Formalisierung der Realität

• Gegenstände, Individuen, Objekte – Eigennamen (Peter, Hasso, USA) – Kennzeichnungen (der Pförtner von IBM)– Nominalphrasen (der Chef von IBM)

• Begriffe, Klassen, Objekttypen, Eigenschaften, Attribute, Merkmale

(Mensch, Tier, Lebewesen, Staat)

• Relationen (z.B.: grösser als, höher als)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

53

Formalisierung der Realität

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Ding

PflanzeMensch Tier

SacheLebe-wesen

Mitar-beiter

Haus Stein

BaumHund

Birke

HassoPaul

is-ais-a

is-a

is-ais-a

is-a

is-a

is-a is-a is-a

instanz instanz

BegriffeKlassenObjekttypen

Objekte

Teil-von

Ideeis-a

OberbegriffeUnterbegriffe

54

Formalisierung der Realität

Logik:

is-a(Mensch, Lebewesen)

Mensch(Paul), Lebewesen(Paul)

G H is-a(G,H) ( x G(x) H(x))

instanz(Paul,Mensch), Mensch(Paul)

x G instanz(x,G) G(x)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

55

Formalisierung der Realität

Extensional: „G ist Teilmenge von H“

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Mensch

Lebewesen

.Paul

Tier

56

Formalisierung der Realität

Eigenschaften / Attribute

• Klassenzugehörigkeit (Lebewesen)

• „pure“ Eigenschaft (Attribut)

Beispiele:

Gewicht, Grösse, Alter,Farbe, Name,

Gehaltsstufe, Höchstgeschwindigkeit

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

57

Formalisierung der Realität

grün(Bank1) Farbe(Bank1, grün).

schwer(Bank1) Gewicht(Bank1,schwer).

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Objektname Farbe Gewicht

schwergrünBank1

Tabelle

58

Formalisierung der Realität

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Eigenschaft

Farbe Gewicht

grün schwerblau

Modelle

60

Modelle

• Bilden die Wirklichkeit ab durch – Zweckbezogene Abstraktion– Zweckbezogene Reduktion der

Komplexität

• schaffen bessere Einsicht in die relevanten Zusammenhänge relevanten Eigenschaften relevanten Beziehungen der relevanten Komponenten.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

61

Modelle

• Zwischenrepräsentationen für die Entwicklung komplexer Systeme

• Darstellungen, Muster, oder Schemata gegebener oder erst noch zu schaffender Phänomene,

• Dienen in einem gegebenen Kontext bestimmten Personen bei der Verfolgung bestimmter Ziele und Zwecke.

• Sind für gewisse Aufgaben und innerhalb eines gewissen pragmatischen Kontextes geschaffen

• Unterstützen die Kommunikation zwischen Entwicklern und Anwendern

• Ermöglichen übersichtliche Spezifikation und Dokumentation

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

62

Modelle - Merkmale

• Abbildungsmerkmal(Modell von was?)

• Verkürzungsmerkmal (Selektionsmerkmal)

• Pragmatisches Merkmal (Funktion - Intention, Modell wozu? für wen? wann?)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

63

Modellierung

Die methodisch geleitete Tätigkeit

der Erstellung von Modellen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

64

Modellierungsansatz

ist eine aufeinander abgestimmte Kombination von

• Methoden (wie ist etwas zu tun?)

• Vorgehen (was ist wann zu tun?)

• Werkzeugen (Womit ist etwas zu tun?)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Datenmodellierung

66

Datenmodellierung

• Tätigkeit zur Strukturierung der Datenbestände

Ziel:Redundanzarme systematische Beschreibung der zur computerunterstützten Arbeit mit einem DBMS benötigten Gegenstände, Begriffe und deren Zusammenhänge.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

67

Datenmodellierung im Relationalen Modell

• Bestimmung der relevanten Objekttypen

• Bestimmung der relevanten Eigenschaften (Attribute)

• Bestimmung der Beziehungen zwischen den Objekttypen

• Abbildung der Objekttypen und der Beziehungen auf Tabellen

• Normalisierung der TabellenProf. Dr. Fabian Glasen, Datenbanken, Januar 2002

68

Datenmodellierung im Relationalen Modell

Objekte (Entities) können sein:

• Dinge

• Personen

• Gegenstände

• Vorgänge

alles was Eigenschaften hat!!!

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

69

Datenmodellierung im Relationalen Modell

Definition: Relation

Eine Relation R ist eine Teilmenge des kartesischen Produktes von Domänen Di (1 i n):

R D1 x ... x Dn.

Endliche Relationen kann man auch als zweidimensionale Tabellen darstellen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

70

Datenmodellierung im Relationalen Modell

Tabellen

• Tabellenname

• Zeilen, Spalten, Zellen

• Merkmale, Attribute Spalten

• Datensätze Zeilen

• Datenelemente Zellen

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

71

Datenmodellierung im Relationalen Modell

Beispiel

Mitarbeiter

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

M# Name Ort

M1 Becker Basel

M2 Meier Lörrach

Spalte / Attribut

Datensatz

Datenelement / Datenwert

72

Datenmodellierung im Relationalen Modell

Beziehung Tabelle / Relation

R= {(M1, Becker, Basel), (M2, Meier, Lörrach)}

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

M# Name Ort

M1 Becker Basel

M2 Meier Lörrach

73

Relationen / Tabellen / ERM

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

Relation Tabelle ERM

Objekttyp Relation Tabelle Entity-Typ

Objekt Tupel Zeile Entity

Eigenschaft "Stelle" in der Relation

Spalte mit Attribut- name

Attribut

Beziehung zwischen Objekten

Mittels eigener Relation zwischen Objektnamen

Durch Verknüpfung von Schlüssel-attributen

Relationship

74

Datenmodellierung im Relationalen Modell

Tabellendefinition• Eindeutiger Tabellenname• Eindeutiger Merkmalsname pro Tabelle• Reihenfolge der Merkmale ist egal• Anzahl der Merkmale ist beliebig (endlich)• Anzahl der Datensätze ist beliebig (endlich)• Die Reihenfolge der Datensätze ist beliebig• Mit jedem Merkmal wird ein Datentyp verknüpft• Schlüsselfeld dient der eindeutigen Identifikation eines

Datensatzes• Es gibt keine 2 Datensätze mit identischen

SchlüsselwertenProf. Dr. Fabian Glasen, Datenbanken, Januar 2002

75

Datenmodellierung im Relationalen Modell

Atomare Attributwerte:

Für das Relationale Modell gilt folgende wesentliche Einschränkung:

• Der Wert eines Attributs darf nur aus einem „atomaren“ Attributwert bestehen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

76

Datenmodellierung im Relationalen Modell

Beispiel:Die Relation Hobby(Name, Hobbies) enthalte die folgenden Tupel:

• (Huber, {Drachenfliegen,Segeln, Bergsteigen})• (Meier, Musik)• (Mueller, {Musik, Literatur, Theater})

Nicht-atomare Attributwerte sind • {Drachenfliegen, Segeln, Bergsteigen} und

{Musik, Literatur, Theater}. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

77

Datenmodellierung im Relationalen Modell

Definition: erste Normalform

Eine Relation ist in erster Normalform (1NF), wenn alle ihre Attribute nur atomare Attributwerte besitzen.

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002

78

Datenmodellierung im Relationalen Modell

Beispiel: Normalisierung in 1NFDie Relation Hobby kann auf einfache Weise in eine Relation „Hob“

in erster Normalform überführt werden:

Relationenschema

Hob(Name: varchar(20), Hobby: varchar(30))

und folgenden Tupeln

(Huber, Drachenfliegen)(Huber, Segeln)(Huber, Bergsteigen)(Meier, Musik)(Mueller, Musik)(Mueller, Literatur)(Mueller, Theater)

Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002