Thema: Datenbankmodellierung: Planung für die Do, 09.10.14 Einführung in das ER-Modell am Beispiel der Miniwelten „Bibliothek“ und „Schule“ Besprechungen: 1. Libero: Tayan Wiederholungen Was ist ein Primärschlüssel? Weshalb war sinnvoll in der Bibliotheksdatenbank die Ausleihe als Beziehungstabellen anzulegen, anstatt die Ausleihinformationen/Ausleihdaten einfach in die Büchertabelle oder die Lesertabelle einzutragen? Welchen großen Vorteil brachte die Verknüpfung der Leser- mit der Büchertabelle durch die Ausleihtabelle? Hausaufgabenbesprechung : S. 162/163: Beantworte die Fragen: 1. Was kennzeichnet ein relationales Datenbanksystem? 2. Was bedeutet „Referentielle Integrität“ und Inkonsistenz? 3. Was bedeutet Löschweiterleitung? D:\75882762.doc Thema: Datenbankmodellierung mit Hilfe des ER-Modells Beim Entwickeln einer Datenbank (Datenbank-Design) bildet man einen Teil der Welt, der für eine bestimmte Aufgabenstellung relevant ist auf eine Datenverarbeitungsanlage ab. Man reduziert die reale Welt auf das Wesentliche. Diesen Vorgang nennt man Modellierung. Erinnert euch an eure Modellierungsfortbildung im letzten Schuljahr. Bei der Beurteilung unterschiedlicher Modelle gibt es kein richtig oder falsch, eher ein brauchbar oder unbrauchbar. Man könnte z.B. die tabellenartige Modellierung von ACCESS (s.o.) dafür verwenden. Bei Datenbankentwickungen hat sich jedoch ein anderes (allerdings recht ähnliches) Modell durchgesetzt. Das 1976 von Peter Chen vorgestellte Entity Relationship Modell (ER-Modell) ist heutzutage meist der erste Modellbildungsschritt bei der Entwicklung von Datenbanken. Der bei dieser Modellbildung dargestellte Teil der Wirklichkeit bezeichnete Chen als Miniwelt. Autor Beispiel: Miniwelt Bibliothek zurück Titel ausgeliehen Wohnort geboren Bücher ausleihen Leser Vorname Buch-Nr. Buch-Nr. Ausleih-Nr. Nachname Straße Sachgebiet Leser-Nr Leser-Nr PLZ Geschlecht Verlag gemahnt Objekte Leser und Bücher sind diesem Modell eindeutig zu bestimmende Objekte (Entity/Entität) der Miniwelt und werden durch Rechtecke dargestellt. Objekte werden durch mit Hilfe von Substantiven benannt. Ein Objekt kann zum Beispiel sein: eine natürlich oder juristische Person (Karl Meier, Verein, Firma, ....) ein Gegenstand (Buch, Fahrrad, CD, ...... D:\75882762.doc Attribute Sogenannte Attribute (bei ACCESS Eigenschaften genannt) werden durch Kreise/Ellipsen dargestellt. Das Attribut, welches als Primärschlüssel dient, wird zusätzlich unterstrichen. Beziehungen Die Objekte Leser und Bücher werden durch die Ausleihtabelle über die Primärschlüssel Leser-Nr. und Buch-Nr. miteinander verknüpft und stehen dadurch in Beziehung zueinander. Eine solche Beziehung wird durch eine Raute dargestellt. Primärschlüssel aus einem anderen Projekt nennt man auch Fremdschlüssel. Beziehungen können auch weitere Attribute besitzen. Beziehungen werden mit Hilfe von Verben benannt. Leser leihen Bücher aus. Bücher werden von Lesern ausgeliehen. D:\75882762.doc Beispiel: Miniwelt Schule Herr P. Müller (MP) unterrichtet die Klasse 5a in Mathematik und Physik. Der Mathematikunterricht findet im Klassenraum (Raum 121) Mo und Do in der 3. Stunde statt. Der Physikunterricht findet im Physiksaal (Raum 21) Mo in der 5. Stunde statt. Frau R. Ahlers (AR) ist auch Klassenlehrerin der 5b und unterrichtet in ihrer Klasse Deutsch und Englisch im Klassenraum (Raum 122). Der Deutschunterricht findet Di 3. Stunde, Mi und Do 4. Stunde statt. Der Englischunterricht findet Fr 1. und 2. Stunde statt. Diskussion: Welches sind eindeutig zu bestimmende Objekte (Entity/Entität) der Miniwelt? Welches sind dazugehörige Attribute (Eigenschaften)? In welcher Beziehung stehen die Objekte? Aufgabe/ Hausaufgabe: Erstelle mit Hilfe von MS-ACCESS eine Datenbank, die die Miniwelt der Schule abbildet. Orientiere dich an dem vorgegebenen ER-Modell (siehe Extrablatt). Lege zunächst die Objekttabellen an. Gebe jeweils ein paar fiktive Datensätze (z.B. 10 Lehrer, die Klassen 5a, 5b, 5c, 5d). Verknüpfe nun die Tabellen mit der vorgegeben Beziehungstabelle (unterrichten), dazu Primärschlüssel festlegen und damit die Beziehungen knüpfen Fülle nun die Unterrichtstabelle mit den 4 (Unterrichts-)Stundenplan der 4 Klassen. Teste deine Datenbank mit den folgenden (tabellenübergreifenden)Abfragen 1. Welchen Unterricht hat die Klasse 5a in den 2. Stunden und welcher Lehrer unterrichtet sie dann? 2. Wann hat Frau Ahlers Englischunterricht? Gib auch die Klassen dazu an. 3. Erstelle den Stundenplan der Klasse 5a, lasse die Lehrernamen ausschreiben. 4. Welche Lehrer unterrichten die Klasse 5a? Abgabe: per Mail als ACCESS-Datei bis spätestens Di, 28.10.14, 18:00 Uhr. D:\75882762.doc Alle bisherigen Wiederholungsfragen: 1. Weshalb sind Buchnummer und Satznummer nicht identisch? 2. Weshalb werden Bearbeitungen bei ACCESS i.d.R. immer sofort gespeichert? Es gibt zwar ein Rückgängigtaste, aber diese ist meistens nicht anwählbar? 3. Welche Bedeutung haben die Zeichen ?, #, * bei einer Sucheingabe? Au* *haus H*n ?b* 4. Was bedeutet QBE-Abfrage? 5. Was bedeutet SQL? 6. Was unterscheidet die einfache Suche vom Filtern? Wahrheitstabellen o UND (z.B. UND Titel = *drei* ) Autor = „Hitchcock“ Titel = *drei* Wahr Wahr Falsch Falsch Wahr Falsch Falsch Wahr o ODER (z.B. Autor = „Hitchcock“ Autor = „Hitchcock“ Autor = „Hitchcock“ UND Titel = *drei* ODER Autor = „Hitchcock“ Titel = *drei* Wahr Wahr Falsch Falsch Wahr Falsch Falsch Wahr Titel = *drei* ) Autor = „Hitchcock“ ODER Titel = *drei* Wie beurteilst du die Urheberrechts-Problematik wg. der Speicherung von class-in-a-boxFotographien auf IServe? D:\75882762.doc ER-Modell-Entwurf zur Miniwelt „Schule“ Stunde LehrerKürzel Wochentag Lehrer Kürzel Klassen unterrichten Vorname Lehrer Klassen-Bez Klassen-Bez Kurs-Nr. Nachname Telefon Klassenlehrer Fach Stufe Raum D:\75882762.doc