DatenbankenDatenbanken
IFB 2002
Klaus Becker
2
KB
Date
nb
an
ken
Teil 1Teil 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.
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
...
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
6
KB
Date
nb
an
ken
Datenbanksysteme sind überallDatenbanksysteme sind überall
Beispiele:
- Bibliothek
- Bank
- Reisebüro: Buchungssystem
- Bahn: Auskunftssystem
- Suchmaschine im Internet
- ...
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
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:
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
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.
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
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
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)
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”)
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”) }
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
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
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
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
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.
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).
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.
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...
24
KB
Date
nb
an
ken
Teil 2Teil 2
Abfragen
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?
...
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
27
KB
Date
nb
an
ken
Relationales DatenmodellRelationales Datenmodell
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:
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.
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...
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;
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);
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
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
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
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 ... ));
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
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
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:
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.
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
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.
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...
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...
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.
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
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
48
KB
Date
nb
an
ken
SQL als ProgrammierspracheSQL als Programmiersprache
Ergebnisrelation
SQL-Interpreter
Ausgangsrelationen
SQL-AusdruckProgramm:
SQL: Sprache zur Programmierung von Abfragen
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:
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.
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)
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“)
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.
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
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.
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!
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:
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:
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:
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.
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.
62
KB
Date
nb
an
ken
Teil 3Teil 3
Datenschutz
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
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
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
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.
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
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
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:
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:
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)
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 (...).
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. (...)
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.(...)
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
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.
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.
78
KB
Date
nb
an
ken
Teil 4Teil 4
Entity-Relationship-Modellierung
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.
80
KB
Date
nb
an
ken
Miniwelt „Bibliothek“Miniwelt „Bibliothek“
Objekte ObjekteBeziehungen
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
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
83
KB
Date
nb
an
ken
Entity-Relationship-ModellEntity-Relationship-Modell
Leser Ausleihe Buch
Spezifikation der Klassen mit Hilfe von Attributen:
LNr Name AutorSigDatum... ...
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.
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... ...
86
KB
Date
nb
an
ken
Mehrwertige BeziehungenMehrwertige Beziehungen
bucht Reise
Mitarbeiter
Kunde
Eine Beziehung kann auch zwischen Objekten aus 3, 4, ... Objektklassen bestehen.
87
KB
Date
nb
an
ken
Rekursive BeziehungenRekursive Beziehungen
spielt gegen
Verein
Heim
Gast
Eine Beziehung kann auch zwischen Objekten einer Objektklasse bestehen.
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.
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.
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:
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.
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... ...
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:
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
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
96
KB
Date
nb
an
ken
Aufgabe 8 - LösungsvorschlagAufgabe 8 - Lösungsvorschlag
Film läuft in Saal
Kino
Vorführer
istTeilvon
betreut
97
KB
Date
nb
an
ken
Aufgabe 8 - LösungsvorschlagAufgabe 8 - Lösungsvorschlag
Kunde bucht Flug
Sitz FlugzeugistTeilvon
führt_aus
erhält
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.
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
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
101
KB
Date
nb
an
ken
Teil 5Teil 5
Vom ER-Modell zum relationalen Datenmodell
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 ...
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...
...
104
KB
Date
nb
an
kenKardinalitätenKardinalitäten
Lehrer Klasseleitet
unterrichtet
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.
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.
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.
108
KB
Date
nb
an
kenKardinalitätenKardinalitäten
leitet
KlasseLehrer
unterrichtet
Kürzel Name ... ArtBez ...
Fach ...
1
m
n
n
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
110
KB
Date
nb
an
ken
Transformation in TabellenmodelleTransformation in Tabellenmodelle
E
S A1 A2
S A1 A2
E:
Objektklasse
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]
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]
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
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.
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
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; ...)
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, ...
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; ...)
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