Transcript Datenbanken

Datenbanken
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Inhalt
1.
2.
3.
4.
5.
6.
7.
8.
Motivation
Grundlegende Begriffe
Geschichte
Aufgabenfelder / Tätigkeitsbereiche
Grundlagen
Formalisierung der Realität
Modelle
Datenmodellierung
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
2
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, Datenbanksprachen und Datenbankmanagementsysteme, 4. Auflage Oldenburg, München.
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
3
Motivation
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
4
Vorher
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
5
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
6
Nachher
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
7
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
Grundlegende
Begriffe
Definitionen
• Datenbank
• Daten
• Datenbankmanagementsystem
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
17
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
18
Beispiele für Datenbanken
•
•
•
•
•
•
•
•
Mitarbeiterdatenverwaltung
Kundendatenverwaltung
Auftragsverwaltung
Produktkatalog
Bibliotheksverwaltung
Lagerhaltung
Bundes-Bahn-Fahrplan
Veranstaltungsmanagement
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
19
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
20
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
21
Datenbankmanagementsystem (DBMS)
Software-System
zur Verwaltung von
Datenbanken
und
Datenbankzugriffen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
22
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
23
Geschichte der
Datenbanktechnologie
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
25
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
26
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
27
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
28
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
29
Aufgabenfelder
Aufgabenfelder
•
•
•
•
Nutzung durch Anwender
Entwicklung (Entwickler)
Verwaltung (Administrator)
Datenarchitektur
(Datenarchitekt)
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
31
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
32
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
33
Aufgaben Administrator
•
•
•
•
•
Implementation DBMS
Datensicherung (Back-up)
Benutzerverwaltung
Tuning (Performance-Optimierung)
Replikation im Rahmen verteilter DBen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
34
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
35
Zugriffsformen
Entwickler
Administrator
Anwender
Entwicklungstool
Verwaltungstool
Anwendertool
Datenbankmanagementsystem (DBMS)
DB1
DB2
DB3
36
Grundlagen
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
38
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
39
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 WebPublishing
– Schnittstellen zu DBMS und DMS
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
40
Datenbanktypen / (Modelle)
• Hierarchische Datenbanken
• Netzwerk Datenbanken
• Relationale Datenbanken
• Objektrelationale Datenbanken
• Objektorientierte Datenbanken
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
41
Datenbanktypen
•
•
•
•
•
Föderierte Datenbanken
Multimedia Datenbanken
Temporale Datenbanken
Deduktive Datenbanken
XML-Datenbanken
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
42
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
43
Desintegrierte Datenhaltung
Client1
Client2
Client3
Anw.1
Anw.2
Anw.3
Datei1
Datei2
Datei3
44
Integrierte Datenhaltung in mehreren
DB
Client1
Client2
Client3
Anw.1
Anw.2
Anw.3
Datenbankmanagementsystem (DBMS)
DB1
DB2
DB3
45
Integrierte Datenhaltung in einer DB
Client1
Client2
Client3
Anw.1
Anw.2
Anw.3
Datenbankmanagementsystem (DBMS)
Datenbank
46
Komplette Integration
Anw.1
Komponenten
Services
S6
S7
Anw.2
Client
S1
Middleware
S8
S9
S5
S2
S3
S4
Komponenten/
Services
Datenbankmanagementsystem (DBMS)
Datenbank
47
ANSI (SPARC) DB-Architektur
Benutzer1
Sicht1
Benutzer2
externe
Sicht2
Benutzer3
Ebene
Sichten
der
einzelnen
Benutzer
Sicht3
Konzeptionelle Ebene / Logisches Datenmodell
Physikalische Ebene
Physikalische
Datenorganisation
und Zugriff
Datei1
Datei2
Datei3
Datei4
Datei5
48
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
49
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
50
Formalisierung der
Realität
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
52
Formalisierung der Realität
Begriffe
Klassen
Objekttypen
is-a
Ding
is-a
Lebewesen
Sache
is-a
is-a
Mensch
instanz
Paul
is-a
is-a
Tier
Pflanze
is-a
is-a
Mitarbeiter
Idee
is-a
Hund
Baum
instanz
Hasso
Haus
is-a
Stein
Teil-von
is-a
Birke
Oberbegriffe
Unterbegriffe
Objekte
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
53
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
54
Formalisierung der Realität
Extensional: „G ist Teilmenge von H“
Paul
.
Mensch
Tier
Lebewesen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
55
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
56
Formalisierung der Realität
grün(Bank1)  Farbe(Bank1, grün).
schwer(Bank1)  Gewicht(Bank1,schwer).
Tabelle
Objektname
Farbe
Bank1
grün
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Gewicht
schwer
57
Formalisierung der Realität
Eigenschaft
Farbe
grün
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Gewicht
blau
schwer
58
Modelle
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
60
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
61
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
62
Modellierung
Die methodisch geleitete
Tätigkeit
der Erstellung von
Modellen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
63
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
64
Datenmodellierung
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
66
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 Tabellen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
67
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
68
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
69
Datenmodellierung im Relationalen Modell
Tabellen
• Tabellenname
• Zeilen, Spalten, Zellen
• Merkmale, Attribute  Spalten
• Datensätze  Zeilen
• Datenelemente  Zellen
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
70
Datenmodellierung im Relationalen Modell
Beispiel
Spalte / Attribut
Mitarbeiter
Datensatz
M#
M1
M2
Name
Becker
Meier
Ort
Basel
Lörrach
Datenelement / Datenwert
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
71
Datenmodellierung im Relationalen Modell
Beziehung Tabelle / Relation
R= {(M1, Becker, Basel), (M2, Meier, Lörrach)}
M#
Name
Ort
M1
M2
Becker
Meier
Basel
Lörrach
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
72
Relationen / Tabellen / ERM
Relation
Tabelle
ERM
Objekttyp
Relation
Tabelle
Entity-Typ
Objekt
Tupel
Zeile
Entity
Eigenschaft
"Stelle" in der Spalte mit
Attribut
Relation
Attributname
Mittels
Durch
eigener
Verknüpfung Relationship
Relation
von
zwischen
SchlüsselObjektnamen attributen
Beziehung
zwischen
Objekten
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
73
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üsselwerten
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
74
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
75
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
76
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
77
Datenmodellierung im Relationalen Modell
Beispiel:
Normalisierung in 1NF
Die 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
78