Datenbanken IFB 2002 Klaus Becker.

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Einführung.
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Objekt – Relationales – Modell Tomasz Makowski IN
Bauinformatik II Softwareanwendungen 1
MS Office-Paket: Access
Das Entity-Relationship-Modell
Kapitel 3: Das Relationenmodell
Datenbanken Christof Rumpf
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Inner Joins.
Datenbankdesign und Normalisierung
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datenbanken Christof Rumpf
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Das Relationenmodell 1.
Übung Datenbanksysteme SQL-Anfragen (2)
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Normalformen Normalisieren Schlüssel
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
6 Normalformen Normalisieren Schlüssel
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
Relationale Datenbankmodelle
... und alles was dazugehört
Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II.
Die Grundterminologie
Datenbanken?.
Einführung Access Einführung und Datenbankgrundbegriffe
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
SQL Überblick Abfragen aus einer Tabelle
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
Befehle in SQL Erläuterungen.
(D.h. „Hallo MausFans!“ auf Japanisch).
Datenbanksysteme für hörer anderer Fachrichtungen
Freiwillige Feuerwehr der Stadt Perg
Aggregatsfunktion SQL = Structured Query Language.
Ihr Trainer: Gerold Hämmerle
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Datenbankentwurf Das Telefonbuch als Datenbasis
Erste Einführung in SQL
Einführung Dateisystem <-> Datenbanksystem
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken Datenbank-Entwurf
Datenbanken abfragen mit SQL
Vom Konzept zur Datenbank
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
CD BÜCHER FREUNDE INTERPRETAUTOR Entität Attribute Beziehung Preis TitelCd# Musikricht- ung von bis Handy PLZ Ort Straße Gdatum Vorname Nachname.
SQL Basics Schulung –
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Datenbanken IFB 2002 Klaus Becker

Relationale Datenbanken Teil 1 Relationale Datenbanken

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.

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

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).

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

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

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. Repräsentation:

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.

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

Verknüpfte Tabellen Leser Buch Ausleihe

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

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)

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”)

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”) }

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.

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

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

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

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.

Ü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).

Ü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.

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

Teil 2 Abfragen

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? ...

Relationales Datenmodell Leser Buch Ausleihe

Relationales Datenmodell

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

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.

Ü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

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;

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

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

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 *

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

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 ... ));

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

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

SELECT-Klausel Ausgangsrelation: Buch SQL-Ausdruck: Ergebnisrelation: Sig Autor Titel Jahr Fachbereich D1 Goethe Faust 1973 Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der ... 1952 Philosophie SQL-Ausdruck: SELECT Autor, Titel FROM Buch; Ergebnisrelation: Autor Titel Goethe Faust Mann Dr. Faustus Mann Der Zauberberg Russell Geschichte der ...

Projektion Ausgangsrelation: Buch Projektion: Autor, Titel Sig Autor Titel Jahr Fachbereich D1 Goethe Faust 1973 Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... Ph3 Russell Geschichte der ... 1952 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.

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

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

Produkt Ausgangsrelationen: Buch, Leser Sig Autor Titel Jahr Fachbereich D1 Goethe Faust 1973 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... 1937 Deutsch 0 Christ D2 Mann Dr. Fau... 1937 Deutsch 1 Eberle ...

INNER JOIN Ausgangsrelationen: Buch, Ausleihe SQL-Ausdruck: Sig Autor Titel Jahr Fachbereich D1 Goethe Faust 1973 Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... LNr Sig Datum 4 D2 29.10.01 8 M1 03.11.01 ... 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... 1937 Deutsch 4 29.10.01

Verbund Ausgangsrelationen: Buch, Ausleihe Sig Autor Titel Jahr Fachbereich D1 Goethe Faust 1973 Deutsch D2 Mann Dr. Faustus 1937 Deutsch ... LNr Sig Datum 4 D2 29.10.01 8 M1 03.11.01 ... 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... 1937 Deutsch 4 29.10.01

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

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

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

Übungen - Aufgabe 3 Wir betrachten hier die folgenden Tabellen zur Modellierung der Miniwelt „Unterrichtsverteilung“: Erstellen Sie SQL-Ausdrücke zu den folgenden Abfrageaufträgen:

Ü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.

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)

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“)

Ü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.

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

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.

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!

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:]));

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 Ph1 31.12.01

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 D2 16.09.01 4 P2 30.12.01 5 Ph1 31.12.01 6 D3 30.12.01 ...

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

Ü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.

Teil 3 Datenschutz

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

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

Ein Blick zurück .. Vor 1978: generelle Erlaubnis Die Verarbeitung personenbezogener Daten ist erlaubt, sofern sie nicht durch Gesetze eingeschränkt ist. 1.1.1978: Bundesdatenschutzgesetz (BDSG) Wandel in der Rechtsauffassung Ab 1978: grundsätzlicges Verbot Die Verarbeitung personenbezogener Daten ist verboten, sofern sie nicht durch Gesetze erlaubt wird. 1983: Ergänzung des Grundgesetzes Informationelle Selbstbestimmung als Grundrecht

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.

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

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

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!

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)

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)

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

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

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

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

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.

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.

Entity-Relationship-Modellierung Teil 4 Entity-Relationship-Modellierung

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.

Miniwelt „Bibliothek“ Objekte Beziehungen Objekte

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

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

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

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.

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.

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

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

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

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

Ü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.

Ü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 26.1.2002 im Saal “Movie 2” des Kinocenters “Cinema KL”. Für den Saal “Movie 2” ist samstags Sven Knohsalla als Vorführer eingeteilt. (...) Miniwelt „Flugreservierung“ Anna Wollenweber aus Kaiserslautern (Burgstraße 4) bucht am 2.2.2002 den Flug RY201 nach London. Dieser Flug wird von der Maschine LX23 (Boing 737) durchgeführt. A. Wollenweber wird der Sitzplatz A36 (Fensterplatz) in diesem Flugzeug zugewiesen. (...)

Ü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 ...

Ü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 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 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

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

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

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

Aufgabe 9 - Lösungsvorschlag LNr: 3 Name: Müller Vorname: Peter ... Sig: Rel1 Autor: Titel: Bibel ... 8.1.2002 LNr: 6 Name: Schmitt Vorname: Otto ... Sig: M1 Autor: Euklid Titel: Elemente ... 25.4.2002 LNr: 1 Name: Meier Vorname: Karla ... Sig: P1 Autor: Einstein Titel: Relativität ... 16.2.2002 Werden Ausleihen archiviert, so kann ein Buch mehrfach von demselben Leser ausgeliehen werden. Zur Identifikation einer Ausleihbeziehung benötigt man dann neben der Lesernummer und der Signatur des Buches auch das Ausleihdatum.

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

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

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

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 ...

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

Kardinalitäten leitet Lehrer Klasse unterrichtet

( 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.

( 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.

( 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.

Kardinalitäten leitet Lehrer Klasse unterrichtet Kürzel Name ... Bez 1 n Lehrer Klasse m unterrichtet n Kürzel Name ... Bez Art ... Fach ...

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 ...

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

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]

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]

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]

Ü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

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

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; ...)

Ü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, ...

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; ...)

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