Post on 04-Feb-2016
description
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