Set-Typen

Werbung
Historische Entwicklung
von Datenbanken
Agenda
1. Einführung
1.1 Historische Entwicklung
1.2 Motivation für Datenbanken
2. Datenmodelle
2.1 Hierarchisches Datenmodell
2.2 Netzwerk-Datenmodell
2.3 Das CODASYL/DTBTG-Konzept
2.4 Das ANSI/X3/SPARC-Konzept
2
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
1. Einführung
1.1 Historische Entwicklung
• Ab 18. Jhd.: Lochkarten
• 1956: Erfindung der Festplatte
• 1968 – 1975: Hierarchisches Datenmodell
• 1975 – 1980: Netzwerkdatenmodell
• Ab 1980: Relationales Datenmodell
3
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
1. Einführung
1.2 Motivation für Datenbanken
Klassische Programmiersprachen (FORTRAN, ALGOL,
Pascal) hatten lediglich primitive DateimanipulationsAnweisungen
• Mehr auf Verarbeitung als auf Strukturierung des Datenbestandes
ausgerichtet
• Keine Beschreibung der Beziehungen der Daten untereinander
• Schwierige Pflege der Daten
• Starre Kopplung zwischen Datein und Programmen
4
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
1. Einführung
1.2 Motivation für Datenbanken
• Änderungen in der Datenstruktur bedingen Änderungen in
Programmen und umgekehrt (keine Datenunabhängigkeit)
• Kein koordinierter Zugriff durch mehrere Programme
• Jedes Programm war zuständig für Datenschutz und –sicherheit
5
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
1. Einführung
1.2 Motivation für Datenbanken
Daraus ergaben sich folgende Prinzipien:
• Organisatorisch zentrale Betreuung von Daten
• Trennung von Daten und Programmen
Programm A
DBMS
DB
Programm B
DBS
6
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
1. Einführung
1.2 Motivation für Datenbanken
Erreichte Ziele durch Einsatz von Datenbanken
• Datenunabhängigkeit
• Benutzerorientierte Sicht der Daten
• Datenintegrität
• Vermeidung von Redundanz
• Unterstützung der Datenmanipulation
• Koordinierung des Mehrbenutzerbetriebs
• Datenneutralität
• Flexibilität
• Effizienz
7
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
Agenda
1. Einführung
1.1 Historische Entwicklung
1.2 Motivation für Datenbanken
2. Datenmodelle
2.1 Hierarchisches Datenmodell
2.2 Netzwerk-Datenmodell
2.3 Das CODASYL/DTBTG-Konzept
2.4 Das ANSI/X3/SPARC-Konzept
8
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
Definition:
Datenstrukturen, die zur Beschreibung von Daten und
deren Beziehung untereinander zur Verfügung stehen,
bezeichnet man als Datenmodell.
[Stegemann, 1993]
9
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
Es gibt drei „klassische“ Datenmodelle:
• Das hierarchische Modell
• Das Netzwerkmodell
• Das relationale Modell
10
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
2.1 hierarchisches Datenmodell
•
•
•
•
•
Ältestes Datenmodell
Geht aus Informationsmanagementsystemen (IMS) der 50er und 60er
Jahre hervor (Einsatzgebiete: Banken und Versicherungsunternehmen)
Eignet sich für Beziehungen, bei denen sich aus einem Oberbegriff viele
Unterbegriffe ableiten lassen (1:n-Beziehungen)
Zugriff nur über den Suchschlüssel des Objekts der obersten Ebene
möglich (die anderen entlang der hierarchischen Ordnung)
Anwender muss den Pfad zum gesuchten Datensatz kennen
Beispiel:
Aufbau der Verzeichnisse im Betriebssystem DOS
C:\Studium\EB8\Daba\Präsi.ppt
11
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
2.1 hierarchisches Datenmodell
•
Strukturelemente sind:
Objekttypen und unbenannte hierarchische Beziehungen
•
„unbenannt“: keine Bezeichnungen für die Beziehung
(Gegensatz dazu: Entity-Relationship-Modell)
•
Wurzelbaum (Graph aus
Objekttypen [Knoten] und
Beziehungen [Kanten])
12
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
2.1 hierarchisches Datenmodell
Pfad
Wurzel (root)
Pfadlänge: hier Länge = 2
Niveau eines Knoten =
Pfadlänge des Knoten von der
Wurzel + 1
Kante
Höhe eines Wurzelbaums =
max. Pfadlänge
innere
Knoten
Nachbarn
Blätter
Wurzelbaum-Typ / Hierarchie-Typ
13
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
2.1 hierarchisches Datenmodell
Hierarchische Ordnung
a1
b11
b12
c121
14
a2
b13
c122
b14
C141
b15
c142
b21
c211
b22
c212
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
b23
2. Datenmodelle
2.1 hierarchisches Datenmodell
Darstellung von Beziehungen:
NICHT
Vater
Student
MÖGLICH !!
Tochter
Sohn
1:n - Beziehung
15
Matrikelnr.
1:1 - Beziehung
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
m:n - Beziehung
2. Datenmodelle
2.1 hierarchisches Datenmodell
•
Darstellungsversuch einer m:n-Beziehung
Lieferant
m
L1
BT1
n
L2
BT2
BT1
BT1
BT3
L1
L2
ERHEBLICHE REDUNDANZ !!!!!
16
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
Bauteil
BT2
BT3
L1
L2
2. Datenmodelle
2.1 hierarchisches Datenmodell
•
Redundanzdarstellung: [Bill/Fritsch, 1991]
17
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2. Datenmodelle
2.1 hierarchisches Datenmodell
PRO
• Werden Daten in Richtung der Hierarchie gesucht, so ist der Zugriff
sehr schnell
CONTRA
• Werden Daten gegen die Richtung der Hierarchie gesucht, muss ggf.
die gesamt Datenbank durchsucht werden. In diesem Falle sehr
langsam
• Unflexibel
• Bei komplexen Umgebungen schwierig zu modellieren
18
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Entwicklung
– 1971 von der Database Task Group des CODASYL als Standard
publiziert
– Versuch, die Inflexibilität des Hierarchischen Datenmodells
(Vermischung von interner und externer Ebene, nur 1:nBeziehungen, Abhängigkeit der Performance vom jeweiligen
Datenbestand, Zugriff nur durch Anwendungsprogramm) zu
beseitigen
– Netzwerkartige Beziehungen lassen sich ohne zusätzliche
Konzepte definieren
19
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Entwicklung
– Das NDM erfuhr nie die Verbreitung und Akzeptanz, da Codd
1970 sein Relationales Datenmodell veröffentlichte; dieses
Modell ging hinsichtlich der Flexibilität und Einfachheit in der
Modellierung weit über den CODASYL-Standard hinaus
– Mit der Idee des Semantic Web gewinnt das
Netzwerkdatenbankmodell wieder mehr an Bedeutung
20
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Strukturelemente
E1
Member-Typ
b
b: Benennung eines Set-Typs
Rekord-Typ
E2
21
Owner-Typ
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Strukturelemente
– Wie beim Hierarchischen Datenmodell bereits erwähnt:
Objekttypen und hierarchische Beziehungen (1:mcBeziehungen), die hier Set-Typen genannt werden
– Im Netzwerkdatenmodell können nur binäre many-one (bzw.
one-many)-Beziehungen dargestellt werden
– Set-Typen sind benannte Beziehungen; d.h. sie tragen einen
Namen
– Ihnen können allerdings keine Attribute zugeordnet werden
– Ein Set-Typ ist also eine benannte hierarchische Beziehung
ohne Attribute
22
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Darstellung von Strukturen
– Die Darstellung einer 1:m-Beziehung wird durch einen Set-Typ
dargestellt
– Die Darstellung von m:n-Beziehungen wird durch einen
einfachen Trick ermöglicht:
• Zwischen den beiden Objekttypen wird ein Kett-Objekttyp
eingefügt, der mit den beiden anderen Objekttypen je einen
Set-Typ darstellt
• Die beiden Objekttypen sind darin jeweils die Owner
23
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Darstellung von Strukturen
Bauteil
Lieferant
Kett-Typ „Bauteil-Lieferant“
Geht über in:
Bauteil
24
B-L
Lieferant
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.2 Netzwerkdatenmodell
• Darstellung von Strukturen
B
1
B
2
L
1
B
3
B1
L
2
B1 L1
B2
B1 L2
B2 L2
B3 L1
L1
25
L2
Historische Entwicklung von Datenbanken
Jochen Löhl
B3
Mario Lörcher
Ingo Sahm
B3 L2
2.2 Netzwerkdatenmodell
• Stärken
– Normierter Zugriff und Modellierung.
– Sehr effizient, wenn die Verarbeitung der physischen
Organisation entspricht
– Keine strenge Hierarchie durch Abbildung von m:n-Beziehungen
• Schwächen
– Mangelhafte Datenunabhängigkeit:
• Kleine Änderungen an der Datenorganisation haben
gewaltige Auswirkungen auf die Programme.
– Komplexe Modellierung, da nur eingeschränkte Mechanismen
verfügbar.
– Anwendungsprogramme sind sehr komplex und schwer wartbar
26
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
CODASYL (Conference on Data Systems Languages)
• Gründung im Rahmen eines Treffens von 40 Fachleuten aus
Herstellerbranche, Rüstungsindustrie, staatlichen und militärischen
Computerzentren am 28. und 29. Mai 1959
• Bedarf nach einer maschinen- und herstellerunabhängigen
Programmiersprache für Verwaltungsanwendungen
• Probleme des Militärs durch Rechnervielfalt und
verwaltungstechnische Expansion
• Nach sechs Monaten Spezifikation und Veröffentlichung der
Programmiersprache COBOL (COmmon Business Oriented
Language)
27
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
CODASYL (Conference on Data Systems Languages)
• 1969: DBTG-Report (DBTG: Data Base Task Group)
• 1971: Überarbeitete Version des DBTG-Reports
 Vorstellung des CODASYL/DBTG-Konzepts
• 1975: Enhanced Cobol  Cobol erweitert um DB-Manipulationen
• CODASYL als solches exisitert heute nicht mehr  einige
Ausschüsse arbeiten jedoch noch
• Archivierte Dokumente im Charles Babbage Institute, University of
Minnesota
28
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
Entwicklung des CODASYL/DBTG-Konzepts
• 1967 Gründung der Database Task Group (DBTG)
Ziel:
29
Entwicklung eines Datenmodells um die
Inflexibilität des hierarchischen Datenmodells
zu beseitigen
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
Entwicklung des CODASYL/DBTG-Konzepts
Unzulänglichkeiten des hierarchischen Datenmodells:
•
•
•
•
Vermischung von interner und externer Ebene
nur 1:n-Beziehungen
Abhängigkeit der Performance vom jeweiligen Datenmodell
Zugriff nur durch Anwendungsprogramme
30
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
Entwicklung des CODASYL/DBTG-Konzepts
• Deshalb Entwicklung des CODASYL/DBTG-Konzepts durch die
Data Base Task Group (DBTG)
• Netzwerkdatenmodell
• Erster Vorschlag zur Standardisierung von Datenbanksystemen
 vorgestellt 1971
• Zunächst nur zwei Ebenen der Datenbeschreibung:
– Schema
– Subschema
31
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
Schema
• Beschreibt die logische Datenstruktur einschließlich der logischen
Zugriffspfade einer Datenbank insgesamt
• Formale Beschreibung durch Data Definition Language (DDL)
32
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
Subschema
• Beschreibt die logische Datenstruktur aus der Sicht eines
Anwendungsprogramms
• Von einer Anwendung benötigte Datenmenge  In der Regel
Teilmenge aller Daten der Datenbank (kann strukturell anders
zusammengestellt sein)
• Darf jedoch nicht im Widerspruch zum Schema stehen
• Formale Beschreibung durch Subschema-Beschreibungssprache
33
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
• Datenmanipulation durch DML (Data Manipulation Language)
 benutzt COBOL als Wirtssprache
• Device Media Control Language für die Beschreibung der
physischen Speicherorganisation vorgesehen, jedoch nicht
spezifiziert
• Beschreibung der physischen Speicherschicht erst 1978 als Data
Storage Description Language (DSDL)
34
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
• CODASYL/DBTG-Konzept wurde nach seiner Veröffentlichung als
Verbesserung gegenüber dem hierarchischen Datenmodell begrüßt
• Führende Datenbankhersteller boten darauf basierende DBMS an:
Siemens: UDS
Unisys: DMS-1100
Honeywell: IDS
DEC: DBMS 10
35
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
• Allerdings erreichte das CODASYL/DBTG-Konzept nie die
vorhergesagte Akzeptanz und Verbreitung
• Gründe:
keine Unterstützung durch IBM (Verhinderung der
Entstehung eines Standards)
Veröffentlichung des relationalen Datenbankmodells durch
Ted Codd 1970
Modellierung einfacher und flexibler
noch heute gebräuchlich
36
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.3 Das CODASYL/DBTG-Konzept
2.
3.
4.
5.
9.
6.
7.
8.
1. Anwenderprogramm
OS
Datentransfers
DBMS
Datentransfer
Anforderung
greift
wertet
fordert
verwaltet
stellt
aufdem
Speicher
Anforderder
I/O-Operazwischen
zwischen
SystemAnwenDaten
verzu
ung,
tionen
Speichern
Puffer
System-Puffern
derprogramm
arbeitet
vomSubschema
DBMS
für
vom
die
verschiedene
und
OS
Daten
StatusSysteman
und
undArAnwenderprogramme
Schema
Puffern
beitsbereich
informationen
aus der
zurAnwenVerfüdung (z.
gung
entsprechend
B. Fehlermeld.)
Subschema und Anforderung
37
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.4 Das ANSI/X3/SPARC-Konzept
• 1975 entwickelt von einer Arbeitsgruppe des American National
Standards Institute (ANSI)
ANSI/X3/SPARC = ANS Committee on Computers / Standards
Planung and Requirement Committee
• Besteht aus drei Ebenen:
 Externes Schema (bei CODASYL Subschema)
 Konzeptionelles Schema (bei CODASYL Schema)
 Internes Schema (physische Organisation der Daten)
• Als Entwurfskonzept und in der Terminologie zu Datenbanksystemen
weitgehend durchgesetzt
38
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
2.4 Das ANSI/X3/SPARC-Konzept
Verarbeitet das
konzeptionelle
Schema
Enthält die Metadaten
(Beschreibung der
Daten, logische
Datenorganisation,
Zugriffsrechte,...)
39
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
Vielen Dank
für die
Aufmerksamkeit!
Fragen?
40
Historische Entwicklung von Datenbanken
Jochen Löhl
Mario Lörcher
Ingo Sahm
Herunterladen