datenbanken ifb 2002 klaus becker. kb datenbanken 2 teil 1 relationale datenbanken

119
Datenbanken Datenbanken IFB 2002 Klaus Becker

Upload: brigitte-dust

Post on 05-Apr-2015

122 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

DatenbankenDatenbanken

IFB 2002

Klaus Becker

Page 2: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

2

KB

Date

nb

an

ken

Teil 1Teil 1

Relationale Datenbanken

Page 3: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

3

KB

Date

nb

an

ken

ZielsetzungZielsetzung

Das Burggymnasium Kaiserslautern möchte seine Schulbibliothek auf EDV-Betrieb umstellen.

Bisher wurde die Schulbibliothek herkömmlich mit Hilfe von Karteikarten und Ausleihscheinen verwaltet. Künftig soll hier ein geeignetes Softwarepaket die Arbeit erleichtern.

Das Burggymnasium Kaiserslautern möchte seine Schulbibliothek auf EDV-Betrieb umstellen.

Bisher wurde die Schulbibliothek herkömmlich mit Hilfe von Karteikarten und Ausleihscheinen verwaltet. Künftig soll hier ein geeignetes Softwarepaket die Arbeit erleichtern.

Page 4: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

4

KB

Date

nb

an

ken

AnwendungsfälleAnwendungsfälle

Anwender: Bibliothekar(in) Anwendungssystem:

DBS

Anwendungsfall: Interaktion zwischen einem Anwender / Akteur und dem Anwendungssystem

Buchdaten registrieren

Ausleihdaten aufnehmen

Anwender: Leser

Abfrage erstellen

...

Page 5: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

5

KB

Date

nb

an

ken

DatenbanksystemDatenbanksystem

AnwenderDatenbanksystem

Ein Datenbanksystem ist eine systematisch strukturierte, langfristig verfügbare Sammlung von Daten (DB) einschließlich der zur sicheren Bearbeitung und Verwaltung dieser Daten erforderlichen Software (DBVS).

DB

Anwender

Sammlung von Daten

DBVS

Software zur Verwaltung der Daten

Page 6: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

6

KB

Date

nb

an

ken

Datenbanksysteme sind überallDatenbanksysteme sind überall

Beispiele:

- Bibliothek

- Bank

- Reisebüro: Buchungssystem

- Bahn: Auskunftssystem

- Suchmaschine im Internet

- ...

Page 7: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

7

KB

Date

nb

an

ken

Das ModellierungsproblemDas Modellierungsproblem

Ziel: Repräsentation von Information

?

Zustand:Gerd Müller ist registrierter Leser der Bibliothek. Er hat am 12.2.2002 das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen. ...

Vorgang:Gerd Müller gibt das Buch ... zurück.

Miniwelt DB-Modellwelt

Informationen über die Miniwelt

Page 8: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

8

KB

Date

nb

an

ken

Repräsentation mit TabellenRepräsentation mit Tabellen

Information:

Gerd Müller ist registrierter Leser der Bibliothek. Er hat am 12.2.2002 das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen.

Sig Autor Titel Jahr Name Vorname Wohnort Straße AusleihdatumF1 Beckenbauer Fußball ist 1980 Müller Gerd München Kirchstr. 13 02.02.02I2 Gaardner Sofies Welt 1995 Müller Peter Landstuhl Hauptstr. 7 18.01.02...

Repräsentation:

Page 9: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

9

KB

Date

nb

an

ken

Redundanz und InkonsistenzRedundanz und Inkonsistenz

Das Tabellenmodell ist redundant: Informationen werden hier z. T. mehrfach repräsentiert.

Eine Transaktion (Ändern) führt leicht zu inkonsistenten Modellen: Informationen werden auf unterschiedliche Weise repräsentiert.

Sig Autor Titel Jahr Ausleihdatum Name Vorname Wohnort Straße

I1 Balzert Informatik 1999 02.02.2002 Schreiner Rudolf Bann Kirchstr. 13I2 Gaardner Sofies Welt 1995 18.01.2002 Müller Peter Landstuhl Hauptstr. 7D1 Musil Der Mann

ohne1978 16.02.2002 Schreiner Rudi Bann Kichstr. 13

D2 Kafka Das Schloß 1990 31.12.2001 Müller Peter Landstuhl Hauptstraße 7

Ausleihen

Page 10: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

10

KB

Date

nb

an

ken

Verknüpfte TabellenVerknüpfte TabellenLNr Name Vorname GebJahr Stamm

kursleit0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM

Sig Autor Titel Jahr Fachbereich LNr Ausleihdatum

D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch 2 16.01.02D3 Mann Der

Zauberberg1940 Deutsch

D4 Kafka Das Schloss 1930 Deutsch 5 30.12.01D5 Grass Ein weites Feld 1997 DeutschM1 Euklid Die Elemente 1970 MathematikM2 Singh Fermats letzter

Satz1998 Mathematik

M3 Padberg ElementareZahlentheorie

1999 Mathematik 3 25.02.02P1 Heisenberg Der Teil und

das Ganze1955 Physik

P2 Einstein Relativitätstheorie

1960 Physik 12 03.03.02P3 Weinberg Die ersten drei

Minuten1989 Physik

Ph1 Gardner Sofies Welt 1995 Philosophie 2 18.01.02Ph2 Kant Kritik der

reinen1958 Philosophie

Ph3 Russell Geschichte derPhilosophie

1952 Philosophie

PrimärschlüsselFremd-schlüssel

Die Verknüpfung von Tabellen erfolgt mit Hilfe von Schlüsseln.

Page 11: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

11

KB

Date

nb

an

ken

Verknüpfte TabellenVerknüpfte TabellenLNr Name Vorname GebJahr Stamm

kursleit0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM

Sig Autor Titel Jahr Fachbereich

D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 DeutschD3 Mann Der Zauberberg 1940 Deutsch...Ph1 Gardner Sofies Welt 1995 PhilosophiePh2 Kant Kritik der reinen Vernunft 1958 PhilosophiePh3 Russell Geschichte der

Philosophie1952 Philosophie

LNr Sig Datum

4 D2 29.10.018 M1 03.11.01

11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01

Leser

Buch

Ausleihe

Page 12: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

12

KB

Date

nb

an

ken

TabellenspezifikationTabellenspezifikation

Leser:

Das logische Schema einer Tabelle wird durch eine endliche Menge von Attributspezifikationen (Attributname; Datentyp) festgelegt.

TABELLE LeserLNr: ZahlName: ZeichenketteVorname:ZeichenketteGebJahr: ZahlStammkurs: Zeichenkette

LNr Name Vorname GebJahr Stammkursleit0 Christ Benjamin 83 ROE

1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM

Page 13: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

13

KB

Date

nb

an

ken

Datentypen / DatenstrukturenDatentypen / Datenstrukturen

Ein Datentyp legt einen Wertebereich fest einschließlich der Operationen, die auf die Werte angewandt werden dürfen.

Bsp.: Datentyp Zahl

Eine Datenstruktur legt den Aufbau von komplexen Wertebereichen aus elementaren Wertebereichen fest.

Bsp.: Datenstruktur Tabelle (bzw. Relation)

Page 14: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

14

KB

Date

nb

an

ken

RelationRelation

Ein Relationenschema ist eine endliche Folge (A1:W1;

A2:W2; ...; An:Wn) von Attributspezifikationen. Dabei wird jedes Attribut durch einen Attributnamen und einen zugehörigen Wertebereich (Datentyp) festgelegt. Die Attributwerte müssen atomar sein (d. h. es sind keine zusammengesetzen Attributwerte erlaubt). Bsp.: (LNr: Zahl; Name: Zeichenkette; Vorname: Zeichenkette)

Ein Tupel (zu einem gegebenen Relationenschema) enthält zu jedem Attribut genau einen Attributwert.

Bsp.: (2; “Schmitt”; “Otto”)

Page 15: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

15

KB

Date

nb

an

ken

RelationRelation

Sei (A1:W1; A2:W2; ...; An:Wn) ein gegebenes Relationen-schema mit den Attributnamen A1; ...; An und den zugehörigen (endlichen) Wertebereichen W1; ...; Wn.Unter dem (kartesischen) Produkt W1 ... Wn versteht man die Menge aller möglichen Tupel (w1; ... ; wn) mit wi Wi.Eine Relation zum Relationenschema (A1:W1; A2:W2; ...; An:Wn) ist eine Teilmenge des Produkts W1 ... Wn.Bsp.: { (1; “Meier”; “Karin”), (2; “Schmitt”; “Otto”), (3; “Breuer”; “Hans”) }

Page 16: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

16

KB

Date

nb

an

ken

RelationRelation

Eine Relation kann in Tabellenform dargestellt werden.{ (1; “Meier”; “Karin”), (2; “Schmitt”; “Otto”), (3; “Breuer”; “Hans”) }

Beachte:Die Reihenfolge der Zeilen (Tupel) ist ohne Bedeutung.Die Reihenfolge der Spalten (Attribute) ist ohne Bedeutung.

LNr Name Vorname1 Meier Karin2 Schmitt Otto3 Breuer Hans

Page 17: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

17

KB

Date

nb

an

ken

Relationale DatenbankRelationale Datenbank

Eine relationale Datenbank besteht aus einer endlichen Menge von Relationen.

Bem.: Das relationale Datenmodell wurde 1970 von E. F. Codd entwickelt.

Datenbank Bibliothek:- Relation Leser- Relation Buch- Relation Ausleihe

Page 18: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

18

KB

Date

nb

an

ken

SchlüsselSchlüssel

Primärschlüssel:

Ein (Primär-) Schlüssel für eine Tabelle ist ein Attribut oder eine Attributkombination, mit dem / mit der jeder Datensatz der Tabelle eindeutig identifiziert werden kann. Schlüssel müssen immer minimal gewählt werden; d. h. man kann auf kein Attribut verzichten.

LNr Sig Datum

4 D2 29.10.018 M1 03.11.01

11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01

Ausleihe

LNr Name Vorname GebJahr Stammkursleit0 Christ Benjamin 83 ROE

1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM

Leser

Page 19: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

19

KB

Date

nb

an

ken

SchlüsselSchlüssel

Fremdschlüssel:

Wird ein Primärschlüssel einer Tabelle in einer anderen Tabelle benutzt, so stellt er dort einen Fremdschlüssel dar. Mit Hilfe von Fremdschlüsseln werden Bezüge zwischen Tabellen hergestellt.

LNr Sig Datum

4 D2 29.10.018 M1 03.11.01

11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01

Ausleihe

Page 20: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

20

KB

Date

nb

an

ken

Referentielle IntegritätReferentielle IntegritätSig Autor Titel Jahr Fachbereich

D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 DeutschD3 Mann Der Zauberberg 1940 Deutsch...Ph1 Gardner Sofies Welt 1995 PhilosophiePh2 Kant Kritik der reinen Vernunft 1958 PhilosophiePh3 Russell Geschichte der

Philosophie1952 Philosophie

LNr Sig Datum

4 D0 29.10.018 M1 03.11.01

11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01

Buch

Ausleihe

Referentielle Integrität

Wenn in einer Tabelle ein Fremdschlüssel vorhanden ist, dann muss jeder Fremdschlüsselwert auch als Primärschlüsselwert in der korrespondierenden Tabelle vorkommen.

Page 21: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

21

KB

Date

nb

an

ken

Übungen - Aufgabe 1 Übungen - Aufgabe 1

Miniwelt „Schule“

Herr P. Müller (MP) unterrichtet die Klasse 5a (Raum M21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5a in Französisch. Sie ist auch Klassenlehrerin der 5a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (...)

Entwerfen Sie ein relationales Datenmodell zu dieser Miniwelt und implementieren Sie es mit Access. Erstellen Sie hierzu die entsprechenden Tabellen (in der Entwurfsansicht), geben Sie einige Testdaten ein und verknüpfen Sie die Tabellen (Primärschlüssel festlegen und Beziehungen knüpfen).

Page 22: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

22

KB

Date

nb

an

ken

Übungen - Aufgabe 2 Übungen - Aufgabe 2

Miniwelt „Sportverein“

Der Sportverein ist in Abteilungen (Leichtathletik, Turnen, Fußball, ...) aufgeteilt. Jede Abteilung bietet z. T. mehrere Sportgruppen an (z. B. bietet die Abteilung Fußball eine A-Jugend, B-Jugend, Altherrengruppe, ... an). Jede Sportgruppe wird von einem Trainer geleitet. Jede Abteilung hat einen Vorsitzenden. Trainer und Vorsitzender sind Mitglieder des Vereins. Jedes Mitglied wird über eine Mitgliedsnummer und die üblichen Daten erfasst. ...

Entwerfen Sie ein relationales Datenmodell zu dieser Miniwelt und implementieren Sie es mit Access.

Page 23: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

23

KB

Date

nb

an

ken

Aufgabe 1 - LösungsvorschlagAufgabe 1 - Lösungsvorschlag

Miniwelt „Schule“

Herr P. Müller (MP) unterrichtet die Klasse 5a (Raum M21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5a in Französisch. Sie ist auch Klassenlehrerin der 5a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (...)

Bez Stufe Klassenlehrer

5a 5 AL5b 5 MP5c 5 BEC...

Kürzel Name Vorname Telefon

AL Albrecht Anni 45678BEC Becker Klaus 12345MP Müller Peter 23456...

Klasse Fach Lehrer Tag Stunde

5a FR AL DI 35a FR AL FR 25a FR AL MI 65a FR AL MO 15a NWU MP MI 1...

Page 24: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

24

KB

Date

nb

an

ken

Teil 2Teil 2

Abfragen

Page 25: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

25

KB

Date

nb

an

ken

ZielsetzungZielsetzung

Es soll möglich sein, Abfragen an die Bibliotheksdatenbank zu stellen.

Z.B.:

Ist das Buch X ausgeliehen?

Wer hat das Buch X ausgeliehen?

...

Es soll möglich sein, Abfragen an die Bibliotheksdatenbank zu stellen.

Z.B.:

Ist das Buch X ausgeliehen?

Wer hat das Buch X ausgeliehen?

...

Page 26: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

26

KB

Date

nb

an

ken

Relationales DatenmodellRelationales DatenmodellLNr Name Vorname GebJahr Stamm

kursleit0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM2 Friedrich Andy 83 HB3 Frisch Johannes 84 TM...13 Teubner Ruth 84 HEI14 Thielen Clemens 84 TM15 Wollenweber Lisa 84 TM

Sig Autor Titel Jahr Fachbereich

D1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 DeutschD3 Mann Der Zauberberg 1940 Deutsch...Ph1 Gardner Sofies Welt 1995 PhilosophiePh2 Kant Kritik der reinen Vernunft 1958 PhilosophiePh3 Russell Geschichte der

Philosophie1952 Philosophie

LNr Sig Datum

4 D2 29.10.018 M1 03.11.01

11 P1 16.08.0113 D5 12.09.0113 Ph2 12.09.0114 D1 06.12.0115 M3 12.10.01

Leser

Buch

Ausleihe

Page 27: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

27

KB

Date

nb

an

ken

Relationales DatenmodellRelationales Datenmodell

Page 28: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

28

KB

Date

nb

an

ken

Query by ExampleQuery by Example

QbE: Grafik-basierte Erstellung von Abfragen

Abfrage: Welche Leser haben ein Buch ausgeliehen?

QbE:

Page 29: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

29

KB

Date

nb

an

ken

Query by ExampleQuery by Example

Abfrage: Welche Leser haben ein Buch ausgeliehen?

Ergebnis der Abfrage: neue Tabelle (Dynaset)

Name Vorname Sig

Frölich Daniel D2Hellriegel Daniel M1Martin Tobias P1Teubner Ruth D5Teubner Ruth Ph2Thielen Clemens D1Wollenweber Lisa M3

Beachte: Die neue Tabelle wird i. a. nicht gespeichert.

Page 30: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

30

KB

Date

nb

an

ken

Übungen - Aufgabe 3Übungen - Aufgabe 3

Erstellen Sie zu den folgenden Aufgaben QbE-basierte Abfragen.

Welche Leser gibt es?Welche Leser sind 84 geboren?Welche Leser sind vor 84 geboren?Welche Leser gibt es? Ausgabe aller Leser (Name, Vorname und Geburtsjahr) sortiert nach dem GeburtsjahrWelche Bücher von Goethe sind in der Bibliothek vorhanden?Welche Bücher sind ausgeliehen? (sortierte Ausgabe)Welche Bücher hat die Leserin Lisa Wollenweber ausgeliehen?Welche Leser haben ein Buch ausgeliehen? (Ausgabe mit / ohne Duplikate)Welche Leser haben ein Buch vor mehr als 60 Tagen ausgeliehen? (Hinweis: Datum()-Operator benutzen)...

Welche Bücher hat Leser X ausgeliehen?Wer hat Buch X ausgeliehen?Welche Bücher sind vom Autor X vorhanden?Wer hat welche Bücher vor dem Datum X ausgeliehen? Ausgabe sortiert nach Stammkursleitern...

Page 31: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

31

KB

Date

nb

an

ken

SQL - Structured Query LanguageSQL - Structured Query Language

QbE:

Abfrage: Welche Leser haben ein Buch ausgeliehen?

SQL: SELECT Leser.Name, Leser.Vorname, Ausleihe.SigFROM Leser INNER JOIN Ausleihe ON Leser.LNr = Ausleihe.LNr;

Page 32: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

32

KB

Date

nb

an

ken

SQLSQL

Aufgabe SQL-Ausdruck

Bestimme Vorname und Nachname aller Leser.

SELECT Leser.Vorname, Leser.NameFROM Leser;

Bestimme die Daten aller Leser, die im Stammkurs von Frau Römer sind.

SELECT *FROM LeserWHERE ((Leser.Stammkursleiter)="ROE");

Bestimme die Daten aller Bücher, die ausgeliehen sind.

SELECT *FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig;

SELECT *FROM Buch, AusleiheWHERE (Buch.Sig = Ausleihe.Sig);

Page 33: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

33

KB

Date

nb

an

kenSQL - SyntaxSQL - Syntax

<SQL-Auswahlabfrage> ::=

SELECT [ALL | DISTINCT] <Attributliste>FROM <Referenztabellen>[WHERE <Bedingung>][GROUP BY <Attributliste>][HAVING <Bedingung>]

Grundstruktur einer SQL-Auswahlabfrage:

Erläuterung

< ... > : noch zu erklärendes SymbolFROM : Bestandteil der Sprache[ ... ] : optionales Element... | ... : Alternative

Page 34: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

34

KB

Date

nb

an

kenSELECT-KlauselSELECT-Klausel

SELECT Leser.Vorname, Leser.NameFROM Leser;

SELECT Vorname, NameFROM Leser;

SELECT DISTINCT NameFROM Leser;

SELECT *FROM Leser;

SELECT [ALL | DISTINCT] <Attributliste>FROM <Referenztabelle>[WHERE <Bedingung>][GROUP BY <Attributliste>][HAVING <Bedingung>]

Grundstruktur

Beispiele

Page 35: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

35

KB

Date

nb

an

kenFROM-KlauselFROM-Klausel

SELECT *FROM Leser;

SELECT *FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig;

SELECT *FROM Leser, Buch

SELECT [ALL | DISTINCT] <Attributliste>FROM <Referenztabelle>[WHERE <Bedingung>][GROUP BY <Attributliste>][HAVING <Bedingung>]

Grundstruktur

Beispiele

Page 36: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

36

KB

Date

nb

an

kenWHERE-KlauselWHERE-Klausel

SELECT TitelFROM BuchWHERE (Jahr <1990);

SELECT TitelFROM BuchWHERE ((Jahr <1990) AND (Jahr > 1950));

SELECT TitelFROM BuchWHERE (NOT (Autor=“Goethe“));

SELECT Name, VornameFROM LeserWHERE (Vorname IN (“Franz“, “Heinz“, “Franz“));

SELECT Autor, TitelFROM BuchWHERE (Sig IN (SELECT Sig

FROM Buch INNER JOIN Ausleihe ON ... ));

Page 37: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

37

KB

Date

nb

an

kenSQL - SemantikSQL - Semantik

SELECT ... // Attribute der erzeugten TabelleFROM ... // Tabelle, aus der die Daten stammen[WHERE ...] // Bedingung, die die Datensätze erfüllen

müssen [GROUP BY ...] // Partitionierung in Gruppen[HAVING ...] // Auswahl von Gruppen

Informelle Beschreibung der Bedeutung:

Formale Beschreibung der Bedeutung:

Objekte: Relationen

Operationen: erzeugen aus Relationen neue Relationen

Relationenalgebra

Page 38: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

38

KB

Date

nb

an

ken

Operationen auf RelationenOperationen auf Relationen

Mit Hilfe von Operationen lassen sich aus gegebenen Relationen neue Relationen erzeugen. Folgende Grundoperationen werden üblicherweise benötigt:

- Projektion- Selektion- kartesisches Produkt- Verbund (join)- Vereinigung, Durchschnitt, Differenz

Page 39: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

39

KB

Date

nb

an

kenSELECT-KlauselSELECT-Klausel

Ausgangsrelation: Buch

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...Ph3 Russell Geschichte der ... 1952 Philosophie

Autor TitelGoethe FaustMann Dr. FaustusMann Der Zauberberg

Russell Geschichte der ...

Ergebnisrelation:

SELECT Autor, TitelFROM Buch;

SQL-Ausdruck:

Page 40: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

40

KB

Date

nb

an

ken

ProjektionProjektion

Ausgangsrelation: Buch

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...Ph3 Russell Geschichte der ... 1952 Philosophie

Autor TitelGoethe FaustMann Dr. FaustusMann Der Zauberberg...Russell Geschichte der ...

Ergebnisrelation: Autor, Titel(Buch)

Projektion:Autor, Titel

Mit Hilfe einer Projektion lassen sich Attributwerte einer Relation auswählen.

Page 41: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

41

KB

Date

nb

an

kenWHERE-KlauselWHERE-Klausel

Ausgangsrelation: Buch

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...Ph3 Russell Geschichte der ... 1952 Philosophie

Ergebnisrelation: (Autor=”Goethe”)(Buch)

SELECT *FROM BUCHWHERE (Autor = „Goethe“);

SQL-Ausdruck:

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 Deutsch

Page 42: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

42

KB

Date

nb

an

ken

SelektionSelektion

Ausgangsrelation: Buch

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...Ph3 Russell Geschichte der ... 1952 Philosophie

Ergebnisrelation: (Autor=”Goethe”)(Buch)

Selektion:

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 Deutsch

(Autor=”Goethe”)

Mit Hilfe einer Selektion kann man bestimmte Tupel aus einer Relation herausfiltern.

Page 43: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

43

KB

Date

nb

an

ken

ProduktProdukt

Ergebnisrelation: Buch Leser // Kombination der RelationenSig Autor Titel Jahr Fach... LNr Name ...D1 Goethe Faust 1973 Deutsch 0 ChristD1 Goethe Faust 1973 Deutsch 1 Eberle...D1 Goethe Faust 1973 Deutsch 15 Wollen...D2 Mann Dr. Fau... 1937 Deutsch 0 ChristD2 Mann Dr. Fau... 1937 Deutsch 1 Eberle...

Ausgangsrelationen: Buch, Leser

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...

LNr Name Vorname GebJahr Stamm...0 Christ Benjamin 83 ROE1 Eberle Gerrit 84 TM...

Page 44: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

44

KB

Date

nb

an

ken

INNER JOININNER JOIN

Ausgangsrelationen: Buch, Ausleihe

LNr Sig Datum4 D2 29.10.018 M1 03.11.01...

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...

SELECT *FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig;

SQL-Ausdruck:

Ergebnisrelationen:

Sig Autor Titel Jahr Fach... LNr Datum...D2 Mann Dr. Fau... 1937 Deutsch 4 29.10.01...

Page 45: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

45

KB

Date

nb

an

ken

VerbundVerbund

Ausgangsrelationen: Buch, Ausleihe

LNr Sig Datum4 D2 29.10.018 M1 03.11.01...

Sig Autor Titel Jahr FachbereichD1 Goethe Faust 1973 DeutschD2 Mann Dr. Faustus 1937 Deutsch...

Verbund / join:

Ergebnisrelationen: Buch Ausleihe

Sig Autor Titel Jahr Fach... LNr Datum...D2 Mann Dr. Fau... 1937 Deutsch 4 29.10.01...

Mit Hilfe eines Verbundes (natural join) lassen sich Relationen mit einem gemeinsamen Attribut verschmelzen.

Page 46: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

46

KB

Date

nb

an

ken

MengenoperationenMengenoperationen

Zwei Relationen R und S (über demselben Relationenschema) können mit den üblichen Mengenoperationen verknüpft werden:- Vereinigung: R S- Durchschnitt: R S- Differenz: R \ S

Page 47: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

47

KB

Date

nb

an

ken

Relationenalgebra und SQLRelationenalgebra und SQL

Autor, Titel(Buch) SELECT Autor, TitelFROM Buch

(Autor=”Goethe”)(Buch) SELECT *FROM Buch WHERE (Autor = “Goethe”)

Buch Ausleihe SELECT *FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig

Buch Leser SELECT *FROM Buch, Leser

Buch1 Buch2 Buch1 UNION Buch2

Page 48: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

48

KB

Date

nb

an

ken

SQL als ProgrammierspracheSQL als Programmiersprache

Ergebnisrelation

SQL-Interpreter

Ausgangsrelationen

SQL-AusdruckProgramm:

SQL: Sprache zur Programmierung von Abfragen

Page 49: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

49

KB

Date

nb

an

ken

Übungen - Aufgabe 3 Übungen - Aufgabe 3

Wir betrachten hier die folgenden Tabellen zur Modellierung der Miniwelt „Unterrichtsverteilung“:

Erstellen Sie SQL-Ausdrücke zu den folgenden Abfrageaufträgen:

Page 50: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

50

KB

Date

nb

an

ken

Übungen - Aufgabe 3 Übungen - Aufgabe 3

(1) Bestimme Name und Vorname sämtlicher Lehrer.

(2) Bestimme alle Lehrer (nur Kürzel), die montags in der 3. Stunde Unterricht haben.

(3) Bestimme die Namen aller Lehrer, die eine 6. Klasse leiten.

(4) Bestimme, welche Lehrer in den 8. Klassen Physik unterrichten. Gib den Lehrernamen und die Klasse jeweils aus.

(5) Bestimme alle Lehrer (Namen und Vornamen), die keine Klasse leiten.(6) Bestimme, wann die 10a ihre Deutschstunden hat.

Page 51: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

51

KB

Date

nb

an

ken

Aufgabe 3 - LösungsvorschlagAufgabe 3 - Lösungsvorschlag

(1) Bestimme Name und Vorname sämtlicher Lehrer.

SELECT Name, VornameFROM Lehrer

(2) Bestimme alle Lehrer (nur Kürzel), die montags in der 3. Stunde Unterricht haben.

SELECT KürzelFROM Lehrer INNER JOIN Unterricht ON Lehrer.Kürzel = Unterricht.LehrerWHERE ((Tag = Mo) AND (Stunde = 3)) (3) Bestimme die Namen aller Lehrer, die eine 6. Klasse leiten.

SELECT NameFROM Lehrer INNER JOIN Klasse ON Lehrer.Kürzel = Klasse.KlassenlehrerWHERE (Stufe = 6)

Page 52: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

52

KB

Date

nb

an

ken

Aufgabe 3 - LösungsvorschlagAufgabe 3 - Lösungsvorschlag

(4) Bestimme, welche Lehrer in den 8. Klassen Physik unterrichten. Gib den Lehrernamen und die Klasse jeweils aus.

SELECT Lehrer.Name, Unterricht.KlasseFROM (Lehrer INNER JOIN Unterricht ON Lehrer.Kürzel = Unterricht.Lehrer) INNER JOIN Klasse ON Unterricht.Klasse = Klasse.BezWHERE ((Klasse.Stufe = 8) AND ((Unterricht.Fach = „Physik“)(5) Bestimme alle Lehrer (Namen und Vornamen), die keine Klasse leiten.

SELECT Name, Vorname FROM LehrerWHERE (NOT Kürzel IN SELECT Klassenlehrer FROM Klasse)(6) Bestimme, wann die 10a ihre Deutschstunden hat.

SELECT Tag, StundeFROM UnterrichtWHERE (Klasse = „10a“)

Page 53: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

53

KB

Date

nb

an

ken

Übungen - Aufgabe 4 Übungen - Aufgabe 4

Gegeben sind die folgenden Relationen:

Wir betrachten die folgende Abfrage:

SELECT B, DFROM R SWHERE (D < 4)

A B C A D

a b 1 a 3b b 2 a 1c a 3 c 3d c 4 d 6

5 a 46 c 2

R: S:

Beschreiben Sie diesen SQL-Ausdruck mit Hilfe der Operationen der Relationenalgebra. Entwickeln Sie dann Schritt für Schritt durch Anwendung der jeweiligen Operationen die Ergebnistabelle.

Page 54: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

54

KB

Date

nb

an

ken

Aufgabe 4 - LösungsvorschlagAufgabe 4 - Lösungsvorschlag

SQL-Ausdruck:

SELECT B, DFROM R SWHERE (D < 4)

A B C A D

a b 1 a 3b b 2 a 1c a 3 c 3d c 4 d 6

5 a 46 c 2

R: S:

B,D(D < 4)(R S):

B D

b 3b 1a 3a 2

Page 55: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

55

KB

Date

nb

an

ken

ZielsetzungZielsetzung

Die Bibliotheksdatenbank soll um die Möglichkeit erweitert werden, die folgenden Aktionen automatisiert durchzuführen:

- Buch ausleihen

- Buch zurückgeben

Die Bibliotheksdatenbank soll um die Möglichkeit erweitert werden, die folgenden Aktionen automatisiert durchzuführen:

- Buch ausleihen

- Buch zurückgeben

Beachte:

Man benötigt hierzu sog. Manipulationsabfragen, d.h. Abfragen, die bestehende Tabellen verändern oder neue Tabellen erzeugen.

Page 56: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

56

KB

Date

nb

an

ken

ManipulationsabfragenManipulationsabfragen

Tabellenerstellungsabfragen übertragen Daten in eine neue Tabelle.

SQL: SELECT <Attributliste> INTO <Tabellenname>

QbE: Löschabfragen löschen Daten in einer Tabelle.

SQL: DELETE <Attributliste> FROM <Tabellenname> WHERE <Bedingung>

QbE: Anfügeabfragen fügen Daten aus einer bestehenden in eine bestehende Tabelle ein.

SQL: INSERT INTO <Tabellenname> SELECT <Attributliste> FROM ...

QbE: Aktualisierungsabfragen ändern Daten in einer bestehenden Tabelle.

SQL: UPDATE <Tabellenname> SET Attribut = Ausdruck, ...

QbE: Beachte: Access-SQL unterscheidet sich z.T. erheblich von Standard-SQL!

Page 57: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

57

KB

Date

nb

an

ken

Buch zurückgebenBuch zurückgeben

Löschung des mit Parametern eingegebenen Datensatzes aus der Tabelle „Ausleihe“

DELETE Ausleihe.LNr, Ausleihe.SigFROM AusleiheWHERE (((Ausleihe.LNr)=[Lesernummer:]) AND ((Ausleihe.Sig)=[Buchsignatur:]));

AusleiheLöschen:

Page 58: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

58

KB

Date

nb

an

kenBuch ausleihenBuch ausleihen

Schritt 1: Aktualisierung einer Hilfstabelle „Daten“, die die Ausleihdaten aufnehmen soll: Eingabe von Lesernummer und Buchsignatur mit Hilfe von Parametern; Ergänzung des aktuellen Datums;

UPDATE Daten SET Daten.LNr = [Lesernummer:], Daten.Sig = [Buchsignatur:], Daten.Datum = Date();

LNr Sig Datum5 Ph1 31.12.01

Daten: (Hilfstabelle)

AusleiheAufnehmen:

Page 59: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

59

KB

Date

nb

an

kenBuch ausleihenBuch ausleihen

INSERT INTO Ausleihe ( LNr, Sig, Datum )SELECT Daten.LNr, Daten.Sig, Daten.DatumFROM Daten;

Schritt 2: Anfügen der Datensätze aus der Hilfstabelle an die bestehende Tabelle „Ausleihe“;

LNr Sig Datum4 D2 16.09.014 P2 30.12.015 Ph1 31.12.016 D3 30.12.01...

Ausleihe:

AusleiheÜbertragen:

Page 60: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

60

KB

Date

nb

an

ken

Automatisierung mit MakrosAutomatisierung mit Makros

Makro „BuchAusleihen“

AusleiheAufnehmenAusleiheÜbertragen

Makro „BuchZurückgeben“

AusleiheLöschen

Ein Makro ist eine Gruppe von Aktionen, die jeweils eine bestimmte Operation ausführen. Mit Hilfe von Makros kann man häufig vorkommende Aufgaben automatisieren, z.B. zwei Manipulationsabfragen direkt hintereinander durchführen.

Page 61: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

61

KB

Date

nb

an

ken

Übungen - Aufgabe 5Übungen - Aufgabe 5

Die Bibliotheksdatenbank soll wie folgt erweitert werden:

Zurückgegebene Ausleihen sollen (mit dem Rückgabedatum versehen) in einer zusätzlichen Tabelle archiviert werden.

Die Operation „Buch zurückgeben“ soll automatisch den Datensatz aus der Tabelle „Ausleihe“ löschen und ihn in die Tabelle „Archiv“ einfügen.

Die Bibliotheksdatenbank soll wie folgt erweitert werden:

Zurückgegebene Ausleihen sollen (mit dem Rückgabedatum versehen) in einer zusätzlichen Tabelle archiviert werden.

Die Operation „Buch zurückgeben“ soll automatisch den Datensatz aus der Tabelle „Ausleihe“ löschen und ihn in die Tabelle „Archiv“ einfügen.Die Bibliotheksdatenbank soll wie folgt erweitert werden:

Es besteht die Möglichkeit, Bücher vorzubestellen. Wird ein vorbestelltes Buch zurückgegeben, so erhält derjenige, der es als erster vorbestellt hatte, eine Nachricht, dass das Buch für ihn bereitliegt.

Die Bibliotheksdatenbank soll wie folgt erweitert werden:

Es besteht die Möglichkeit, Bücher vorzubestellen. Wird ein vorbestelltes Buch zurückgegeben, so erhält derjenige, der es als erster vorbestellt hatte, eine Nachricht, dass das Buch für ihn bereitliegt.

Page 62: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

62

KB

Date

nb

an

ken

Teil 3Teil 3

Datenschutz

Page 63: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

63

KB

Date

nb

an

ken

ZielsetzungZielsetzung

FallstudieLehrer X muss bis Ende der Woche seine Epochalnoten machen. Bei einigen Schülerinnen und Schülern ist er sich seiner Sache noch nicht ganz sicher. Er geht in die Schulbibliothek und lässt sich von der Bibliothekarin eine Liste der Bücher seines Faches erstellen, die die betroffenen Schülerinnen und Schüler im letzten Halbjahr ausgeliehen hatten bzw. haben. Aufgrund dieser Informationen kann er jetzt besser beurteilen, wie groß das Interesse dieser Schülerinnen und Schüler an den im Unterricht besprochenen Themen war.

FallstudieLehrer X muss bis Ende der Woche seine Epochalnoten machen. Bei einigen Schülerinnen und Schülern ist er sich seiner Sache noch nicht ganz sicher. Er geht in die Schulbibliothek und lässt sich von der Bibliothekarin eine Liste der Bücher seines Faches erstellen, die die betroffenen Schülerinnen und Schüler im letzten Halbjahr ausgeliehen hatten bzw. haben. Aufgrund dieser Informationen kann er jetzt besser beurteilen, wie groß das Interesse dieser Schülerinnen und Schüler an den im Unterricht besprochenen Themen war.

Ziel: Beurteilung des Vorgangs unter Datenschutzaspekten

Page 64: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

64

KB

Date

nb

an

ken

Datenschutz - was ist das?Datenschutz - was ist das?

keinSchutz von Daten

sondernSchutz des Bürgers vor der Verletzung seiner

Persönlichkeitsrechte

Grundgesetz: Recht auf informationelle Selbstbestimmung

Der Einzelne kann selbst über die Preisgabe und Verwendung seiner persönlichen Daten entscheiden

Grundgesetz: Recht auf informationelle Selbstbestimmung

Der Einzelne kann selbst über die Preisgabe und Verwendung seiner persönlichen Daten entscheiden

Page 65: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

65

KB

Date

nb

an

ken

Ein Blick zurück ..Ein Blick zurück ..

Vor 1978: generelle ErlaubnisDie Verarbeitung personenbezogener Daten ist erlaubt, sofern sie nicht durch Gesetze eingeschränkt ist.

1.1.1978: Bundesdatenschutzgesetz (BDSG)Wandel in der Rechtsauffassung

Ab 1978: grundsätzlicges VerbotDie Verarbeitung personenbezogener Daten ist verboten, sofern sie nicht durch Gesetze erlaubt wird.

1983: Ergänzung des Grundgesetzes Informationelle Selbstbestimmung als Grundrecht

Page 66: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

66

KB

Date

nb

an

ken

Rechte und GesetzeRechte und Gesetze

Grundgesetz(Recht auf informationelle Selbstbestimmung)

Öffentlicher Bereich

- BDGS (Abschnitt 2) - LDSG - spezielle Regelungen

Privater Bereich

- BDGS (Abschnitt 3) - spezielle Regelungen

Ausgestaltung durch Gesetze und Regelungen

Spezielle Regelungen haben Vorrang vor allgemeinen

Gesetzen.

Page 67: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

67

KB

Date

nb

an

ken

InteressenkonflikteInteressenkonflikte

Individualinteresse

Recht auf informationelle Selbstbestimmung:

Schutz der Bürger vor- Erhebung- Speicherung- Verwendung- Weitergabeseiner persönlichen Daten

Gemeinschaftsinteresse

Aufgaben eines Staates:

- Erfüllung gesetzlicher Auf-gaben (Sozialleistungen,...)- Gewährleistung von Sicher-heit (Verbrechensbek., ...)- Mitwirkung der Bürger (Wahlen, ...)- Planung (Rentenentwicklung, ...Bereitschaft der Bürger

zur Preisgabe unverzichtbarer Daten

Instrumente zur Kontrolle unnötiger und rechtswidriger Vorgänge

Page 68: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

68

KB

Date

nb

an

ken

DatenschutzgesetzeDatenschutzgesetze

Individualinteresse

Recht auf informationelle Selbstbestimmung

Gemeinschaftsinteresse

Aufgaben, Pflichten, allgemeine Interessen, ...

legen die Rechte der Betroffenen fest

legen die Bedingungen fest, unter denen eine Verarbeitung von Daten durch - öffentliche Stellen- nicht-öffentliche Stellenzulässig ist

Page 69: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

69

KB

Date

nb

an

ken

Was sind Daten?Was sind Daten?

Daten

DateiAkte Liste

Ein Datensatz mit vielen Merkmalen

Viele Datensätze, nach mehreren Merkmalen auswertbar

Viele Datensätze, nach einem Merkmal ausge-wertet

Datenschutzregelungen beziehen sich meist auf Dateien!

BDSG §3:

Page 70: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

70

KB

Date

nb

an

ken

Personenbezogene DatenPersonenbezogene Daten

Personenbezogene Daten sind

persönliche (z. B. Anschrift, Beruf, Straftaten, Krankheiten, ...)

oder

sachliche (z. B. Vermögen, Schulden, Gehaltsangaben, ...)

Verhältnisse einer

bestimmten (Person ist unmittelbar erkennbar)

oder

bestimmbaren (Person kann durch weitere Daten ermittelbar)

natürlichen Person. (also keine juristische Person, etwa Firma)

(Betroffener)

BDSG §3:

Page 71: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

71

KB

Date

nb

an

ken

Anwendungsbereiche der GesetzeAnwendungsbereiche der Gesetze

Erheben von Daten:

(Beschaffen von Daten über den Betroffenen)

Verarbeiten von Daten:

(Speichern, Verändern, Übermitteln, Sperren und Löschen personenbezogener Daten, ungeachtet der dabei angewendeten Verfahren)

Nutzen von Daten:

(Verwendung personenbezogener Daten, soweit es sich nicht um Verarbeitung handelt; z. B. Kenntnisnahme eines Bildschirminhalts)

Page 72: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

72

KB

Date

nb

an

ken

Datenverarbeitung nicht-öffentlicher Datenverarbeitung nicht-öffentlicher StellenStellen

§ 28 Datenspeicherung, -übermittlung und -nutzung für eigene Zwecke (1) Das Speichern, Verändern oder Übermitteln personenbezogener Daten oder ihre Nutzung als Mittel für die Erfüllung eigener Geschäftszwecke ist zulässig 1. im Rahmen der Zweckbestimmung eines Vertragsverhältnisses oder vertragsähnlichen Vertrauensverhältnisses mit dem Betroffenen, 2. soweit es zur Wahrung berechtigter Interessen der speichernden Stelle erforderlich ist und kein Grund zu der Annah-me besteht, daß das schutzwürdige Interesse des Betroffenen an dem Ausschluß der Verarbeitung oder Nutzung überwiegt, 3. wenn die Daten aus allgemein zugänglichen Quellen entnommen werden können oder die speichernde Stelle sie veröffentlichen dürfte, es sei denn, daß das schutzwürdige Interesse des Betroffenen an dem Ausschluß der Verarbeitung oder Nutzung offensichtlich überwiegt, 4. wenn es im Interesse der speichernden Stelle zur Durchführung wissenschaftlicher Forschung erforderlich ist (...).

Page 73: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

73

KB

Date

nb

an

ken

Datenverarbeitung nicht-öffentlicher Datenverarbeitung nicht-öffentlicher StellenStellen

§ 28 Datenspeicherung, -übermittlung und -nutzung für eigene Zwecke (2) Die Übermittlung oder Nutzung ist auch zulässig 1. a) soweit es zur Wahrung berechtigter Interessen eines Dritten oder öffentlicher Interessen erforderlich ist oder b) wenn es sich um listenmäßig oder sonst zusammengefaßte Daten über Angehörige einer Personengruppe handelt, die sich auf eine - Angabe über die Zugehörigkeit des Betroffenen zu dieser Personen-gruppe, - Berufs-, Branchen- oder Geschäftsbezeichnung, - Namen, - Titel, - akademische Grade, - Anschrift, - Geburtsjahr beschränken und kein Grund zu der Annahme besteht, daß der Betroffene ein schutzwürdiges Interesse an dem Ausschluß der Übermittlung hat. (...)

Page 74: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

74

KB

Date

nb

an

ken

Datenverarbeitung öffentlicher StellenDatenverarbeitung öffentlicher Stellen

§ 13 Erhebung von Daten(1) Das Erheben personenbezogener Daten ist zulässig, wenn ihre Kenntnis zur Erfüllung der Aufgaben der erhebenden Stellen erforderlich ist. (...)

§ 14 Datenspeicherung, -veränderung und -nutzung (1) Das Speichern, Verändern oder Nutzen personenbezogener Daten ist zulässig, wenn es zur Erfüllung der in der Zuständigkeit der speichernden Stelle liegenden Aufgaben erforderlich ist und es für die Zwecke erfolgt, für die die Daten erhoben worden sind. Ist keine Erhebung vorausgegangen, dürfen die Daten nur für die Zwecke geändert oder genutzt werden, für die sie gespeichert worden sind.(...)

Page 75: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

75

KB

Date

nb

an

ken

Rechte der BetroffenenRechte der Betroffenen

- Auskunft (über die gespeicherten Daten)

- Berichtigung (unrichtiger Daten)

- Löschung (von Daten bei unzulässiger Speicherung, ...)

- Sperrung (bei Nichtfeststellbarkeit der Richtigkeit, ...)

- Unterlassungs- und Beseitigungsanspruch

- Schadensersatz

- Einsicht und Auskunft in das Datenschutzregister

- Anrufung des Landesbeauftragten für den Datenschutz

Page 76: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

76

KB

Date

nb

an

ken

Maßnahmen zum DatenschutzMaßnahmen zum Datenschutz

Zugangskontrolle: Unbefugten ist der Zugang zu Datenverarbeitungsanlagen, mit denen personenbezogene Daten verarbeitet werden, zu verwehren.

Datenträgerkontrolle: Es ist zu verhindern, dass Datenträger unbefugt gelesen, kopiert, verändert oder entfernt werden.

Speicherkontrolle: Das unbefugte Speichern und das unbefugte Verändern gespeicherter persinenbezogener Daten ist zu verhindern.

Benutzerkontrolle: Nur befugte Personen dürfen Datenverarbeitungssysteme benutzen.

Zugriffskontrolle: Es ist zu gewährleisten, dass die zur Benutzung eines Datenverarbeitungssystems Berechtigten ausschließlich auf die ihrer Zugriffsberechtigung unterliegenden Daten zugreifen können.

Page 77: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

77

KB

Date

nb

an

ken

Maßnahmen zum DatenschutzMaßnahmen zum Datenschutz

Übermittlungskontrolle: Es muss überprüft und festgestellt werden können, an welche Stellen personenbezogene Daten durch Einrichtungen zur Datenübertragung übermittelt werden können.

Eingabekontrolle: Es muss überprüft und festgestellt werden können, wann und von wem personenbezogene Daten in Datenverarbeitungssysteme eingegeben wurden.

Auftragskontrolle: Es muss gewährleistet werden, dass im Auftrag verarbeitete Daten nur entsprechend den Weisungen des Auftraggebers verarbeitet werden.

Transportkontrolle: Es soll verhindert werden, dass personenbezogene Daten bei der Übermittlung sowie beim Transport von Datenträgern unbefugt gelesen, kopiert, verändert oder gelöscht werden.

Organisationskontrolle: Die innerbehördliche oder innerbetriebliche Organisation ist so zu gestalten, dass sie den besonderen Anforderungen des Datenschutzes gerecht wird.Daten zugreifen können.

Page 78: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

78

KB

Date

nb

an

ken

Teil 4Teil 4

Entity-Relationship-Modellierung

Page 79: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

79

KB

Date

nb

an

ken

ZielsetzungZielsetzung

Der Entwurf relationaler Datenmodelle soll systematisiert werden.

Im folgenden wird die sog. Entity-Relationship-Modellierung vorgestellt. Ziel einer ER-Modellierung ist es, die Informationen über die Miniwelt möglichst einfach und strukturiert zu beschreiben.

Das ER-Modell wurde 1976 von P. Chen entwickelt.

Der Entwurf relationaler Datenmodelle soll systematisiert werden.

Im folgenden wird die sog. Entity-Relationship-Modellierung vorgestellt. Ziel einer ER-Modellierung ist es, die Informationen über die Miniwelt möglichst einfach und strukturiert zu beschreiben.

Das ER-Modell wurde 1976 von P. Chen entwickelt.

Page 80: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

80

KB

Date

nb

an

ken

Miniwelt „Bibliothek“Miniwelt „Bibliothek“

Objekte ObjekteBeziehungen

Page 81: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

81

KB

Date

nb

an

ken

Strukturiertes DatenmodellStrukturiertes Datenmodell

LNr: 3Name: MüllerVorname: Peter...

LNr: 6Name: SchmittVorname: Otto...LNr: 1Name: MeierVorname: Karla...

Sig: Rel1Autor: Titel: Bibel...

Sig: M1Autor: Euklid Titel: Elemente...

Sig: P1Autor: Einstein Titel: Relativität...

8.1.2002

16.2.2002

Objekte ObjekteBeziehungen

Page 82: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

82

KB

Date

nb

an

ken

Entity-Relationship-ModellEntity-Relationship-Modell

LNr: 3Name: MüllerVorname: Peter...

LNr: 6Name: SchmittVorname: Otto...LNr: 1Name: MeierVorname: Karla...

Sig: Rel1Autor: Titel: Bibel...

Sig: M1Autor: Euklid Titel: Elemente...

Sig: P1Autor: Einstein Titel: Relativität...

8.1.2002

16.2.2002

Leser Ausleihe Buch

Klassenbildung

Page 83: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

83

KB

Date

nb

an

ken

Entity-Relationship-ModellEntity-Relationship-Modell

Leser Ausleihe Buch

Spezifikation der Klassen mit Hilfe von Attributen:

LNr Name AutorSigDatum... ...

Page 84: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

84

KB

Date

nb

an

ken

Objekt- und BeziehungsklassenObjekt- und Beziehungsklassen

Leser Ausleihe Buch

Eine Objektklasse (eine Entitätenklasse / ein Objekttyp) ist eine Zusammenfassung von Entitäten mit gleichen Eigenschaften.

Eine Beziehungsklasse (eine Relationenklasse / ein Beziehungstyp) ist eine Zusammenfassung von gleichartigen Relationen / Beziehungen.

Page 85: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

85

KB

Date

nb

an

ken

AttributeAttribute

Die Eigenschaften aller Objekte / Beziehungen einer Objektklasse / Beziehungsklasse werden mit Hilfe von Attributen erfasst.. Man unterscheidet zwischen beschreibenden und identifizierenden Attributen.

Leser Ausleihe Buch

LNr Name AutorSigDatum... ...

Page 86: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

86

KB

Date

nb

an

ken

Mehrwertige BeziehungenMehrwertige Beziehungen

bucht Reise

Mitarbeiter

Kunde

Eine Beziehung kann auch zwischen Objekten aus 3, 4, ... Objektklassen bestehen.

Page 87: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

87

KB

Date

nb

an

ken

Rekursive BeziehungenRekursive Beziehungen

spielt gegen

Verein

Heim

Gast

Eine Beziehung kann auch zwischen Objekten einer Objektklasse bestehen.

Page 88: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

88

KB

Date

nb

an

ken

Beziehungen als ObjekteBeziehungen als Objekte

Leser Ausleihe Buch

Mahnung

betrifft

Eine Beziehung kann auch als Objekt in einer anderen Beziehung auftreten.

Page 89: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

89

KB

Date

nb

an

ken

GeneralisierungshierarchieGeneralisierungshierarchie

Person Ausleihe Buch

LehrerSchüler

ist ist

Kürzel Name ...

ErzBer PersNr

Die ist-Beziehung verknüpft Objektklassen (nicht Objekte).

Die Spezialisierungsklasse erbt die Attribute der Generalisierungsklasse.

Page 90: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

90

KB

Date

nb

an

ken

Übungen - Aufgabe 7Übungen - Aufgabe 7

Miniwelt „Schule“

Herr P. Müller unterrichtet die Klasse 9a in den Fächern Mathematik und Physik. Frau A. Albrecht unterrichtet die 9a in Französisch. Sie ist auch Klassenlehrerin der 9a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. ...

Miniwelt „Schule“

T. Martin hat die Kurse 12M2, 12E1, 12Ch1, 12in1, 12sp2, ... belegt. Den Kurs 12in1 besucht er dabei freiwillig. Stammkurs von T. Martin ist der Kurs 12M2. Dieser wird von F. Trautmann geleitet.

Erstellen Sie zu den folgenden Miniwelten jeweils ein ER-Modell:

Page 91: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

91

KB

Date

nb

an

ken

Übungen - Aufgabe 8Übungen - Aufgabe 8

Miniwelt „Kino “Der Film “Enigma” (Produzent Mick Jagger) läuft ab dem 26.1.2002 im Saal “Movie 2” des Kinocenters “Cinema KL”. Für den Saal “Movie 2” ist samstags Sven Knohsalla als Vorführer eingeteilt. (...)

Miniwelt „Flugreservierung“

Anna Wollenweber aus Kaiserslautern (Burgstraße 4) bucht am 2.2.2002 den Flug RY201 nach London. Dieser Flug wird von der Maschine LX23 (Boing 737) durchgeführt. A. Wollenweber wird der Sitzplatz A36 (Fensterplatz) in diesem Flugzeug zugewiesen. (...)

Identifizieren Sie in den folgenden Miniwelten Objekte und Beziehungen und stellen Sie diese in einem ER-Diagramm dar.

Page 92: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

92

KB

Date

nb

an

ken

Übungen - Aufgabe 9Übungen - Aufgabe 9

Worin besteht der Unterschied zwischen den beiden Modellen?

Leser Ausleihe Buch

LNr Name AutorSigDatum... ...

Leser Ausleihe Buch

LNr Name AutorSigDatum... ...

Page 93: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

93

KB

Date

nb

an

ken

Übungen - Aufgabe 10Übungen - Aufgabe 10

Miniwelt „Arztpraxis “Die drei Ärzte Mager, Mewes und Mises führen eine Gemeinschaftspraxis. Sie wollen mit Hilfe einer Datenbank Informationen der folgenden Art erfassen:Dr. Elisabeth Mager (kurz Ma) behandelt am 21.2.2002 den Patienten Willi Schäfer (Patientennummer 3012). Im Rahmen dieser Behandlung werden die folgenden Leistungen erbracht: Beratung, symptombezogene Untersuchung, Schutzimpfung. Jede dieser Leistungen ist über eine Nummer identifizierbar und kostet eine bestimmte Gebühr.Miniwelt „Zugfahrt“Während der Zugfahrt werden die folgenden Stationen erreicht: 7.30 Saarbrücken; 8.10 Kaiserslautern; 8.30 Mannheim; ... ; 14.00 Berlin. Die Zugfahrt wird während der Teilstrecke Saarbrücken - Frankfurt von Schaffner Peter Schmitt begleitet. Während der Teilstrecke Frankfurt - Hannover wird sie von Schaffner Karl Meier begleitet. Die gesamte Fahrt wird von Lokführer Winfried Schuster durchgeführt. Alle Personen, Schaffner Schmitt und Meier sowie Lokführer Schuster gehören zum Personal der DB. (...)

Erstellen Sie zu den folgenden Miniwelten jeweils ein ER-Modell:

Page 94: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

94

KB

Date

nb

an

ken

Aufgabe 7 - LösungsvorschlagAufgabe 7 - Lösungsvorschlag

Miniwelt „Schule“

Herr P. Müller (MP) unterrichtet die Klasse 9a in den Fächern Mathematik und Physik. Frau A. Albrecht (AL) unterrichtet die 9a in Französisch. Sie ist auch Klassenlehrerin der 9a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (...)

leitet

KlasseLehrer

unterrichtetKürzel Name ... Bez ...

Fach Stunde

Page 95: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

95

KB

Date

nb

an

ken

Aufgabe 7 - LösungsvorschlagAufgabe 7 - Lösungsvorschlag

Miniwelt „Schule“

T. Martin (#31) besucht die Kurse 12M2, 12E1, 12Ch1, 12in1, .... Den Kurs 12in1 besucht er dabei freiwillig. Stammkurs von T. Martin ist der Kurs 12M2. Dieser wird von F. Trautmann unterrichtet. (...)

besucht

Kurs

Lehrer unterrichtet

Kürzel Name

StK

Bez

...Schüler

Kürzel Name

LK

freiwillig

Page 96: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

96

KB

Date

nb

an

ken

Aufgabe 8 - LösungsvorschlagAufgabe 8 - Lösungsvorschlag

Film läuft in Saal

Kino

Vorführer

istTeilvon

betreut

Page 97: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

97

KB

Date

nb

an

ken

Aufgabe 8 - LösungsvorschlagAufgabe 8 - Lösungsvorschlag

Kunde bucht Flug

Sitz FlugzeugistTeilvon

führt_aus

erhält

Page 98: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

98

KB

Date

nb

an

ken

Aufgabe 9 - LösungsvorschlagAufgabe 9 - Lösungsvorschlag

LNr: 3Name: MüllerVorname: Peter...

LNr: 6Name: SchmittVorname: Otto...LNr: 1Name: MeierVorname: Karla...

Sig: Rel1Autor: Titel: Bibel...

Sig: M1Autor: Euklid Titel: Elemente...

Sig: P1Autor: Einstein Titel: Relativität...

8.1.2002

16.2.2002

25.4.2002

Werden Ausleihen archiviert, so kann ein Buch mehrfach von demselben Leser ausgeliehen werden. Zur Identifikation einer Ausleihbeziehung benötigt man dann neben der Lesernummer und der Signatur des Buches auch das Ausleihdatum.

Page 99: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

99

KB

Date

nb

an

ken

Aufgabe 10 - LösungsvorschlagAufgabe 10 - Lösungsvorschlag

Arzt Behandlung

Patient

Leistung

umfasstKürzel Name PNr ...Name

Datum

LNr Art Gebühr

Page 100: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

100

KB

Date

nb

an

ken

Aufgabe 10 - LösungsvorschlagAufgabe 10 - Lösungsvorschlag

Zugfahrt

betreut

Schaffner

Halt

Lokführer

Teilfahrt

führt_aus

ist Teil

Personal

ist

ist

Start

Ziel

Page 101: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

101

KB

Date

nb

an

ken

Teil 5Teil 5

Vom ER-Modell zum relationalen Datenmodell

Page 102: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

102

KB

Date

nb

an

ken

ZielsetzungZielsetzung

Ziel ist es, ein relationales Datenmodell zur Miniwelt „Unterrichtsverteilung“ zu erstellen. Wir gehen von dem unten aufgeführten ER-Modell aus.

Ziel ist es, ein relationales Datenmodell zur Miniwelt „Unterrichtsverteilung“ zu erstellen. Wir gehen von dem unten aufgeführten ER-Modell aus.

leitet

KlasseLehrer

unterrichtet

Kürzel Name ... ArtBez ...

Fach ...

Page 103: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

103

KB

Date

nb

an

ken

Tabellen zum ER-ModellTabellen zum ER-Modell

leitet

KlasseLehrer

unterrichtet

Kürzel Name ... ArtBez ...

Fach

Bez Stufe Kürzel

5a 5 AL5b 5 MP5c 5 BEC...

Kürzel Name Vorname Telefon

AL Albrecht Anni 45678BEC Becker Klaus 12345MP Müller Peter 23456...

Bez Fach Kürzel Tag Stunde

5a FR AL DI 35a FR AL FR 25a FR AL MI 65a FR AL MO 15a NWU MP MI 1...

...

Page 104: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

104

KB

Date

nb

an

kenKardinalitätenKardinalitäten

Lehrer Klasseleitet

unterrichtet

Page 105: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

105

KB

Date

nb

an

ken

BeziehungstypenBeziehungstypen

A B( Lehrer leitet Klasse )

1:1-Beziehung

Jedes Objekt der Klasse A steht mit höchstens einem Objekt der Klasse B in Beziehung.

Jedes Objekt der Klasse B steht mit höchstens einem Objekt der Klasse A in Beziehung.

Page 106: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

106

KB

Date

nb

an

ken

BeziehungstypenBeziehungstypen

A B( Lehrer leitet Klasse )

1:n-Beziehung

Jedes Objekt der Klasse A steht mit beliebig vielen Objekten der Klasse B in Beziehung.

Jedes Objekt der Klasse B steht mit höchstens einem Objekt der Klasse A in Beziehung.

Page 107: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

107

KB

Date

nb

an

ken

BeziehungstypenBeziehungstypen

A B( Lehrer unterrichtet Klasse )

m:n-Beziehung

Jedes Objekt der Klasse A steht mit beliebig vielen Objekten der Klasse B in Beziehung.

Jedes Objekt der Klasse B steht mit beliebig vielen Objekten der Klasse A in Beziehung.

Page 108: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

108

KB

Date

nb

an

kenKardinalitätenKardinalitäten

leitet

KlasseLehrer

unterrichtet

Kürzel Name ... ArtBez ...

Fach ...

1

m

n

n

Page 109: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

109

KB

Date

nb

an

kenKardinalitätenKardinalitäten

leitet

KlasseLehrer

unterrichtet

Kürzel Name ... ArtBez ...

Fach ...

1,1

1,m

min, max

0,n

0,n

Page 110: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

110

KB

Date

nb

an

ken

Transformation in TabellenmodelleTransformation in Tabellenmodelle

E

S A1 A2

S A1 A2

E:

Objektklasse

Page 111: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

111

KB

Date

nb

an

ken

Transformation in TabellenmodelleTransformation in Tabellenmodelle

E1

A1 S1 S2 A1

R:

Beziehungsklasse (Standard-Tabellenmodell)

R

E2

A2

S1

S2

A2

Integritätsbedingungen:

R[S1] E1[S1]R[S2] E2[S2]

Page 112: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

112

KB

Date

nb

an

ken

Transformation in TabellenmodelleTransformation in Tabellenmodelle

E1S1 ... ...

E1:

N:1-Beziehungsklasse (reduziertes Tabellenmodell)

R

E2

S1

S2

S2n

1 S2 ... ...

E2:

Referentielle Integrität:

E1[S2] E2[S2]

Page 113: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

113

KB

Date

nb

an

ken

Transformation in TabellenmodelleTransformation in Tabellenmodelle

E1S A1 A2

E1:

IS-A-Beziehung

E2

S...

S B1 ...

E2:

Integritätsbedingung:

E2[S] E1[S]

is-a

A1

A2

B1

Page 114: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

114

KB

Date

nb

an

ken

Übungen - Aufgabe 11Übungen - Aufgabe 11

Mitglied

leitet

Gruppe

Sportstätte

istTeilvon

benutzt

nimmt teil

Abteilung

trainiert

Legen Sie die Beziehungstypen sinnvoll fest, ergänzen Sie passende Attribute und skizzieren Sie ein relationales Datenmodell zum ER-Modell.

Page 115: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

115

KB

Date

nb

an

ken

Aufgabe 11 - LösungsvorschlagAufgabe 11 - Lösungsvorschlag

Mitglied

leitet

Gruppe

Sportstätte

istTeilvon

benutzt

nimmt teil

Abteilung

trainiert

Festlegung der Beziehungstypen:

1

n

m n

n1

m

n

1

n

Page 116: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

116

KB

Date

nb

an

ken

Aufgabe 11 - LösungsvorschlagAufgabe 11 - Lösungsvorschlag

Tabelle Mitglied (MNr: Zahl; Name: Zeichenkette; ...)

Tabelle Abteilung (ABez: ZK; MNr: Zahl {Leiter}; ...)

Tabelle Gruppe (GBez: ZK; MNr: Zahl {Trainer}; ABez: ZK {Abt.}; ...)

Tabelle Sportstätte(SBez: ZK; ...)

Tabelle Teilnahme(MNr: Zahl; GBez: ZK; ...)

Tabelle Benutzung(Gbez: ZK; SBez: ZK; ...)

Page 117: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

117

KB

Date

nb

an

ken

Übungen - Aufgabe 12Übungen - Aufgabe 12

Miniprojekt Datenbanken

Erstellen Sie eine relationale Datenbank zu einer Miniwelt ihrer Wahl (z. B. „Arztpraxis“ / „Zugfahrt“ / ...).

Gehen Sie vom ER-Modell aus und entwickeln Sie hieraus ein geeignetes Tabellenmodell.

Geben Sie einige Testdaten ein und erstellen Sie für den Kontext sinnvolle Abfragen, Makros, ...

Page 118: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

118

KB

Date

nb

an

ken

Aufgabe 12 - LösungsvorschlagAufgabe 12 - Lösungsvorschlag

Tabelle Personal (PNr: Zahl; Name: Zeichenkette; ...)

Tabelle Lokführer (PNr: Zahl; Fahrerlaubnis: ZK; ...)

Tabelle Schaffner(PNr: Zahl; Prüfung: Datum; ...)

Tabelle Halt(Ort: ZK; Ankunft: Uhrzeit; Abfahrt: Uhrzeit; ...)

Tabelle Teilfahrt(Start: ZK; Ziel: ZK; ...)

Tabelle SchaffnerBetreuung(Start: ZK; Ziel: ZK; PNr: ZK; ...)

Tabelle LokFührung(Start: ZK; Ziel: ZK; PNr: ZK; ...)

Page 119: Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken

119

KB

Date

nb

an

ken

LiteraturhinweiseLiteraturhinweise

Es gibt eine große Anzahl umfangreicher Fachbücher zur Thematik Datenbanken....

Bei der Vorbereitung habe ich eher kompaktere Darstellungen benutzt:- Helmut Balzert: Lehrbuch der Software-Technik. Spektrum.- Horn / Kerner / Forbrig: Informatik. Fachbuchverlag Leipzig. Schulbücher zur Thematik gibt es fast keine:- R. Baumann: Datenbanken und Informationssysteme. Klett (Reihe: Arbeitshefte Informatik) Einführungen in ACCESS gibt es mehr als genug.Schulbezogene Einführungen: z. B. aus der Reihe datadidact-Lernmodule