28
Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung • Dateisystem <-> Datenbanksystem • Definition einer Datenbank • Dreischichtenmodell • Relationale Algebra • Relationale Datenbanken

Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Embed Size (px)

Citation preview

Page 1: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 1

WorzykFH Anhalt

Einführung

• Dateisystem <-> Datenbanksystem

• Definition einer Datenbank

• Dreischichtenmodell

• Relationale Algebra

• Relationale Datenbanken

Page 2: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 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

Page 3: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 3

WorzykFH Anhalt

Lohnbuchhaltung mit einem Datenbanksystem

Personaldaten

Gehaltsdaten

Bankdaten

Lohnbuchhaltung

Personalverwaltung

für LZB

Page 4: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 4

WorzykFH Anhalt

IBM Computertechnologie

Die permanente Innovation

Page 5: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 5

WorzykFH Anhalt

Definition einer Datenbank

• Datenbanksystem

– Datenbankmanagementsystem• Manipulation

• Zugriffssteuerung

• Konsistenzsicherung

– Datenstrukturen

• Daten

Page 6: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 6

WorzykFH Anhalt

Dreischichtenmodell nach ANSI/SPARC

• Externe Schicht

– Benutzersicht

• Konzeptionelle Schicht

– Datenbankadministratorsicht

• Interne Schicht

– Datenbankherstellersicht

Page 7: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 7

WorzykFH Anhalt

Datenmanipulation

• Suchen

• Hinzufügen

• Ändern

• Löschen

Page 8: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 8

WorzykFH Anhalt

Klassifikation von Programmierstilen

imperativ funktional

deklarativprozedural

Objekt-orientiert

basic

fortran

C

C++

smalltalk lisp

scheme

SQLprolog

logisch relational

Von: Prof. Schwenzfeger

Page 9: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 9

WorzykFH Anhalt

Beispiel Programmierstile

prozeduralEintrag = anfangrepeate eintrag = eintrag.nextuntil eintrag.name = ‚Worzyk‘;gesuchte_nummer = eintrag.nummer - 10;for eintrag = anfang to eintrag = ende do

if eintrag.nummer = gesuchte_nummer print eintrag.name;

eintrag = eintrag.next;end;

Page 10: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 10

WorzykFH Anhalt

Beispiel Programmierstile

deklarativSELECT name FROM telefonbuchWHERE nummer =

(SELECT nummer from telefonbuchWHERE name = ‚Worzyk‘) - 10;

Page 11: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 11

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 aus

1981 IBM liefert SQL/DS aus

1986 Sybase wird ausgeliefert

1987 ISO 9075 Database Language SQL

Page 12: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 12

WorzykFH Anhalt

Die wichtigsten relationalen

DatenbankenOracle Oracle Windows Unix

IBM DB2 OS/390

Microsoft SQL-Server

Sybase Adaptive Server VerteilteDatenbanken

Informix Dynamic Server

Page 13: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 13

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

Page 14: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 14

WorzykFH Anhalt

Parallel-EntwicklungGannt - Diagramm

Nr. Vorgangsname

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

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

Page 15: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 15

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

Page 16: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 16

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.

Page 17: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 17

WorzykFH Anhalt

Elemente der Relationenalgebra

Grundmenge: Relationen Operationen:

ProjektionVereinigungDifferenzProdukt Selektion

Page 18: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 18

WorzykFH Anhalt

Relationen

Relationen werden in SQL als Tabellen bearbeitet:

eine Kopfzeile enthält die Attribute null bis n Tupel oder Zeilen

enthalten die Datenwerte

Page 19: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 19

WorzykFH Anhalt

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

Page 20: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 20

WorzykFH Anhalt

Vereinigung

Die Inhalte zweier Tabellen mit gleichen Attributen können vereinigt werden, so dass sie sich dem Anwendungsprogramm als eine Tabelle präsentieren.

Page 21: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 21

WorzykFH Anhalt

VereinigungBeispiel

Mitarbeiter Hamburg

Mitarbeiter Tokio

Mitarbeiter New York

Page 22: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 22

WorzykFH Anhalt

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

Page 23: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 23

WorzykFH Anhalt

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.

Page 24: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 24

WorzykFH Anhalt

RelationenProdukt

name nummer Richter 3125 Lange 3120 Worzyk 3135

LehrgebietEnglischBetriebssystemeDatenbanksysteme

Name Nummer Lehrgebiet Richter 3125 Englisch Richter 3125 Betriebssysteme Richter 3125 Datenbanksysteme Lange 3120 Englisch Lange 3120 Betriebssysteme Lange 3120 Datenbanksysteme Worzyk 3135 Englisch Worzyk 3135 Betriebssysteme Worzyk 3135 Datenbanksysteme

Page 25: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 25

WorzykFH Anhalt

Selektion

Aus einer Tabelle werden Tupel mit bestimmten Eigenschaften ausgewählt und dem Anwendungsprogramm präsentiert.

Die Auswahl wird mit Hilfe der Aussagelogik getroffen.

Page 26: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 26

WorzykFH Anhalt

Selektion

Aussagen über Konstanten, Attribute und Funktionen mit Hilfe von Vergleichsoperatoren und logischen Operatoren

Page 27: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 27

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

Page 28: Datenbanksysteme für FÜ SS 2001 Seite 1 - 1 Worzyk FH Anhalt Einführung Dateisystem Datenbanksystem Definition einer Datenbank Dreischichtenmodell Relationale

Datenbanksysteme für FÜ SS 2001Seite 1 - 28

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