Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Datenbanken IFB 2002 Klaus Becker. KB Datenbanken 2 Teil 1 Relationale Datenbanken."—  Präsentation transkript:

1 Datenbanken IFB 2002 Klaus Becker

2 KB Datenbanken 2 Teil 1 Relationale Datenbanken

3 KB 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. 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 Datenbanken 4 Anwendungsfä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 Datenbanken 5 Datenbanksystem 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). DB Anwender Sammlung von Daten DB VS Software zur Verwaltung der Daten

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

7 KB Datenbanken 7 Das Modellierungsproblem Das Modellierungsproblem Ziel: Repräsentation von Information ? 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. MiniweltDB-Modellwelt Informationen über die Miniwelt

8 KB Datenbanken 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 KB Datenbanken 9 Redundanz 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. Ausleihen

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

11 KB Datenbanken 11 Verknüpfte Tabellen Leser Buch Ausleihe

12 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 14 Relation Ein Relationenschema ist eine endliche Folge (A 1 :W 1 ; A 2 :W 2 ;...; A n :W n ) 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 Datenbanken 15 Relation Sei (A 1 :W 1 ; A 2 :W 2 ;...; A n :W n ) ein gegebenes Relationen- schema mit den Attributnamen A 1 ;...; A n und den zugehörigen (endlichen) Wertebereichen W 1 ;...; W n. Unter dem (kartesischen) Produkt W 1... W n versteht man die Menge aller möglichen Tupel (w 1 ;... ; w n ) mit w i W i. Eine Relation zum Relationenschema (A 1 :W 1 ; A 2 :W 2 ;...; A n :W n ) ist eine Teilmenge des Produkts W 1... W n. Bsp.: { (1; Meier; Karin), (2; Schmitt; Otto), (3; Breuer; Hans) }

16 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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. AusleiheLeser

19 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 24 Teil 2 Abfragen

25 KB Datenbanken 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?... 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 Datenbanken 26 Relationales Datenmodell Leser Buch Ausleihe

27 KB Datenbanken 27 Relationales Datenmodell

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

29 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 31 SQL - Structured Query Language QbE: Abfrage: Welche Leser haben ein Buch ausgeliehen? SQL: SELECT Leser.Name, Leser.Vorname, Ausleihe.Sig FROM Leser INNER JOIN Ausleihe ON Leser.LNr = Ausleihe.LNr;

32 KB Datenbanken 32 SQL AufgabeSQL-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 KB Datenbanken 33 SQL - Syntax ::= SELECT [ALL | DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] Grundstruktur einer SQL-Auswahlabfrage: Erläuterung : noch zu erklärendes Symbol FROM : Bestandteil der Sprache [... ] : optionales Element... |... : Alternative

34 KB Datenbanken 34 SELECT-Klausel SELECT Leser.Vorname, Leser.Name FROM Leser; SELECT Vorname, Name FROM Leser; SELECT DISTINCT Name FROM Leser; SELECT * FROM Leser; SELECT [ALL | DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] Grundstruktur Beispiele

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

36 KB Datenbanken 36 WHERE-Klausel SELECT Titel FROM Buch WHERE (Jahr <1990); SELECT Titel FROM Buch WHERE ((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... ));

37 KB Datenbanken 37 SQL - Semantik 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 Informelle Beschreibung der Bedeutung: Formale Beschreibung der Bedeutung: Objekte: Relationen Operationen: erzeugen aus Relationen neue Relationen Relationenalgebra

38 KB Datenbanken 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 KB Datenbanken 39 SELECT-Klausel Ausgangsrelation: Buch SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... Ph3RussellGeschichte der Philosophie AutorTitel GoetheFaust MannDr. Faustus MannDer Zauberberg RussellGeschichte der... Ergebnisrelation: SELECT Autor, Titel FROM Buch; SQL-Ausdruck:

40 KB Datenbanken 40 Projektion Ausgangsrelation: Buch SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... Ph3RussellGeschichte der Philosophie AutorTitel GoetheFaust MannDr. Faustus MannDer Zauberberg... RussellGeschichte der... Ergebnisrelation: Autor, Titel (Buch) Projektion: Autor, Titel Mit Hilfe einer Projektion lassen sich Attributwerte einer Relation auswählen.

41 KB Datenbanken 41 WHERE-Klausel Ausgangsrelation: Buch SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... Ph3RussellGeschichte der Philosophie Ergebnisrelation: (Autor=Goethe) (Buch) SELECT * FROM BUCH WHERE (Autor = Goethe); SQL-Ausdruck: SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch

42 KB Datenbanken 42 Selektion Ausgangsrelation: Buch SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... Ph3RussellGeschichte der Philosophie Ergebnisrelation: (Autor=Goethe) (Buch) Selektion: SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch (Autor=Goethe) Mit Hilfe einer Selektion kann man bestimmte Tupel aus einer Relation herausfiltern.

43 KB Datenbanken 43 Produkt Ergebnisrelation: Buch Leser // Kombination der Relationen SigAutorTitelJahrFach...LNrName... D1GoetheFaust1973Deutsch0Christ D1GoetheFaust1973Deutsch1Eberle... D1GoetheFaust1973Deutsch15Wollen... D2MannDr. Fau Deutsch0Christ D2MannDr. Fau Deutsch1Eberle... Ausgangsrelationen: Buch, Leser SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... LNrNameVornameGebJahrStamm... 0ChristBenjamin83ROE 1EberleGerrit84TM...

44 KB Datenbanken 44 INNER JOIN Ausgangsrelationen: Buch, Ausleihe LNrSigDatum 4D M SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... SELECT * FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig; SQL-Ausdruck: Ergebnisrelationen: SigAutorTitelJahrFach...LNrDatum... D2MannDr. Fau Deutsch

45 KB Datenbanken 45 Verbund Ausgangsrelationen: Buch, Ausleihe LNrSigDatum 4D M SigAutorTitelJahrFachbereich D1GoetheFaust1973Deutsch D2MannDr. Faustus1937Deutsch... Verbund / join: Ergebnisrelationen: Buch Ausleihe SigAutorTitelJahrFach...LNrDatum... D2MannDr. Fau Deutsch Mit Hilfe eines Verbundes (natural join) lassen sich Relationen mit einem gemeinsamen Attribut verschmelzen.

46 KB Datenbanken 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 KB Datenbanken 47 Relationenalgebra und SQL Autor, Titel (Buch)SELECT Autor, Titel FROM Buch (Autor=Goethe) (Buch)SELECT * FROM Buch WHERE (Autor = Goethe) Buch AusleiheSELECT * FROM Buch INNER JOIN Ausleihe ON Buch.Sig = Ausleihe.Sig Buch LeserSELECT * FROM Buch, Leser Buch1 Buch2Buch1 UNION Buch2

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

49 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 53 Übungen - Aufgabe 4 Gegeben sind die folgenden Relationen: Wir betrachten die folgende Abfrage: SELECT B, D FROM R S WHERE (D < 4) 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 Datenbanken 54 Aufgabe 4 - Lösungsvorschlag SQL-Ausdruck: SELECT B, D FROM R S WHERE (D < 4) R:S: B,D (D < 4) (R S):

55 KB Datenbanken 55 Zielsetzung 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 Datenbanken 56 Manipulationsabfragen Tabellenerstellungsabfragen übertragen Daten in eine neue Tabelle. SQL: SELECT INTO QbE: Löschabfragen löschen Daten in einer Tabelle. SQL: DELETE FROM WHERE QbE: Anfügeabfragen fügen Daten aus einer bestehenden in eine bestehende Tabelle ein. SQL: INSERT INTO SELECT FROM... QbE: Aktualisierungsabfragen ändern Daten in einer bestehenden Tabelle. SQL: UPDATE SET Attribut = Ausdruck,... QbE: Beachte: Access-SQL unterscheidet sich z.T. erheblich von Standard-SQL!

57 KB Datenbanken 57 Buch zurückgeben Löschung des mit Parametern eingegebenen Datensatzes aus der Tabelle Ausleihe DELETE Ausleihe.LNr, Ausleihe.Sig FROM Ausleihe WHERE (((Ausleihe.LNr)=[Lesernummer:]) AND ((Ausleihe.Sig)=[Buchsignatur:])); AusleiheLöschen:

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

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

60 KB Datenbanken 60 Automatisierung mit Makros Makro BuchAusleihen AusleiheAufnehmen AusleiheÜ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 Datenbanken 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: 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 Datenbanken 62 Teil 3 Datenschutz

63 KB 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 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. 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 KB Datenbanken 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 Grundgesetz: Recht auf informationelle Selbstbestimmung Der Einzelne kann selbst über die Preisgabe und Verwendung seiner persönlichen Daten entscheiden

65 KB Datenbanken 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 KB Datenbanken 66 Rechte 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 Datenbanken 67 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 KB Datenbanken 68 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 KB Datenbanken 69 Was sind Daten? Daten DateiAkteListe 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 Datenbanken 70 Personenbezogene 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 Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 78 Teil 4 Entity-Relationship-Modellierung

79 KB Datenbanken 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. 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 Datenbanken 80 Miniwelt Bibliothek Objekte Beziehungen

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

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

83 KB Datenbanken 83 Entity-Relationship-Modell LeserAusleiheBuch Spezifikation der Klassen mit Hilfe von Attributen: LNr Name AutorSigDatum...

84 KB Datenbanken 84 Objekt- und Beziehungsklassen LeserAusleiheBuch 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 Datenbanken 85 Attribute Die Eigenschaften aller Objekte / Beziehungen einer Objektklasse / Beziehungsklasse werden mit Hilfe von Attributen erfasst.. Man unterscheidet zwischen beschreibenden und identifizierenden Attributen. LeserAusleiheBuch LNr Name AutorSigDatum...

86 KB Datenbanken 86 Mehrwertige Beziehungen bucht Reise Mitarbeiter Kunde Eine Beziehung kann auch zwischen Objekten aus 3, 4,... Objektklassen bestehen.

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

88 KB Datenbanken 88 Beziehungen als Objekte LeserAusleiheBuch Mahnung betrifft Eine Beziehung kann auch als Objekt in einer anderen Beziehung auftreten.

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

90 KB Datenbanken 90 Ü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 Datenbanken 91 Übungen - Aufgabe 8 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. (...) Identifizieren Sie in den folgenden Miniwelten Objekte und Beziehungen und stellen Sie diese in einem ER-Diagramm dar.

92 KB Datenbanken 92 Übungen - Aufgabe 9 Worin besteht der Unterschied zwischen den beiden Modellen? LeserAusleiheBuch LNr Name AutorSigDatum... LeserAusleiheBuch LNr Name AutorSigDatum...

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

94 KB Datenbanken 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 KlasseLehrer unterrichtet Kürzel Name... Bez... FachStunde

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

96 KB Datenbanken 96 Aufgabe 8 - Lösungsvorschlag Filmläuft inSaal Kino Vorführer istTeilvon betreut

97 KB Datenbanken 97 Aufgabe 8 - Lösungsvorschlag KundebuchtFlug SitzFlugzeugistTeilvon führt_auserhält

98 KB Datenbanken 98 Aufgabe 9 - Lösungsvorschlag LNr: 3 Name: Müller Vorname: Peter... LNr: 6 Name: Schmitt Vorname: Otto... LNr: 1 Name: Meier Vorname: Karla... Sig: Rel1 Autor: Titel: Bibel... Sig: M1 Autor: Euklid Titel: Elemente... 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 KB Datenbanken 99 Aufgabe 10 - Lösungsvorschlag ArztBehandlungPatient Leistung umfasst Kürzel Name PNr... Name Datum LNrArtGebühr

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

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

102 KB Datenbanken 102 Zielsetzung 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 Datenbanken 103 Tabellen zum ER-Modell leitet KlasseLehrer unterrichtet Kürzel Name... ArtBez... Fach...

104 KB Datenbanken 104 Kardinalitäten Lehrer Klasse leitet unterrichtet

105 KB Datenbanken 105 Beziehungstypen 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 Datenbanken 106 Beziehungstypen 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 Datenbanken 107 Beziehungstypen 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 Datenbanken 108 Kardinalitäten leitet KlasseLehrer unterrichtet Kürzel Name... ArtBez... Fach... 1 m n n

109 KB Datenbanken 109 Kardinalitäten leitet KlasseLehrer unterrichtet Kürzel Name... ArtBez... Fach... 1,1 1,m min, max 0,n

110 KB Datenbanken 110 Transformation in Tabellenmodelle E S A1 A2 SA1A2 E: Objektklasse

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

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

113 KB Datenbanken 113 Transformation in Tabellenmodelle E1 SA1A2 E1: IS-A-Beziehung E2 S... SB1... E2: Integritätsbedingung: E2[S] E1[S] is-a A1 A2 B1

114 KB Datenbanken 114 Ü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 Datenbanken 115 Aufgabe 11 - Lösungsvorschlag Mitglied leitet Gruppe Sportstätte istTeilvon benutzt nimmt teil Abteilung trainiert Festlegung der Beziehungstypen: 1 n mn n 1 m n 1 n

116 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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 KB Datenbanken 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. KB Datenbanken 2 Teil 1 Relationale Datenbanken."

Ähnliche Präsentationen


Google-Anzeigen