Datenbanken IFB 2002 Klaus Becker Datenbanken 2 KB
Datenbanken IFB 2002 Klaus Becker
Datenbanken 2 KB Teil 1 Relationale Datenbanken
3 Zielsetzung Datenbanken Das Burggymnasium Kaiserslautern möchte seine Schulbibliothek auf EDV-Betrieb umstellen. KB Bisher wurde die Schulbibliothek herkömmlich mit Hilfe von Karteikarten und Ausleihscheinen verwaltet. Künftig soll hier ein geeignetes Softwarepaket die Arbeit erleichtern.
Anwendungsfälle 4 Datenbanken Buchdaten registrieren Ausleihdaten aufnehmen Abfrage erstellen Anwender: Bibliothekar(in) . . . Anwender: Leser Anwendungssystem: DBS Anwendungsfall: Interaktion zwischen einem Anwender / Akteur und dem Anwendungssystem KB
Datenbanksystem Datenbanken 5 KB DB Sammlung von Daten DB VS Software zur Verwaltung der Daten Anwender Datenbanksystem 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).
Datenbanksysteme sind überall 6 Beispiele: - Bibliothek - Bank Datenbanken - Reisebüro: Buchungssystem KB - Bahn: Auskunftssystem - Suchmaschine im Internet -. . .
7 Das Modellierungsproblem Datenbanken Miniwelt 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. . DB-Modellwelt ? Vorgang: Gerd Müller gibt das Buch. . . zurück. Informationen über die Miniwelt Ziel: Repräsentation von Information KB
8 Reprä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. Datenbanken Repräsentation: KB
Redundanz und Inkonsistenz 9 Datenbanken Ausleihen KB 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.
Verknüpfte Tabellen 10 Fremdschlüssel Datenbanken Primärschlüssel KB Die Verknüpfung von Tabellen erfolgt mit Hilfe von Schlüsseln.
Verknüpfte Tabellen 11 Datenbanken Leser KB Buch Ausleihe
Tabellenspezifikation 12 Datenbanken Leser: KB Das logische Schema einer Tabelle wird durch eine endliche Menge von Attributspezifikationen (Attributname; Datentyp) festgelegt. TABELLE Leser LNr: Name: Vorname: Geb. Jahr: Stammkurs: Zahl Zeichenkette
13 Datentypen / Datenstrukturen Ein Datentyp legt einen Wertebereich fest einschließlich der Operationen, die auf die Werte angewandt werden dürfen. Datenbanken Bsp. : Datentyp Zahl KB Eine Datenstruktur legt den Aufbau von komplexen Wertebereichen aus elementaren Wertebereichen fest. Bsp. : Datenstruktur Tabelle (bzw. Relation)
Datenbanken 14 Relation Ein Relationenschema ist eine endliche Folge (A 1: W 1; A 2: W 2; . . . ; 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”) KB
Relation 15 Datenbanken Sei (A 1: W 1; A 2: W 2; . . . ; An: Wn) ein gegebenes Relationenschema mit den Attributnamen A 1; . . . ; An und den zugehörigen (endlichen) Wertebereichen W 1; . . . ; Wn. Unter dem (kartesischen) Produkt W 1 . . . Wn versteht man die Menge aller möglichen Tupel (w 1; . . . ; wn) mit wi Wi. KB Eine Relation zum Relationenschema (A 1: W 1; A 2: W 2; . . . ; An: Wn) ist eine Teilmenge des Produkts W 1 . . . Wn. Bsp. : { (1; “Meier”; “Karin”), (2; “Schmitt”; “Otto”), (3; “Breuer”; “Hans”) }
Relation 16 Eine Relation kann in Tabellenform dargestellt werden. Datenbanken { KB } (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.
17 Relationale Datenbank Eine relationale Datenbank besteht aus einer endlichen Menge von Relationen. Datenbanken Bem. : Das relationale Datenmodell wurde 1970 von E. F. Codd entwickelt. KB Datenbank Bibliothek: - Relation Leser - Relation Buch - Relation Ausleihe
Schlüssel 18 Datenbanken Primärschlüssel: KB 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. Leser Ausleihe
Schlüssel 19 Fremdschlüssel: Datenbanken 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. KB Ausleihe
Referentielle Integrität 20 Datenbanken 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. KB
21 Übungen - Aufgabe 1 Miniwelt „Schule“ Datenbanken Herr P. Müller (MP) unterrichtet die Klasse 5 a (Raum M 21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5 a in Französisch. Sie ist auch Klassenlehrerin der 5 a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (. . . ) KB 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 Übungen - Aufgabe 2 Datenbanken Miniwelt „Sportverein“ KB 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 Aufgabe 1 - Lösungsvorschlag Miniwelt „Schule“ Datenbanken Herr P. Müller (MP) unterrichtet die Klasse 5 a (Raum M 21) in den Fächern Mathematik und NWU. Frau A. Albrecht (AL) unterrichtet die 5 a in Französisch. Sie ist auch Klassenlehrerin der 5 a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (. . . ) KB
Datenbanken 24 KB Teil 2 Abfragen
Zielsetzung 25 Es soll möglich sein, Abfragen an die Bibliotheksdatenbank zu stellen. Z. B. : Datenbanken Ist das Buch X ausgeliehen? KB Wer hat das Buch X ausgeliehen? . . .
Relationales Datenmodell 26 Datenbanken Leser KB Buch Ausleihe
Datenbanken 27 KB Relationales Datenmodell
Query by Example 28 Abfrage: Welche Leser haben ein Buch ausgeliehen? Datenbanken Qb. E: Grafik-basierte Erstellung von Abfragen KB
29 Query by Example Abfrage: Welche Leser haben ein Buch ausgeliehen? Datenbanken Ergebnis der Abfrage: neue Tabelle (Dynaset) KB Beachte: Die neue Tabelle wird i. a. nicht gespeichert.
30 Übungen - Aufgabe 3 Datenbanken Erstellen Sie zu den folgenden Aufgaben Qb. E-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 Geburtsjahr Welche 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). . . KB 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 SQL - Structured Query Language Abfrage: Welche Leser haben ein Buch ausgeliehen? Datenbanken Qb. E: SQL: KB SELECT Leser. Name, Leser. Vorname, Ausleihe. Sig FROM Leser INNER JOIN Ausleihe ON Leser. LNr = Ausleihe. LNr;
SQL Datenbanken 32 Aufgabe SQL-Ausdruck Bestimme Vorname und Nachname aller Leser. SELECT Leser. Vorname, Leser. Name FROM Leser; Bestimme die Daten aller Leser, die im Stammkurs von Frau Römer sind. SELECT * FROM Leser WHERE ((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, Ausleihe WHERE (Buch. Sig = Ausleihe. Sig); KB
SQL - Syntax 33 Grundstruktur einer SQL-Auswahlabfrage: Datenbanken <SQL-Auswahlabfrage> : : = SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabellen> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Erläuterung <. . . > FROM [. . . ]. . . |. . . KB : : noch zu erklärendes Symbol Bestandteil der Sprache optionales Element Alternative
SELECT-Klausel 34 Datenbanken Grundstruktur SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabelle> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Beispiele SELECT Leser. Vorname, Leser. Name FROM Leser; SELECT Vorname, Name FROM Leser; SELECT DISTINCT Name FROM Leser; KB SELECT * FROM Leser;
FROM-Klausel 35 Datenbanken Grundstruktur SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabelle> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Beispiele SELECT * FROM Leser; SELECT * FROM Buch INNER JOIN Ausleihe ON Buch. Sig = Ausleihe. Sig; SELECT * FROM Leser, Buch KB
36 WHERE-Klausel Datenbanken SELECT Titel FROM Buch WHERE (Jahr <1990); SELECT Titel FROM Buch WHERE ((Jahr <1990) AND (Jahr > 1950)); SELECT Titel FROM Buch WHERE (NOT (Autor=“Goethe“)); SELECT Name, Vorname FROM Leser WHERE (Vorname IN (“Franz“, “Heinz“, “Franz“)); SELECT Autor, Titel FROM Buch WHERE (Sig IN (SELECT Sig FROM Buch INNER JOIN Ausleihe ON. . . )); KB
SQL - Semantik 37 Informelle Beschreibung der Bedeutung: Datenbanken SELECT. . . FROM. . . [WHERE. . . ] // Attribute der erzeugten Tabelle // Tabelle, aus der die Daten stammen // Bedingung, die Datensätze erfüllen müssen [GROUP BY. . . ] // Partitionierung in Gruppen [HAVING. . . ] // Auswahl von Gruppen Formale Beschreibung der Bedeutung: Relationenalgebra Objekte: Relationen Operationen: erzeugen aus Relationen neue Relationen KB
Operationen auf Relationen 38 Datenbanken Mit Hilfe von Operationen lassen sich aus gegebenen Relationen neue Relationen erzeugen. Folgende Grundoperationen werden üblicherweise benötigt: KB - Projektion Selektion kartesisches Produkt Verbund (join) Vereinigung, Durchschnitt, Differenz
SELECT-Klausel 39 Ausgangsrelation: Buch Datenbanken Sig D 1 D 2. . . Ph 3 KB Autor Goethe Mann Titel Faust Dr. Faustus Jahr 1973 1937 Fachbereich Deutsch Russell Geschichte der. . . 1952 Philosophie SQL-Ausdruck: SELECT Autor, Titel FROM Buch; Ergebnisrelation: Autor Goethe Mann Titel Faust Dr. Faustus Der Zauberberg Russell Geschichte der. . .
Projektion 40 Ausgangsrelation: Buch Datenbanken Sig D 1 D 2. . . Ph 3 KB Autor Goethe Mann Titel Faust Dr. Faustus Jahr 1973 1937 Fachbereich Deutsch Russell Geschichte der. . . 1952 Philosophie Projektion: Autor, Titel Ergebnisrelation: Autor, Titel(Buch) Autor Goethe Mann. . . Russell Titel Faust Dr. Faustus Der Zauberberg Geschichte der. . . Mit Hilfe einer Projektion lassen sich Attributwerte einer Relation auswählen.
WHERE-Klausel 41 Ausgangsrelation: Buch Datenbanken Sig D 1 D 2. . . Ph 3 Titel Faust Dr. Faustus Jahr 1973 1937 Fachbereich Deutsch Russell Geschichte der. . . 1952 Philosophie SQL-Ausdruck: SELECT * FROM BUCH WHERE (Autor = „Goethe“); Ergebnisrelation: (Autor=”Goethe”)(Buch) Sig D 1 KB Autor Goethe Mann Autor Goethe Titel Faust Jahr 1973 Fachbereich Deutsch
Selektion 42 Ausgangsrelation: Buch Datenbanken Sig D 1 D 2. . . Ph 3 Titel Faust Dr. Faustus Jahr 1973 1937 Fachbereich Deutsch Russell Geschichte der. . . 1952 Philosophie Selektion: (Autor=”Goethe”) Ergebnisrelation: (Autor=”Goethe”)(Buch) Sig D 1 KB Autor Goethe Mann Autor Goethe Titel Faust Jahr 1973 Fachbereich Deutsch Mit Hilfe einer Selektion kann man bestimmte Tupel aus einer Relation herausfiltern.
Produkt 43 Datenbanken Ausgangsrelationen: Buch, Leser KB Sig D 1 D 2. . . Autor Goethe Mann Titel Faust Dr. Faustus Jahr 1973 1937 LNr 0 1. . . Name Christ Eberle Vorname Geb. Jahr Stamm. . . Benjamin 83 ROE Gerrit 84 TM Fachbereich Deutsch Ergebnisrelation: Buch Leser // Kombination der Relationen Sig D 1. . . D 1 D 2. . . Autor Goethe Titel Faust Jahr 1973 Goethe Mann Faust 1973 Dr. Fau. . . 1937 Fach. . . LNr Deutsch 0 Deutsch 1 Name Christ Eberle Deutsch 15 Deutsch 0 Deutsch 1 Wollen. . . Christ Eberle . . .
INNER JOIN 44 Datenbanken Ausgangsrelationen: Buch, Ausleihe Sig D 1 D 2. . . Autor Goethe Mann Titel Faust Dr. Faustus LNr 4 8. . . Sig D 2 M 1 Datum 29. 10. 01 03. 11. 01 Jahr 1973 1937 Fachbereich Deutsch SQL-Ausdruck: SELECT * FROM Buch INNER JOIN Ausleihe ON Buch. Sig = Ausleihe. Sig; Ergebnisrelationen: KB Sig. . . D 2. . . Autor Titel Jahr Mann Dr. Fau. . . 1937 Fach. . . LNr Deutsch 4 Datum 29. 10. 01
Verbund 45 Datenbanken Ausgangsrelationen: Buch, Ausleihe Sig D 1 D 2. . . Autor Goethe Mann Titel Faust Dr. Faustus LNr 4 8. . . Sig D 2 M 1 Datum 29. 10. 01 03. 11. 01 Verbund / join: Jahr 1973 1937 Fachbereich Deutsch Mit Hilfe eines Verbundes (natural join) lassen sich Relationen mit einem gemeinsamen Attribut verschmelzen. Ergebnisrelationen: Buch Ausleihe KB Sig. . . D 2. . . Autor Titel Jahr Mann Dr. Fau. . . 1937 Fach. . . LNr Deutsch 4 Datum 29. 10. 01
Datenbanken 46 KB Mengenoperationen Zwei Relationen R und S (über demselben Relationenschema) können mit den üblichen Mengenoperationen verknüpft werden: - Vereinigung: R S - Durchschnitt: R S - Differenz: RS
Datenbanken 47 KB Relationenalgebra und SQL Autor, Titel(Buch) SELECT Autor, Titel FROM 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 Buch 1 Buch 2 Buch 1 UNION Buch 2
48 SQL als Programmiersprache Ausgangsrelationen Datenbanken Programm: KB SQL-Ausdruck SQLInterpreter Ergebnisrelation SQL: Sprache zur Programmierung von Abfragen
49 Übungen - Aufgabe 3 Datenbanken Wir betrachten hier die folgenden Tabellen zur Modellierung der Miniwelt „Unterrichtsverteilung“: Erstellen Sie SQL-Ausdrücke zu den folgenden Abfrageaufträgen: KB
50 Ü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. Datenbanken (3) Bestimme die Namen aller Lehrer, die eine 6. Klasse leiten. KB (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 10 a ihre Deutschstunden hat.
51 Aufgabe 3 - Lösungsvorschlag (1) Bestimme Name und Vorname sämtlicher Lehrer. SELECT Name, Vorname FROM Lehrer Datenbanken (2) Bestimme alle Lehrer (nur Kürzel), die montags in der 3. Stunde Unterricht haben. KB SELECT Kürzel FROM Lehrer INNER JOIN Unterricht ON Lehrer. Kürzel = Unterricht. Lehrer WHERE ((Tag = Mo) AND (Stunde = 3)) (3) Bestimme die Namen aller Lehrer, die eine 6. Klasse leiten. SELECT Name FROM Lehrer INNER JOIN Klasse ON Lehrer. Kürzel = Klassenlehrer WHERE (Stufe = 6)
52 Aufgabe 3 - Lösungsvorschlag Datenbanken (4) Bestimme, welche Lehrer in den 8. Klassen Physik unterrichten. Gib den Lehrernamen und die Klasse jeweils aus. SELECT Lehrer. Name, Unterricht. Klasse FROM (Lehrer INNER JOIN Unterricht ON Lehrer. Kürzel = Unterricht. Lehrer) INNER JOIN Klasse ON Unterricht. Klasse = Klasse. Bez WHERE ((Klasse. Stufe = 8) AND ((Unterricht. Fach = „Physik“) (5) Bestimme alle Lehrer (Namen und Vornamen), die keine Klasse leiten. SELECT Name, Vorname FROM Lehrer WHERE (NOT Kürzel IN SELECT Klassenlehrer FROM Klasse) (6) Bestimme, wann die 10 a ihre Deutschstunden hat. SELECT Tag, Stunde FROM Unterricht WHERE (Klasse = „ 10 a“) KB
Übungen - Aufgabe 4 53 Gegeben sind die folgenden Relationen: Datenbanken R: S: Wir betrachten die folgende Abfrage: SELECT B, D FROM R S WHERE (D < 4) 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. KB
Aufgabe 4 - Lösungsvorschlag 54 Datenbanken R: SQL-Ausdruck: SELECT B, D FROM R S WHERE (D < 4) B, D (D < 4)(R S): KB S:
Zielsetzung 55 Die Bibliotheksdatenbank soll um die Möglichkeit erweitert werden, die folgenden Aktionen automatisiert durchzuführen: - Buch ausleihen Datenbanken - Buch zurückgeben KB Beachte: Man benötigt hierzu sog. Manipulationsabfragen, d. h. Abfragen, die bestehende Tabellen verändern oder neue Tabellen erzeugen.
Manipulationsabfragen 56 Tabellenerstellungsabfragen übertragen Daten in eine neue Tabelle. SQL: SELECT <Attributliste> INTO <Tabellenname> Qb. E: Datenbanken Löschabfragen löschen Daten in einer Tabelle. SQL: DELETE <Attributliste> FROM <Tabellenname> WHERE <Bedingung> Qb. E: Anfügeabfragen fügen Daten aus einer bestehenden in eine bestehende Tabelle ein. SQL: INSERT INTO <Tabellenname> SELECT <Attributliste> FROM. . . Qb. E: Aktualisierungsabfragen ändern Daten in einer bestehenden Tabelle. SQL: UPDATE <Tabellenname> SET Attribut = Ausdruck, . . . Qb. E: KB Beachte: Access-SQL unterscheidet sich z. T. erheblich von Standard-SQL!
57 Buch zurückgeben Löschung des mit Parametern eingegebenen Datensatzes aus der Tabelle „Ausleihe“ Datenbanken Ausleihe. Löschen: KB DELETE Ausleihe. LNr, Ausleihe. Sig FROM Ausleihe WHERE (((Ausleihe. LNr)=[Lesernummer: ]) AND ((Ausleihe. Sig)=[Buchsignatur: ]));
Buch ausleihen 58 Datenbanken Schritt 1: Aktualisierung einer Hilfstabelle „Daten“, die Ausleihdaten aufnehmen soll: Eingabe von Lesernummer und Buchsignatur mit Hilfe von Parametern; Ergänzung des aktuellen Datums; Ausleihe. Aufnehmen: UPDATE Daten SET Daten. LNr = [Lesernummer: ], Daten. Sig = [Buchsignatur: ], Daten. Datum = Date(); Daten: (Hilfstabelle) LNr 5 KB Sig Ph 1 Datum 31. 12. 01
Buch ausleihen 59 Schritt 2: Anfügen der Datensätze aus der Hilfstabelle an die bestehende Tabelle „Ausleihe“; Datenbanken AusleiheÜbertragen: KB INSERT INTO Ausleihe ( LNr, Sig, Datum ) SELECT Daten. LNr, Daten. Sig, Daten. Datum FROM Daten; Ausleihe: LNr 4 4 5 6. . . Sig D 2 Ph 1 D 3 Datum 16. 09. 01 30. 12. 01 31. 12. 01 30. 12. 01
60 Automatisierung mit Makros Datenbanken 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. Makro „Buch. Ausleihen“ Ausleihe. Aufnehmen AusleiheÜbertragen Makro „Buch. Zurückgeben“ Ausleihe. Löschen KB
61 Übungen - Aufgabe 5 Die Bibliotheksdatenbank soll wie folgt erweitert werden: Datenbanken Zurückgegebene Ausleihen sollen (mit dem Rückgabedatum versehen) in einer zusätzlichen Tabelle archiviert werden. KB 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.
Datenbanken 62 KB Teil 3 Datenschutz
Datenbanken 63 Zielsetzung Fallstudie Lehrer 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 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 KB
64 Datenschutz - was ist das? Datenbanken kein Schutz von Daten KB sondern Schutz 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
65 Ein Blick zurück. . Datenbanken Vor 1978: generelle Erlaubnis Die Verarbeitung personenbezogener Daten ist erlaubt, sofern sie nicht durch Gesetze eingeschränkt ist. KB 1. 1. 1978: Bundesdatenschutzgesetz (BDSG) Wandel in der Rechtsauffassung Ab 1978: grundsätzlicges Verbot Die Verarbeitung personenbezogener Daten ist verboten, sofern sie nicht durch Gesetze erlaubt wird. 1983: Ergänzung des Grundgesetzes Informationelle Selbstbestimmung als Grundrecht
66 Rechte und Gesetze Grundgesetz (Recht auf informationelle Selbstbestimmung) Datenbanken Ausgestaltung durch Gesetze und Regelungen Öffentlicher Bereich - BDGS (Abschnitt 2) - LDSG - spezielle Regelungen Privater Bereich - BDGS (Abschnitt 3) - spezielle Regelungen Spezielle Regelungen haben Vorrang vor allgemeinen Gesetzen. KB
67 Interessenkonflikte Individualinteresse Datenbanken Recht auf informationelle Selbstbestimmung: KB Gemeinschaftsinteresse Aufgaben eines Staates: Schutz der Bürger vor - Erhebung - Speicherung - Verwendung - Weitergabe seiner persönlichen Daten - Erfüllung gesetzlicher Aufgaben (Sozialleistungen, . . . ) - Gewährleistung von Sicherheit (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 Datenschutzgesetze Datenbanken Individualinteresse KB Gemeinschaftsinteresse Recht auf informationelle Selbstbestimmung 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 Stellen zulässig ist
Was sind Daten? 69 BDSG § 3: Datenbanken Daten Akte Ein Datensatz mit vielen Merkmalen Datei Viele Datensätze, nach mehreren Merkmalen auswertbar Liste Viele Datensätze, nach einem Merkmal ausgewertet Datenschutzregelungen beziehen sich meist auf Dateien! KB
Personenbezogene Daten 70 BDSG § 3: Personenbezogene Daten sind Datenbanken 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) KB
71 Anwendungsbereiche der Gesetze Erheben von Daten: (Beschaffen von Daten über den Betroffenen) Datenbanken Verarbeiten von Daten: KB (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)
Datenbanken 72 KB Datenverarbeitung nicht-öffentlicher Stellen § 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 (. . . ).
Datenbanken 73 KB Datenverarbeitung nicht-öffentlicher Stellen § 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 Personengruppe, - 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 Datenverarbeitung öffentlicher Stellen Datenbanken § 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. (. . . ) KB § 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 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 Rechte der Betroffenen - Auskunft (über die gespeicherten Daten) - Berichtigung (unrichtiger Daten) Datenbanken - Löschung (von Daten bei unzulässiger Speicherung, . . . ) KB - Sperrung (bei Nichtfeststellbarkeit der Richtigkeit, . . . ) - Unterlassungs- und Beseitigungsanspruch - Schadensersatz - Einsicht und Auskunft in das Datenschutzregister - Anrufung des Landesbeauftragten für den Datenschutz
76 Maßnahmen zum Datenschutz Zugangskontrolle: Unbefugten ist der Zugang zu Datenverarbeitungsanlagen, mit denen personenbezogene Daten verarbeitet werden, zu verwehren. Datenbanken Datenträgerkontrolle: Es ist zu verhindern, dass Datenträger unbefugt gelesen, kopiert, verändert oder entfernt werden. KB 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 Maßnahmen zum Datenschutz Datenbanken Übermittlungskontrolle: Es muss überprüft und festgestellt werden können, an welche Stellen personenbezogene Daten durch Einrichtungen zur Datenübertragung übermittelt werden können. KB 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.
Datenbanken 78 KB Teil 4 Entity-Relationship-Modellierung
79 Zielsetzung Datenbanken Der Entwurf relationaler Datenmodelle soll systematisiert werden. KB 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.
Miniwelt „Bibliothek“ Datenbanken 80 Objekte KB Beziehungen Objekte
81 Strukturiertes Datenmodell Datenbanken LNr: 3 Name: Müller Vorname: Peter. . . LNr: 1 Name: Meier Vorname: Karla. . . Rel 1 Bibel Sig: M 1 Autor: Euklid Titel: Elemente. . . LNr: 6 Name: Schmitt Vorname: Otto. . . Objekte KB 8. 1. 2002 Sig: Autor: Titel: . . . 16. 2. 2002 Beziehungen Sig: P 1 Autor: Einstein Titel: Relativität. . . Objekte
82 Entity-Relationship-Modell Datenbanken LNr: 3 Name: Müller Vorname: Peter. . . 8. 1. 2002 Rel 1 Bibel Sig: M 1 Autor: Euklid Titel: Elemente. . . LNr: 6 Name: Schmitt Vorname: Otto. . . LNr: 1 Name: Meier Vorname: Karla. . . Sig: Autor: Titel: . . . 16. 2. 2002 Sig: P 1 Autor: Einstein Titel: Relativität. . . Klassenbildung Leser KB Ausleihe Buch
Entity-Relationship-Modell 83 Spezifikation der Klassen mit Hilfe von Attributen: Datenbanken Leser KB LNr Name Ausleihe . . . Datum Buch Sig Autor . . .
84 Objekt- und Beziehungsklassen Datenbanken Leser KB 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.
Attribute 85 Datenbanken Leser KB LNr Name Ausleihe . . . Datum Buch Sig Autor Die Eigenschaften aller Objekte / Beziehungen einer Objektklasse / Beziehungsklasse werden mit Hilfe von Attributen erfasst. . Man unterscheidet zwischen beschreibenden und identifizierenden Attributen. .
86 Mehrwertige Beziehungen Datenbanken Kunde bucht Reise Mitarbeiter Eine Beziehung kann auch zwischen Objekten aus 3, 4, . . . Objektklassen bestehen. KB
87 Rekursive Beziehungen Heim Datenbanken Verein spielt gegen Gast Eine Beziehung kann auch zwischen Objekten einer Objektklasse bestehen. KB
88 Beziehungen als Objekte Datenbanken Leser Ausleihe Buch betrifft Mahnung Eine Beziehung kann auch als Objekt in einer anderen Beziehung auftreten. KB
Generalisierungshierarchie 89 Kürzel Name . . . Datenbanken Person ist Schüler Erz. Ber KB Ausleihe ist Lehrer Pers. Nr Buch Die ist-Beziehung verknüpft Objektklassen (nicht Objekte). Die Spezialisierungsklasse erbt die Attribute der Generalisierungsklasse.
Übungen - Aufgabe 7 90 Erstellen Sie zu den folgenden Miniwelten jeweils ein ERModell: Datenbanken Miniwelt „Schule“ KB Herr P. Müller unterrichtet die Klasse 9 a in den Fächern Mathematik und Physik. Frau A. Albrecht unterrichtet die 9 a in Französisch. Sie ist auch Klassenlehrerin der 9 a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. . Miniwelt „Schule“ T. Martin hat die Kurse 12 M 2, 12 E 1, 12 Ch 1, 12 in 1, 12 sp 2, . . . belegt. Den Kurs 12 in 1 besucht er dabei freiwillig. Stammkurs von T. Martin ist der Kurs 12 M 2. Dieser wird von F. Trautmann geleitet.
91 Übungen - Aufgabe 8 Datenbanken Identifizieren Sie in den folgenden Miniwelten Objekte und Beziehungen und stellen Sie diese in einem ER-Diagramm dar. KB 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 RY 201 nach London. Dieser Flug wird von der Maschine LX 23 (Boing 737) durchgeführt. A. Wollenweber wird der Sitzplatz A 36 (Fensterplatz) in diesem Flugzeug zugewiesen. (. . . )
Übungen - Aufgabe 9 92 Worin besteht der Unterschied zwischen den beiden Modellen? Datenbanken Leser LNr . . . Leser LNr KB Name Ausleihe Name Datum Buch Sig Ausleihe . . . Datum Autor . . . Buch Sig Autor . . .
93 Übungen - Aufgabe 10 Datenbanken Erstellen Sie zu den folgenden Miniwelten jeweils ein ERModell: KB 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. (. . . )
Aufgabe 7 - Lösungsvorschlag 94 Miniwelt „Schule“ Datenbanken Herr P. Müller (MP) unterrichtet die Klasse 9 a in den Fächern Mathematik und Physik. Frau A. Albrecht (AL) unterrichtet die 9 a in Französisch. Sie ist auch Klassenlehrerin der 9 a. Die Französischstunden finden Mo 3 | Di 2 | Mi 6 | Fr 1 statt. (. . . ) leitet Lehrer Kürzel Klasse unterrichtet Name . . . Fach KB Stunde Bez . . .
Aufgabe 7 - Lösungsvorschlag 95 Miniwelt „Schule“ Datenbanken T. Martin (#31) besucht die Kurse 12 M 2, 12 E 1, 12 Ch 1, 12 in 1, . . Den Kurs 12 in 1 besucht er dabei freiwillig. Stammkurs von T. Martin ist der Kurs 12 M 2. Dieser wird von F. Trautmann unterrichtet. (. . . ) Kürzel Name Schüler freiwillig besucht LK St. K Kurs Lehrer unterrichtet Bez KB Kürzel Name . . .
96 Aufgabe 8 - Lösungsvorschlag Vorführer Datenbanken betreut Film läuft in Saal ist. Teilvon Kino KB
97 Aufgabe 8 - Lösungsvorschlag Datenbanken Kunde erhält Sitz KB bucht Flug führt_aus ist. Teilvon Flugzeug
98 Aufgabe 9 - Lösungsvorschlag Datenbanken LNr: 3 Name: Müller Vorname: Peter. . . LNr: 6 Name: Schmitt Vorname: Otto. . . LNr: 1 Name: Meier Vorname: Karla. . . 8. 1. 2002 25. 4. 2002 16. 2. 2002 Sig: Autor: Titel: . . . Rel 1 Bibel Sig: M 1 Autor: Euklid Titel: Elemente. . . Sig: P 1 Autor: Einstein Titel: Relativität. . . 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. KB
Aufgabe 10 - Lösungsvorschlag 99 Datum Datenbanken Arzt Kürzel Behandlung PNr Name umfasst Leistung LNr KB Patient Art Gebühr Name . . .
100 Aufgabe 10 - Lösungsvorschlag Zugfahrt Schaffner betreut Datenbanken ist Teil ist Start Halt Teilfahrt Ziel führt_aus Personal ist Lokführer KB
Datenbanken 101 KB Teil 5 Vom ER-Modell zum relationalen Datenmodell
Zielsetzung 102 Datenbanken Ziel ist es, ein relationales Datenmodell zur Miniwelt „Unterrichtsverteilung“ zu erstellen. Wir gehen von dem unten aufgeführten ER-Modell aus. leitet Lehrer Klasse unterrichtet Kürzel Name Bez . . . Fach KB . . . Art . . .
Tabellen zum ER-Modell 103 leitet Lehrer Klasse Datenbanken unterrichtet KB Kürzel Name Bez . . . Fach . . . Art . . .
Kardinalitäten Datenbanken 104 KB Lehrer leitet unterrichtet Klasse
Beziehungstypen Datenbanken 105 A ( Lehrer leitet Klasse ) B 1: 1 -Beziehung Jedes Objekt der Klasse A steht mit höchstens einem Objekt der Klasse B in Beziehung. KB Jedes Objekt der Klasse B steht mit höchstens einem Objekt der Klasse A in Beziehung.
Beziehungstypen Datenbanken 106 A ( Lehrer leitet Klasse ) B 1: n-Beziehung Jedes Objekt der Klasse A steht mit beliebig vielen Objekten der Klasse B in Beziehung. KB Jedes Objekt der Klasse B steht mit höchstens einem Objekt der Klasse A in Beziehung.
Beziehungstypen Datenbanken 107 A ( Lehrer unterrichtet Klasse ) B m: n-Beziehung Jedes Objekt der Klasse A steht mit beliebig vielen Objekten der Klasse B in Beziehung. KB Jedes Objekt der Klasse B steht mit beliebig vielen Objekten der Klasse A in Beziehung.
Kardinalitäten 108 1 leitet n Lehrer Klasse Datenbanken m KB Kürzel Name unterrichtet n Bez . . . Fach . . . Art . . .
Kardinalitäten 109 min, max 1, 1 leitet 0, n Datenbanken Lehrer KB Klasse 1, m Kürzel Name unterrichtet 0, n Bez . . . Fach . . . Art . . .
110 Transformation in Tabellenmodelle Objektklasse E: S Datenbanken E KB S A 1 A 2
111 Transformation in Tabellenmodelle Beziehungsklasse (Standard-Tabellenmodell) Datenbanken E 1 S 1 R: R A 1 S 2 A 1 A 2 E 2 S 2 Integritätsbedingungen: KB R[S 1] E 1[S 1] R[S 2] E 2[S 2]
112 Transformation in Tabellenmodelle N: 1 -Beziehungsklasse (reduziertes Tabellenmodell) E 1 S 1 Datenbanken n E 1: S 1 . . . S 2 R E 2: S 2 1 E 2 S 2 Referentielle Integrität: KB E 1[S 2] E 2[S 2]
113 Transformation in Tabellenmodelle IS-A-Beziehung Datenbanken E 1 S A 1 E 1: S A 1 A 2 B 1 . . . A 2 is-a E 2: S E 2 B 1 KB Integritätsbedingung: E 2[S] E 1[S]
114 Übungen - Aufgabe 11 Legen Sie die Beziehungstypen sinnvoll fest, ergänzen Sie passende Attribute und skizzieren Sie ein relationales Datenmodell zum ER-Modell. Datenbanken leitet KB Abteilung ist. Teilvon Mitglied nimmt teil Gruppe trainiert benutzt Sportstätte
115 Aufgabe 11 - Lösungsvorschlag Festlegung der Beziehungstypen: n Datenbanken leitet Abteilung 1 1 ist. Teilvon n Mitglied m n nimmt teil 1 n trainiert Gruppe n benutzt m KB Sportstätte
116 Aufgabe 11 - Lösungsvorschlag Tabelle Mitglied (MNr: Zahl; Name: Zeichenkette; . . . ) Datenbanken 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; . . . ) KB
117 Übungen - Aufgabe 12 Miniprojekt Datenbanken Erstellen Sie eine relationale Datenbank zu einer Miniwelt ihrer Wahl (z. B. „Arztpraxis“ / „Zugfahrt“ /. . . ). KB 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 Aufgabe 12 - Lösungsvorschlag Tabelle Personal (PNr: Zahl; Name: Zeichenkette; . . . ) Datenbanken 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 Schaffner. Betreuung (Start: ZK; Ziel: ZK; PNr: ZK; . . . ) KB Tabelle Lok. Führung (Start: ZK; Ziel: ZK; PNr: ZK; . . . )
119 Literaturhinweise Datenbanken 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 KB
- Slides: 119