Einführung • Dateisystem <-> Datenbanksystem • Definition einer Datenbank • Dreischichtenmodell • Relationale Algebra • Relationale Datenbanken Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 1 Lohnbuchhaltung mit einem Dateisystem Personal Nr, Stundenlohn, Arbeitsstunden Personal Nr, Steuerklasse, Kinder Plausibilitäts- und Sortierprogramm Plausibilitäts- und Sortierprogramm sortiert nach Pers. Nr sortiert nach Pers. Nr Lohnabrechnung sortiert nach Bank Buchungslauf Worzyk FH Anhalt für LZB Bank daten Datenbanksysteme für FÜ SS 2000 Seite 1 - 2 Lohnbuchhaltung mit einem Datenbanksystem Personalverwaltung Persona l daten Lohnbuchhaltung Gehalts daten Bank daten für LZB Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 3 IBM Computertechnologie Die permanente Innovation Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 4 Definition einer Datenbank • Datenbanksystem – Datenbankmanagementsystem • Manipulation • Zugriffssteuerung • Konsistenzsicherung – Datenstrukturen • Daten Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 5 Dreischichtenmodell nach ANSI/SPARC • Externe Schicht – Benutzersicht • Konzeptionelle Schicht – Datenbankadministratorsicht • Interne Schicht – Datenbankherstellersicht Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 6 Datenmanipulation • Suchen • Hinzufügen • Ändern • Löschen Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 7 Klassifikation von Programmierstilen prozedural deklarativ funktional imperativ logisch relational Objektorientiert basic fortran C smalltalk C++ lisp prolog SQL scheme Von: Prof. Schwenzfeger Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 8 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 aus 1981 IBM liefert SQL/DS aus 1986 Sybase wird ausgeliefert 1987 ISO 9075 Database Language SQL Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 9 Die wichtigsten relationalen Datenbanken Oracle Oracle Window s Unix IBM DB2 OS/ 390 M icrosoft SQL-Server Sybase Adaptive Server Informix Dynamic Server Worzyk FH Anhalt Verteilte Datenbanken Datenbanksysteme für FÜ SS 2000 Seite 1 - 10 Standardisierung von SQL • Wechsel zwischen DBMS möglich • Einmaliger Schulungsaufwand • Parallel-Entwicklung möglich (unabhängig von der ZielDB) • Trennung von DB und Anwendungsprogrammen • Client-Server Anwendungen werden einfacher Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 11 Parallel-Entwicklung Gannt - Diagramm Nr. Vorgangsname 21. Januar 28. 04. 11. 1 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 Worzyk FH Anhalt 18. 25. Februar 01. 08. 15. 22. März 01. 08. 15. 22. April 29. 05. 12. 19. 26. Mai 03. Datenbanksysteme für FÜ SS 2000 Seite 1 - 12 Parallel-Entwicklung Netzplan Datenmodellentwickeln Anwendungsprogramme entwickeln Programmieren 3 8 9 40 Tage Fr 29.01.99 Do 25.03.99 30 Tage Fr 12.02.99 Do 25.03.99 30 Tage Fr 19.02.99 Do 01.04.99 Vorstudie 1 20 Tage Fr 01.01.99 Do 28.01.99 Entwicklungs DBMS installieren 4 7 Tage Fr 29.01.99 Mo 08.02.99 Produktions DBMS installieren 6 20 Tage Fr 26.02.99 Do 25.03.99 Auswahl Produktions DBMS 5 20 Tage Fr 29.01.99 Do 25.02.99 Schulung SQL Schulung DBMS 2 7 10 Tage Mo 11.01.99 Fr 22.01.99 Worzyk FH Anhalt 5 Tage Fr 26.02.99 Do 04.03.99 Datenbanksysteme für FÜ SS 2000 Seite 1 - 13 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. Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 14 Elemente der Relationenalgebra Grundmenge: Relationen Operationen: Projektion Vereinigung Differenz Produkt Selektion Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 15 Relationen Relationen werden in SQL als Tabellen bearbeitet: eine Kopfzeile enthält die Attribute null bis n Tupel oder Zeilen enthalten die Datenwerte Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 16 Projektion Aus einer Tabelle können eine bestimmte Menge von Spalten ausgewählt werden, die angezeigt oder verarbeitet werden. -> Unabhängigkeit von Tabellenstruktur und Programmstruktur Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 17 Vereinigung Die Inhalte zweier Tabellen mit gleichen Attributen können vereinigt werden, so dass sie sich dem Anwendungsprogramm als eine Tabelle präsentieren. Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 18 Vereinigung Beispiel Worzyk FH Anhalt M itarbeiter Hamburg M itarbeiter Tokio M itarbeiter New York Datenbanksysteme für FÜ SS 2000 Seite 1 - 19 Differenz Die 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 Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 20 Produkt Das Produkt der Tabellen T1 und T2 hat die Attribute von T1 und T2. Jedes Tupel von T1 wird mit jedem Tupel von T2 verbunden. Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 21 name Fuchs Lange Worzyk nummer 141 140 119 Name Fuchs Fuchs Fuchs Lange Lange Lange Worzyk Worzyk Worzyk Worzyk FH Anhalt Relationen Produkt Nummer 141 141 141 140 140 140 119 119 119 Lehrgebiet Englisch Softw are - Engineering Datenbanksysteme Lehrgebiet Englisch Softw are-Engineering Datenbanksysteme Englisch Softw are-Engineering Datenbanksysteme Englisch Softw are-Engineering Datenbanksysteme Datenbanksysteme für FÜ SS 2000 Seite 1 - 22 Selektion Aus einer Tabelle werden Tupel mit bestimmten Eigenschaften ausgewählt und dem Anwendungsprogramm präsentiert. Die Auswahl wird mit Hilfe der Aussagelogik getroffen. Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 23 Selektion Aussagen über Konstanten, Attribute und Funktionen mit Hilfe von Vergleichsoperatoren und logischen Operatoren Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 24 Selektion Beispiel Person Hans Emil Jutta Fritz Anna Else Ort Köthen Wolfen Köthen Aken Köthen Aken Person Emil Anna Fritz Else Hans Jutta Beruf Hausfrau Hebamme Kapitän Lehrer Lehrer Lehrer Beruf Lehrer Hausfrau Kapitän Hebamme Einkommen 500 100 800 600 Mögliche Fragen: wie heißen die Lehrer in Köthen wieviel verdienen die Leute in Aken Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 25 Zusammenfassung • Datenbank besteht aus – Datenbanksystem • DBMS • Datenstrukturen – Daten • Datenbank trennt Anwendungsprogramme von Daten • SQL ist deklarative Programmiersprache • Grundlage für SQL ist Relationenalgebra Worzyk FH Anhalt Datenbanksysteme für FÜ SS 2000 Seite 1 - 26