Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenbanken IFB 2002 Klaus Becker.

Ähnliche Präsentationen


Präsentation zum Thema: "Datenbanken IFB 2002 Klaus Becker."—  Präsentation transkript:

1 Datenbanken IFB 2002 Klaus Becker

2 Relationale Datenbanken
Teil 1 Relationale Datenbanken

3 Zielsetzung 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 Anwendungsfälle Anwender: Bibliothekar(in) Anwender: Leser
Buchdaten registrieren Ausleihdaten aufnehmen Abfrage erstellen ... Anwender: Bibliothekar(in) Anwender: Leser Anwendungssystem: DBS Anwendungsfall: Interaktion zwischen einem Anwender / Akteur und dem Anwendungssystem

5 Datenbanksystem DB DBVS Sammlung von Daten
Software zur Verwaltung der Daten Anwender 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).

6 Datenbanksysteme sind überall
Beispiele: - Bibliothek - Bank - Reisebüro: Buchungssystem - Bahn: Auskunftssystem - Suchmaschine im Internet - ...

7 Das Modellierungsproblem
Miniwelt DB-Modellwelt Zustand: Gerd Müller ist registrierter Leser der Bibliothek. Er hat am das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen. ... Vorgang: Gerd Müller gibt das Buch ... zurück. ? Informationen über die Miniwelt Ziel: Repräsentation von Information

8 Repräsentation mit Tabellen
Information: Gerd Müller ist registrierter Leser der Bibliothek. Er hat am das Buch „Fußball ist mein Leben“ von Franz Beckenbauer ausgeliehen. Repräsentation:

9 Redundanz und Inkonsistenz
Ausleihen 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.

10 Verknüpfte Tabellen Fremd-schlüssel Primärschlüssel
Die Verknüpfung von Tabellen erfolgt mit Hilfe von Schlüsseln.

11 Verknüpfte Tabellen Leser Buch Ausleihe

12 Tabellenspezifikation
Leser: Das logische Schema einer Tabelle wird durch eine endliche Menge von Attributspezifikationen (Attributname; Datentyp) festgelegt. TABELLE Leser LNr: Zahl Name: Zeichenkette Vorname: Zeichenkette GebJahr: Zahl Stammkurs: Zeichenkette

13 Datentypen / 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 Relation 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 Relation 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 Relation 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.

17 Relationale 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 Schlü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. Leser Ausleihe

19 Schlü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. Ausleihe

20 Referentielle Integrität
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 Ü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 Ü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 Aufgabe 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. (...)

24 Teil 2 Abfragen

25 Zielsetzung 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 Relationales Datenmodell
Leser Buch Ausleihe

27 Relationales Datenmodell

28 Query by Example Abfrage: Welche Leser haben ein Buch ausgeliehen?
QbE: QbE: Grafik-basierte Erstellung von Abfragen

29 Query by Example Abfrage: Welche Leser haben ein Buch ausgeliehen?
Ergebnis der Abfrage: neue Tabelle (Dynaset) Beachte: Die neue Tabelle wird i. a. nicht gespeichert.

30 Ü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 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) ... 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? QbE: SQL: SELECT Leser.Name, Leser.Vorname, Ausleihe.Sig FROM Leser INNER JOIN Ausleihe ON Leser.LNr = Ausleihe.LNr;

32 SQL 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);

33 SQL - Syntax Grundstruktur einer SQL-Auswahlabfrage:
SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabellen> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Erläuterung < ... > : noch zu erklärendes Symbol FROM : Bestandteil der Sprache [ ... ] : optionales Element ... | : Alternative

34 SELECT-Klausel Grundstruktur Beispiele
SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabelle> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Beispiele SELECT Leser.Vorname, Leser.Name FROM Leser; SELECT Vorname, Name SELECT DISTINCT Name SELECT *

35 FROM-Klausel Grundstruktur Beispiele
SELECT [ALL | DISTINCT] <Attributliste> FROM <Referenztabelle> [WHERE <Bedingung>] [GROUP BY <Attributliste>] [HAVING <Bedingung>] Beispiele SELECT * FROM Leser; FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig; FROM Leser, Buch

36 WHERE-Klausel SELECT Titel FROM Buch WHERE (Jahr <1990);
WHERE ((Jahr <1990) AND (Jahr > 1950)); WHERE (NOT (Autor=“Goethe“)); SELECT Name, Vorname FROM Leser WHERE (Vorname IN (“Franz“, “Heinz“, “Franz“)); SELECT Autor, Titel WHERE (Sig IN (SELECT Sig FROM Buch INNER JOIN Ausleihe ON ... ));

37 SQL - Semantik Informelle Beschreibung der Bedeutung:
SELECT ... // Attribute der erzeugten Tabelle FROM ... // 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 Formale Beschreibung der Bedeutung: Relationenalgebra Objekte: Relationen Operationen: erzeugen aus Relationen neue Relationen

38 Operationen 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 SELECT-Klausel Ausgangsrelation: Buch SQL-Ausdruck: Ergebnisrelation:
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der Philosophie SQL-Ausdruck: SELECT Autor, Titel FROM Buch; Ergebnisrelation: Autor Titel Goethe Faust Mann Dr. Faustus Mann Der Zauberberg Russell Geschichte der ...

40 Projektion Ausgangsrelation: Buch Projektion: Autor, Titel
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der Philosophie Projektion: Autor, Titel Ergebnisrelation: Autor, Titel(Buch) Autor Titel Goethe Faust Mann Dr. Faustus Mann Der Zauberberg ... Russell Geschichte der ... Mit Hilfe einer Projektion lassen sich Attributwerte einer Relation auswählen.

41 WHERE-Klausel Ausgangsrelation: Buch SQL-Ausdruck:
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der Philosophie SQL-Ausdruck: SELECT * FROM BUCH WHERE (Autor = „Goethe“); Ergebnisrelation: (Autor=”Goethe”)(Buch) Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch

42 Selektion Ausgangsrelation: Buch Selektion: (Autor=”Goethe”)
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der Philosophie Selektion: (Autor=”Goethe”) Ergebnisrelation: (Autor=”Goethe”)(Buch) Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch Mit Hilfe einer Selektion kann man bestimmte Tupel aus einer Relation herausfiltern.

43 Produkt Ausgangsrelationen: Buch, Leser
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... LNr Name Vorname GebJahr Stamm... 0 Christ Benjamin 83 ROE 1 Eberle Gerrit 84 TM ... Ergebnisrelation: Buch  Leser // Kombination der Relationen Sig Autor Titel Jahr Fach... LNr Name ... D1 Goethe Faust 1973 Deutsch 0 Christ D1 Goethe Faust 1973 Deutsch 1 Eberle D1 Goethe Faust 1973 Deutsch 15 Wollen... D2 Mann Dr. Fau Deutsch 0 Christ D2 Mann Dr. Fau Deutsch 1 Eberle ...

44 INNER JOIN Ausgangsrelationen: Buch, Ausleihe SQL-Ausdruck:
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... LNr Sig Datum 4 D 8 M ... SQL-Ausdruck: SELECT * FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig; Ergebnisrelationen: Sig Autor Titel Jahr Fach... LNr Datum ... D2 Mann Dr. Fau Deutsch

45 Verbund Ausgangsrelationen: Buch, Ausleihe
Sig Autor Titel Jahr Fachbereich D1 Goethe Faust Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... LNr Sig Datum 4 D 8 M ... Mit Hilfe eines Verbundes (natural join) lassen sich Relationen mit einem gemeinsamen Attribut verschmelzen. Verbund / join: Ergebnisrelationen: Buch  Ausleihe Sig Autor Titel Jahr Fach... LNr Datum ... D2 Mann Dr. Fau Deutsch

46 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: R \ S

47 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 Buch1  Buch2 Buch1 UNION Buch2

48 SQL als Programmiersprache
Ausgangsrelationen SQL-Interpreter Programm: SQL-Ausdruck Ergebnisrelation SQL: Sprache zur Programmierung von Abfragen

49 Ü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 Ü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 Aufgabe 3 - Lösungsvorschlag
(1) Bestimme Name und Vorname sämtlicher Lehrer. SELECT Name, Vorname FROM Lehrer (2) Bestimme alle Lehrer (nur Kürzel), die montags in der 3. Stunde Unterricht haben. 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 = Klasse.Klassenlehrer WHERE (Stufe = 6)

52 Aufgabe 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.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 10a ihre Deutschstunden hat. SELECT Tag, Stunde FROM Unterricht WHERE (Klasse = „10a“)

53 Übungen - Aufgabe 4 Gegeben sind die folgenden Relationen: 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.

54 Aufgabe 4 - Lösungsvorschlag
SQL-Ausdruck: SELECT B, D FROM R  S WHERE (D < 4) B,D(D < 4)(R  S):

55 Zielsetzung 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 Manipulationsabfragen
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 Buch zurückgeben Löschung des mit Parametern eingegebenen Datensatzes aus der Tabelle „Ausleihe“ AusleiheLöschen: DELETE Ausleihe.LNr, Ausleihe.Sig FROM Ausleihe WHERE (((Ausleihe.LNr)=[Lesernummer:]) AND ((Ausleihe.Sig)=[Buchsignatur:]));

58 Buch 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; AusleiheAufnehmen: UPDATE Daten SET Daten.LNr = [Lesernummer:], Daten.Sig = [Buchsignatur:], Daten.Datum = Date(); Daten: (Hilfstabelle) LNr Sig Datum 5 Ph

59 Buch ausleihen Schritt 2: Anfügen der Datensätze aus der Hilfstabelle an die bestehende Tabelle „Ausleihe“; AusleiheÜbertragen: INSERT INTO Ausleihe ( LNr, Sig, Datum ) SELECT Daten.LNr, Daten.Sig, Daten.Datum FROM Daten; Ausleihe: LNr Sig Datum 4 D 4 P 5 Ph 6 D ...

60 Automatisierung mit Makros
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 „BuchAusleihen“ AusleiheAufnehmen AusleiheÜbertragen Makro „BuchZurückgeben“ AusleiheLöschen

61 Ü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: 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 Teil 3 Datenschutz

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 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 Datenschutz - was ist das?
kein Schutz von Daten 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 .. Vor 1978: generelle Erlaubnis
Die Verarbeitung personenbezogener Daten ist erlaubt, sofern sie nicht durch Gesetze eingeschränkt ist. : 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) 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.

67 Gemeinschaftsinteresse
Interessenkonflikte Individualinteresse Recht auf informationelle Selbstbestimmung: Schutz der Bürger vor - Erhebung - Speicherung - Verwendung - Weitergabe seiner 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 Gemeinschaftsinteresse
Datenschutzgesetze 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 Stellen zulässig ist

69 Datenschutzregelungen beziehen sich meist auf Dateien!
Was sind Daten? BDSG §3: Daten Akte Datei 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!

70 Personenbezogene Daten
BDSG §3: 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) bestimmbaren (Person kann durch weitere Daten ermittelbar) natürlichen Person. (also keine juristische Person, etwa Firma) (Betroffener)

71 Anwendungsbereiche 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 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 (...).

73 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 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 Datenverarbeitung ö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 Rechte 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 Maß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 Maß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 Entity-Relationship-Modellierung
Teil 4 Entity-Relationship-Modellierung

79 Zielsetzung 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 Miniwelt „Bibliothek“
Objekte Beziehungen Objekte

81 Strukturiertes Datenmodell
LNr: 3 Name: Müller Vorname: Peter ... Sig: Rel1 Autor: Titel: Bibel ... LNr: 6 Name: Schmitt Vorname: Otto ... Sig: M1 Autor: Euklid Titel: Elemente ... LNr: 1 Name: Meier Vorname: Karla ... Sig: P1 Autor: Einstein Titel: Relativität ... Objekte Beziehungen Objekte

82 Entity-Relationship-Modell
LNr: 3 Name: Müller Vorname: Peter ... Sig: Rel1 Autor: Titel: Bibel ... LNr: 6 Name: Schmitt Vorname: Otto ... Sig: M1 Autor: Euklid Titel: Elemente ... LNr: 1 Name: Meier Vorname: Karla ... Sig: P1 Autor: Einstein Titel: Relativität ... Klassenbildung Leser Ausleihe Buch

83 Entity-Relationship-Modell
Spezifikation der Klassen mit Hilfe von Attributen: Leser Ausleihe Buch LNr Name ... Datum Sig Autor ...

84 Objekt- 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 Attribute Leser Ausleihe Buch LNr Name ... Datum 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
Kunde bucht Reise Mitarbeiter Eine Beziehung kann auch zwischen Objekten aus 3, 4, ... Objektklassen bestehen.

87 Rekursive Beziehungen
Heim Verein spielt gegen Gast Eine Beziehung kann auch zwischen Objekten einer Objektklasse bestehen.

88 Beziehungen als Objekte
Leser Ausleihe Buch betrifft Mahnung Eine Beziehung kann auch als Objekt in einer anderen Beziehung auftreten.

89 Generalisierungshierarchie
Kürzel Name ... Person Ausleihe Buch ist ist Die ist-Beziehung verknüpft Objektklassen (nicht Objekte). Die Spezialisierungsklasse erbt die Attribute der Generalisierungsklasse. Schüler Lehrer ErzBer PersNr

90 Übungen - Aufgabe 7 Erstellen Sie zu den folgenden Miniwelten jeweils ein ER-Modell: 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.

91 Übungen - Aufgabe 8 Identifizieren Sie in den folgenden Miniwelten Objekte und Beziehungen und stellen Sie diese in einem ER-Diagramm dar. Miniwelt „Kino “ Der Film “Enigma” (Produzent Mick Jagger) läuft ab dem 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 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. (...)

92 Übungen - Aufgabe 9 Worin besteht der Unterschied zwischen den beiden Modellen? Leser Ausleihe Buch LNr Name ... Datum Sig Autor ... Leser Ausleihe Buch LNr Name ... Datum Sig Autor ...

93 Übungen - Aufgabe 10 Erstellen Sie zu den folgenden Miniwelten jeweils ein ER-Modell: 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 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; ... ; 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. (...)

94 Aufgabe 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 Lehrer Klasse unterrichtet Kürzel Name ... Bez ... Fach Stunde

95 Aufgabe 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. (...) Kürzel Name freiwillig LK StK ... Schüler besucht Kurs Lehrer unterrichtet Bez Kürzel Name

96 Aufgabe 8 - Lösungsvorschlag
Vorführer betreut Film läuft in Saal istTeilvon Kino

97 Aufgabe 8 - Lösungsvorschlag
Kunde bucht Flug erhält führt_aus Sitz istTeilvon Flugzeug

98 Aufgabe 9 - Lösungsvorschlag
LNr: 3 Name: Müller Vorname: Peter ... Sig: Rel1 Autor: Titel: Bibel ... LNr: 6 Name: Schmitt Vorname: Otto ... Sig: M1 Autor: Euklid Titel: Elemente ... LNr: 1 Name: Meier Vorname: Karla ... Sig: P1 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.

99 Aufgabe 10 - Lösungsvorschlag
Datum Arzt Behandlung Patient ... Kürzel Name PNr Name umfasst Leistung LNr Art Gebühr

100 Aufgabe 10 - Lösungsvorschlag
Zugfahrt Schaffner betreut ist Teil ist Start Halt Teilfahrt Personal Ziel führt_aus ist Lokführer

101 Vom ER-Modell zum relationalen Datenmodell
Teil 5 Vom ER-Modell zum relationalen Datenmodell

102 Zielsetzung 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 Art ... Fach ...

103 Tabellen zum ER-Modell
leitet Lehrer Klasse unterrichtet Kürzel Name ... Bez Art ... Fach ...

104 Kardinalitäten leitet Lehrer Klasse unterrichtet

105 ( Lehrer leitet Klasse )
Beziehungstypen A ( Lehrer leitet Klasse ) B 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 ( Lehrer leitet Klasse )
Beziehungstypen A ( Lehrer leitet Klasse ) B 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 ( Lehrer unterrichtet Klasse )
Beziehungstypen A ( Lehrer unterrichtet Klasse ) B 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 Kardinalitäten leitet Lehrer Klasse unterrichtet Kürzel Name ... Bez
1 n Lehrer Klasse m unterrichtet n Kürzel Name ... Bez Art ... Fach ...

109 Kardinalitäten min, max leitet Lehrer Klasse unterrichtet Kürzel Name
1,1 0,n Lehrer Klasse unterrichtet 1,m 0,n Kürzel Name ... Bez Art ... Fach ...

110 Transformation in Tabellenmodelle
Objektklasse E: S A1 A2 E S A1 A2

111 Transformation in Tabellenmodelle
Beziehungsklasse (Standard-Tabellenmodell) E1 S1 R: S1 S2 A1 A2 A1 R A2 E2 S2 Integritätsbedingungen: R[S1]  E1[S1] R[S2]  E2[S2]

112 Transformation in Tabellenmodelle
N:1-Beziehungsklasse (reduziertes Tabellenmodell) E1: E1 S1 S1 ... ... S2 n R E2: S2 ... ... 1 E2 S2 Referentielle Integrität: E1[S2]  E2[S2]

113 Transformation in Tabellenmodelle
IS-A-Beziehung E1: E1 S S A1 A2 ... A1 A2 is-a E2: S B1 ... E2 B1 Integritätsbedingung: E2[S]  E1[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. leitet Abteilung istTeilvon Mitglied nimmt teil Gruppe benutzt trainiert Sportstätte

115 Aufgabe 11 - Lösungsvorschlag
Festlegung der Beziehungstypen: n leitet Abteilung 1 1 istTeilvon n m n Mitglied nimmt teil Gruppe n 1 n benutzt trainiert m Sportstätte

116 Aufgabe 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 Ü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 Aufgabe 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 Literaturhinweise 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


Herunterladen ppt "Datenbanken IFB 2002 Klaus Becker."

Ähnliche Präsentationen


Google-Anzeigen