Datenbanksysteme für FÜ SS 2000Seite 1 - 1
WorzykFH Anhalt
Einführung
• Dateisystem <-> Datenbanksystem
• Definition einer Datenbank
• Dreischichtenmodell
• Relationale Algebra
• Relationale Datenbanken
Datenbanksysteme für FÜ SS 2000Seite 1 - 2
WorzykFH Anhalt
Lohnbuchhaltung mit einem Dateisystem
Personal Nr, Stundenlohn, Arbeitsstunden Personal Nr, Steuerklasse, Kinder
Plausibilitäts- und Sortierprogramm Plausibilitäts- und Sortierprogramm
Lohnabrechnung
BuchungslaufBankdaten
sortiert nachPers. Nr
für LZB
sortiert nachPers. Nr
sortiert nachBank
Datenbanksysteme für FÜ SS 2000Seite 1 - 3
WorzykFH Anhalt
Lohnbuchhaltung mit einem Datenbanksystem
Personaldaten
Gehaltsdaten
Bankdaten
Lohnbuchhaltung
Personalverwaltung
für LZB
Datenbanksysteme für FÜ SS 2000Seite 1 - 4
WorzykFH Anhalt
IBM Computertechnologie
Die permanente Innovation
Datenbanksysteme für FÜ SS 2000Seite 1 - 5
WorzykFH Anhalt
Definition einer Datenbank
• Datenbanksystem
– Datenbankmanagementsystem• Manipulation• Zugriffssteuerung• Konsistenzsicherung
– Datenstrukturen
• Daten
Datenbanksysteme für FÜ SS 2000Seite 1 - 6
WorzykFH Anhalt
Dreischichtenmodell nach ANSI/SPARC
• Externe Schicht – Benutzersicht
• Konzeptionelle Schicht– Datenbankadministratorsicht
• Interne Schicht– Datenbankherstellersicht
Datenbanksysteme für FÜ SS 2000Seite 1 - 7
WorzykFH Anhalt
Datenmanipulation
• Suchen• Hinzufügen• Ändern• Löschen
Datenbanksysteme für FÜ SS 2000Seite 1 - 8
WorzykFH Anhalt
Klassifikation von Programmierstilen
imperativ funktionaldeklarativprozedural
Objekt-orientiert
basic
fortran
C
C++
smalltalk lisp
scheme
SQLprolog
logisch relational
Von: Prof. Schwenzfeger
Datenbanksysteme für FÜ SS 2000Seite 1 - 9
WorzykFH Anhalt
Structured Query Language
1970 E.F. Codd: A Relational Model of Data for large Shared Data Banks
1974 D. Chamberlain entwickelt bei IBM in San Jose /USA den ersten Prototypen System/R (auch SEQUEL) um zu prüfen, ob das Konzept von Codd tragfähig ist.
1979 Qracle liefert erstes Datenbanksystem mit SQL aus1981 IBM liefert SQL/DS aus1986 Sybase wird ausgeliefert1987 ISO 9075 Database Language SQL
Datenbanksysteme für FÜ SS 2000Seite 1 - 10
WorzykFH Anhalt
Die wichtigsten relationalen
DatenbankenOracle Oracle Windows Unix
IBM DB2 OS/390
Microsoft SQL-Server
Sybase Adaptive Server VerteilteDatenbanken
Informix Dynamic Server
Datenbanksysteme für FÜ SS 2000Seite 1 - 11
WorzykFH Anhalt
Standardisierung von SQL
• Wechsel zwischen DBMS möglich• Einmaliger Schulungsaufwand• Parallel-Entwicklung möglich
(unabhängig von der Ziel-DB)• Trennung von DB und
Anwendungsprogrammen• Client-Server Anwendungen werden
einfacher
Datenbanksysteme für FÜ SS 2000Seite 1 - 12
WorzykFH Anhalt
Parallel-EntwicklungGannt - Diagramm
Nr. Vorgangsname1 Vorstudie
2 Schulung SQL
3 Datenmodell entwickeln
4 Entwicklungs DBMS installieren
5 Auswahl Produktions DBMS
6 Produktions DBMS installieren
7 Schulung DBMS
8 Anwendungsprogramme entwickeln
9 Programmieren
21. 28. 04. 11. 18. 25. 01. 08. 15. 22. 01. 08. 15. 22. 29. 05. 12. 19. 26. 03.Januar Februar März April Mai
Datenbanksysteme für FÜ SS 2000Seite 1 - 13
WorzykFH Anhalt
Parallel-EntwicklungNetzplan
Datenmodell entwickeln
3 40 Tage
Fr 29.01.99 Do 25.03.99
Auswahl ProduktionsDBMS
5 20 Tage
Fr 29.01.99 Do 25.02.99
Produktions DBMSinstallieren
6 20 Tage
Fr 26.02.99 Do 25.03.99
Schulung DBMS
7 5 Tage
Fr 26.02.99 Do 04.03.99
Anwendungsprogrammeentwickeln
8 30 Tage
Fr 12.02.99 Do 25.03.99
Programmieren
9 30 Tage
Fr 19.02.99 Do 01.04.99
Vorstudie
1 20 Tage
Fr 01.01.99 Do 28.01.99
Schulung SQL
2 10 Tage
Mo 11.01.99 Fr 22.01.99
Entwicklungs DBMSinstallieren
4 7 Tage
Fr 29.01.99 Mo 08.02.99
Datenbanksysteme für FÜ SS 2000Seite 1 - 14
WorzykFH Anhalt
Standardisierung von SQL
Grundlage ist das mathematische Modell einer Relationenalgebra
-> Entwicklung einer mathematischen Theorie, welche die Eigenschaften des Modells beschreibt
-> Implementierung von DBMS, so dass diese Eigenschaften erfüllt sind.
Datenbanksysteme für FÜ SS 2000Seite 1 - 15
WorzykFH Anhalt
Elemente der Relationenalgebra
Grundmenge: Relationen Operationen:
ProjektionVereinigungDifferenzProdukt Selektion
Datenbanksysteme für FÜ SS 2000Seite 1 - 16
WorzykFH Anhalt
RelationenRelationen werden in SQL als
Tabellen bearbeitet:eine Kopfzeile enthält die Attribute null bis n Tupel oder Zeilen
enthalten die Datenwerte
Datenbanksysteme für FÜ SS 2000Seite 1 - 17
WorzykFH Anhalt
ProjektionAus einer Tabelle können eine
bestimmte Menge von Spalten ausgewählt werden, die angezeigt oder verarbeitet werden.
-> Unabhängigkeit von Tabellenstruktur und Programmstruktur
Datenbanksysteme für FÜ SS 2000Seite 1 - 18
WorzykFH Anhalt
VereinigungDie Inhalte zweier Tabellen mit
gleichen Attributen können vereinigt werden, so dass sie sich dem Anwendungsprogramm als eine Tabelle präsentieren.
Datenbanksysteme für FÜ SS 2000Seite 1 - 19
WorzykFH Anhalt
VereinigungBeispiel
Mitarbeiter Hamburg
Mitarbeiter Tokio
Mitarbeiter New York
Datenbanksysteme für FÜ SS 2000Seite 1 - 20
WorzykFH Anhalt
DifferenzDie Differenz zweier Tabellen T1 und
T2 enthält alle Tupel, die in der Tabelle T1 aber nicht in der Tabelle T2 enthalten sind. Voraussetzung für die Bildung einer Differenz ist die gleiche Struktur von T1 und T2
Datenbanksysteme für FÜ SS 2000Seite 1 - 21
WorzykFH Anhalt
ProduktDas Produkt der Tabellen T1 und T2
hat die Attribute von T1 und T2.Jedes Tupel von T1 wird mit jedem
Tupel von T2 verbunden.
Datenbanksysteme für FÜ SS 2000Seite 1 - 22
WorzykFH Anhalt
RelationenProdukt
name nummerFuchs 141Lange 140Worzyk 119
LehrgebietEnglischSoftware - EngineeringDatenbanksysteme
Name Nummer LehrgebietFuchs 141 EnglischFuchs 141 Software-EngineeringFuchs 141 DatenbanksystemeLange 140 EnglischLange 140 Software-EngineeringLange 140 DatenbanksystemeWorzyk 119 EnglischWorzyk 119 Software-EngineeringWorzyk 119 Datenbanksysteme
Datenbanksysteme für FÜ SS 2000Seite 1 - 23
WorzykFH Anhalt
SelektionAus einer Tabelle werden Tupel mit
bestimmten Eigenschaften ausgewählt und dem Anwendungsprogramm präsentiert.
Die Auswahl wird mit Hilfe der Aussagelogik getroffen.
Datenbanksysteme für FÜ SS 2000Seite 1 - 24
WorzykFH Anhalt
Selektion Aussagen über Konstanten, Attribute
und Funktionen mit Hilfe von Vergleichsoperatoren und logischen Operatoren
Datenbanksysteme für FÜ SS 2000Seite 1 - 25
WorzykFH Anhalt
SelektionBeispiel
Person Ort Person Beruf Beruf EinkommenHans Köthen Emil Hausfrau Lehrer 500Emil Wolfen Anna Hebamme Hausfrau 100J utta Köthen Fritz Kapitän Kapitän 800Fritz Aken Else Lehrer Hebamme 600Anna Köthen Hans LehrerElse Aken J utta Lehrer
Mögliche Fragen:wie heißen die Lehrer in Köthenwieviel verdienen die Leute in Aken
Datenbanksysteme für FÜ SS 2000Seite 1 - 26
WorzykFH Anhalt
Zusammenfassung• Datenbank besteht aus
– Datenbanksystem• DBMS• Datenstrukturen
– Daten• Datenbank trennt
Anwendungsprogramme von Daten• SQL ist deklarative Programmiersprache• Grundlage für SQL ist Relationenalgebra