KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An...
-
Upload
kristen-drummer -
Category
Documents
-
view
104 -
download
0
Transcript of KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An...
![Page 1: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/1.jpg)
Karczewski Datenbanken I 1
Datenbanken I
(0,*)
Produkt
3
(0,*)
![Page 2: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/2.jpg)
Karczewski Datenbanken I 2
Literatur
• C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems Programming Series. 6th ed. 1995
• H.E. Erbs, S. Karczewski and I. Schestag: Datenbanken (Datenmodelle, Objekte, WWW, XML); VDE-Verlag Berlin 2003; 317 pp.; 24 EUR
• G. Vossen: Datenmodelle, Datenbanksprachen, Datenbank-managementsysteme; Oldenburg-Verlag 2000; 780 pp.
• A. Heuer, G. Saake: Datenbanken: Konzepte und Sprachen; mitp Verlag 2000; 670 pp.; 35 EUR
![Page 3: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/3.jpg)
Karczewski Datenbanken I 3
1. Von Dateien zu Datenbanken
……
P1, …, …P2, …, ……, …, …
……
……
P1, …, …P2, …, ……, …, …
……
Produkt: Nummer Bezeichnung Funktion
P1 Kanne Gebrauch
P2 Tasse Gebrauch
![Page 4: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/4.jpg)
Karczewski Datenbanken I 4
Motivation
• Professionelle Anwendungen benötigen dauerhaft verfügbare, persistent gespeicherte Daten.
• Datenbank-Systeme bieten die einfache Möglichkeit, Daten persistent zu speichern.
• Diese Veranstaltung zeigt die wesentlichen Aspekte zur Verwendung von Datenbanken auf:• Datenmodellierung zur Strukturierung der Realität
• Datendefinition und –manipulation
• Datenbank-Architektur
• Systeme zur Datenmodellierung
• Datenbanksysteme
![Page 5: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/5.jpg)
Karczewski Datenbanken I 5
Historische Entwicklung von Datenbanksystemen (1)
• 1965: Firma IBM entwickelt das DBS: IMS, das auf dem Hierarchischen Datenmodell beruht
• 1969 Standardisierungsgremium CODASYL schlägt Netzwerkmodell vor
• 1976: Firma SIEMENS (UDS) u.v.a. entwickeln DBS nach dem Netzwerk-Datenmodell
• seit 1970: Codd entwickelt das Relationale Datenmodell• 1971 –1981: IBM entwickelt Prototyp für Relationale Datenbanken,
Name: “System /R” mit Datenbanksprache: SQL
![Page 6: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/6.jpg)
Karczewski Datenbanken I 6
• seit 1980: ORACLE, Relationales DBS mit SQL als Datenbanksprache auf dem Markt
• seit 1982: SQL/DS der Firma IBM mit SQL auf dem Markt• seit 1984: Relationale DBS für PCs auf dem Markt: DBASE,
ACCESS auch ORACLE• seit Ende der 80-er: Entwicklung Objektorientierter DBS:
GEMSTONE, ObjectStore, O2, Jasmine, POET (jetzt: FastObjects) u.v.a.
• 1992: SQL2-Standard wird verkündet; gleichzeitig Arbeit an einer OO-Erweiterung von SQL. Arbeitsname: SQL3
• aktuelle Situation: Client-Server–Prinzip beim Einsatz von Datenbanksystemen und Einsatz von Datenbanksystemen in integrierten Softwaresystemen (hauptsächlich noch immer: Relationale DB-Systeme), z.B. in SAP
Historische Entwicklung von Datenbanksystemen (2)
![Page 7: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/7.jpg)
Karczewski Datenbanken I 7
Eigenschaften von DB-Systemen im Vergleich zu Dateisystemen
DB-System Dateisystem
Abstraktion logisch physisch
Abspeicherung in Datenbank in Dateien
Beschreibung der Daten
im zentralen
Data Dictionary
im Anwen-dungsprogramm
Zugriff Über das Datenbanksystem
Über das Betriebssystem
Dienstprogramme (zB. Backup, Recovery)
Über das Datenbanksystem
Eigene Programmierung
Verknüpfung der Daten
Über das Datenbanksystem
Eigene Programmierung
![Page 8: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/8.jpg)
Karczewski Datenbanken I 8
Arbeiten mit Dateien
Anwendungs-Progr. 1
Anwendungs-Progr. 3
Anwendungs-Progr. 2
Anwendungs-Progr. n
. . .
Datei A
Datei B
Datei Z
. . .
Datenstruktur (DS) ist im Programm definiert.
Bei Änderung der Datenstruktur muss jedes Anwendungsprogramm angepasst werden
Daten werden mehrfach abgespeichert(=Redundanz): Inkonsistenz möglich
Jeder Nutzer der Daten muss physische Struktur kennen.
![Page 9: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/9.jpg)
Karczewski Datenbanken I 9
Arbeiten mit einem Datenbanksystem (DBS)
Anwendungsprogramme greifen über das DBMS auf die Daten zu
DBMS ist Zugriffsfilter
Identische Daten werden nur einfach abgespeichert
Bei Änderung der Datenstruktur muss nur einmal im DBS geändert werden.
Anwendungs-Progr. 1
Anwendungs-Progr. 3
Anwendungs-Progr. 2
Anwendungs-Progr. n
. . .
DBMSDaten(DB)
![Page 10: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/10.jpg)
Karczewski Datenbanken I 10
Vergleichendes Beispiel: Ausgabe aller Kunden aus Darmstadt
DB-System:
SELECT name, plz, ort
FROM kunde
WHERE
ort = ´Darmstadt‘,
Dateisystem (in C++):#include <fstream.h>
..
typedef struct {
char name [30];
int plz;
char ort [30];
} kunde_record;
kunde_record buffer;
fstream kunden_file;
file.open (“kunden.dat“, ios::in | ios::binary);
while (!file.eof())
{ file.read( (char*) &buffer, sizeof(kunde_record) );
if buffer.ort = “Darmstadt“
{ cout << buffer.name << …
}
}
…
![Page 11: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/11.jpg)
Karczewski Datenbanken I 11
Wesentliche Vorteile von DBS (1)
RedundanzvermeidungEin Fakt in der realen Welt ist nur ein Mal in der DB abgelegt.
Vermeidung von Inkonsistenzen keine widersprüchlichen Informationen zum gleichen Objekt:
Beispiel:
Adresse in Datei Personalstamm und in Datei Bestellinfos gespeichert.
Person zieht aus Darmstadt aus.
Die Datei Personalstamm wird geändert, die Datei Bestellinfos nicht.
Durch redundante Datenhaltung wurde Inkonsistenz (Person hat zwei verschiedene Adressen) provoziert.
Einheitliche Sicht auf DatenStandards setzen sich besser durch
![Page 12: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/12.jpg)
Karczewski Datenbanken I 12
DatenunabhängigkeitAnwendungen müssen sich nicht um Details der Speicherstruktur und Zugriffstechniken kümmern.Änderungen von Speicherstrukturen, Attributanzahl etc. sind i.d.R.
ohne Auswirkungen auf Anwendungsprogramme.
Beispiel: Länge des Nachnamens wird von 30 auf 40 Zeichen gesetzt oder zusätzliches Attribut Qualifikation wird eingeführt. Jedoch: Streichen eines Attributs ohne Auswirkungen auf Anwendungsprogramme nicht möglich!
Spontane Anfragen Mit Hilfe einer Sprache der vierten Generation ist eine Formulierung von Anfragen unter dem Motto „Was“ statt „Wie“ möglich
Beispiel: Selektiere alle Mitarbeiter, die mehr als 50000 € verdienen.
Wesentliche Vorteile von DBS (2)
![Page 13: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/13.jpg)
Karczewski Datenbanken I 13
Zugriffskontrolle bei parallelen Zugriff
Benutzung von Daten durch mehrere Programme gleichzeitig mit Kontrolle der Zugriffe und eindeutigen Änderungen
IntegritätskontrolleKontrolle von Integritätsbedingungen durch DBS (z. B. Wertebereiche, Existenzabhängigkeiten zwischen Datensätzen, allg. Beziehungen zwischen Werten), dadurch weniger Programmieraufwand
Beispiele: Alter von Mitarbeitern muss immer > 14 sein.
Nachname ist max. 30 Zeichen lang.
Wesentliche Vorteile von DBS (2)
![Page 14: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/14.jpg)
Karczewski Datenbanken I 14
Datenschutz, DatensicherheitZugriffskontrolle, d. h. Setzen von Sperren durch DBS auch auf Feld- und Satzebene (nicht nur Read-, Write-Sperren ganzer Dateien)Beispiel: Nur Personalabteilung dürfen Gehälter der Mitarbeiter sehen.
Beziehungen zwischen Datenkönnen definiert und vom System kontrolliert werden.Beispiel: Bestellung hat Beziehung zu Kunde.
Zu Bestellung gibt es immer einen Kunden
Verteilung von Daten kann vom DBS verwaltet werden.
Wesentliche Vorteile von DBS (4)
![Page 15: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/15.jpg)
Karczewski Datenbanken I 15
Begriffe
Datenbank (DB)
= Datenbestand
Datenmanagementsystem (DBMS)
= Software zum Arbeiten mit Datenbanken
Datenbanksystem (DBS)
= DB + DBMS
aber: oft synonym zu DBMS verwendet.
![Page 16: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/16.jpg)
Karczewski Datenbanken I 16
Beteiligte Rollen am DatenbanksystemDaten-Administrator (DA)
- Hat zentrale strategische Verantwortung für die Daten - Entscheidet welche Daten für wen gespeichert werden
Datenbank-Administrator (DBA)- Hat technische Verantwortung- Entscheidet, wie Daten gespeichert werden
Anwendungsentwickler- Entwickelt Anwendung z. B. in Programmiersprache- Arbeitet hinsichtlich der Definition von Daten mit DBA, DA zusammen
Endanwender
- Hat Zugriff auf Daten über GUIs / Abfragesprache- Zusammenarbeit mit Anwendungsentwickler in Entwicklungsphase
![Page 17: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/17.jpg)
Karczewski Datenbanken I 17
externesSchema 1
konzeptionelles Schema
internes / physischesSchema
externesSchema 2
externesSchema n
externe Ebene Datensicht für einzelne User
konzeptionelle Ebene Sicht auf die Gesamtheit aller Daten und ihre Beziehungen untereinander
interne / physische Ebene physische Speicherstrukturen
ANSI / SPARC-Modell
![Page 18: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/18.jpg)
Karczewski Datenbanken I 18
Komponenten eines DBMS
s. Tafel
![Page 19: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/19.jpg)
Karczewski Datenbanken I 19
MetadatenEs gibt die Daten der Anwendung
Müller, 64295, Darmstadt, …
Ohne Erläuterung ist der Sinn der Daten nicht klar
Abhilfe: Man gibt die Bedeutung, Formate etc, immer mit den Daten an:
Name: Müller, char(30); PLZ: 64295, int; …
besser:
- Attribute gehören zusammen und bilden (Daten-)Objekte (Entities).
- Objekte gleichen Typs kann man gemeinsam beschreiben.
Dies geschieht in der Schemabeschreibung
Beispiel: Relation Kunde mit den Attributen Name char(30), PLZ int, …
Diese Beschreibungen stehen im Data-Dictionary des DBS. Man nennt diese Daten, die die eigentlichen Daten beschreiben, Metadaten.
![Page 20: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/20.jpg)
Karczewski Datenbanken I 20
Bedeutung der 3 Ebenen bei der ANSI/SPARC-Architektur
Änderungen auf einer Ebene können vorgenommen werden, ohne dass eine benachbarte Ebene davon berührt ist.
Verarbeitungsprogramme sind physisch als auch logisch datenunabhängig (mit Einschränkungen).
d. h. Änderungen auf der physischen, konzeptionellen, externen Ebene haben keine Auswirkungen auf die Verarbeitungsprogramme (mit Einschränkungen, z. B. Löschung eines Attributs hat Auswirkungen, Hinzufügen eines Attributs hat keine Auswirkungen.)
Frage: Welche Auswirkungen haben Änderungen in der Datenstruktur von Dateien auf die die Dateien verwendenden Anwendungsprogramme?
![Page 21: KarczewskiDatenbanken I1 (0,*) Produkt 3 (0,*). KarczewskiDatenbanken I2 Literatur C.J. Date: An Introduction to Database Systems; Addison-Wesley Systems.](https://reader035.fdocuments.in/reader035/viewer/2022062622/55204d6449795902118b9ed3/html5/thumbnails/21.jpg)
Karczewski Datenbanken I 21
Auswirkungen von Änderungen in normalen Dateien
Frage: Welche Auswirkungen haben Änderungen in der Datenstruktur von Dateien auf die die Dateien verwendenden Anwendungsprogramme?
Änderungen in den Anwendungsprogrammen notwendig, da Dateibeschreibung in allen Programmen, die die Datei verwenden redundant abgelegt sind.
Beispiel:5 Programme arbeiten mit einer Datei,
1 Programm benötigt zusätzliches Feld
Trotzdem müssen alle 5 Programme geändert werden.