Grundlagen der Informationstechnik 6 und 7: Datenhaltungssysteme Vorlesung an der DHBW Karlsruhe im WS 2010/2011 Dipl.-Wirtsch.-Ing. Manfred Größer und Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt (FTU) KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Kooperation: Kommunikation und Datenhaltung → Abstraktion der Wirklichkeit → formalisierte Abbildung: Code, Symbole → Transport von Daten Informationen Daten [Signale] Kooperation über räumliche Distanzen über zeitliche Distanzen Datenhaltung Zeit → Kommunikation → Datenhaltung Ausprägungen der Kooperation (Tele-) Kommunikation Raum 2 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Οργανον-Modell der Kommunikation Platon (Athen, 427–347 v. Chr.) Karl Bühler (Deutschland, 1879–1963, „Sprachtheorie“ 1934): „Sprache ist ein Werkzeug damit Einer einem Anderen etwas mitteilen kann über die Dinge Code A Einer Code B Kanal Anderer Dinge 3 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Protokoll und Dienst Erwartung: Kooperationssystem erbringt gewisse Leistungen/Funktionalitäten/Effekte mit vorgegebener Qualität. → Protokoll: Protokoll Zweckausrichtung der Kooperation erfordert die Einhaltung gewisser Regeln Satz von Regeln, nach denen die Kooperation abläuft, heißt Protokoll → Dienst: Dienst Paket von zusammengehörigen, standardisierten Funktionen, die von einem oder mehreren Handlungsträgern → Dienstnehmer wiederholt in ähnlicher Form angefordert werden und deswegen an eine eigene Einrichtung delegiert wird, die sich darauf spezialisieren kann → Diensterbringer Die Realisierung der Funktionalität beim Diensterbringer bleibt dem Dienstnehmer verborgen → Dienstschnittstelle, Dienstschnittstelle Dienstzugangspunkte → Diensthierarchie 4 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Diensthierarchie Zwei Personen möchten miteinander kommunizieren, doch sprechen sie nicht die gleiche Sprache (Code A ≠ Code B) Lösung: Übersetzerdienst mit gemeinsamem Code (Code C), … Assoziation Definition von Dienstschnittstellen und Dienstzugangspunkten Verbindung oder Datagramm nur zwischen Partnerinstanzen der gleichen Ebene anforderungsgerechte Dienstauswahl 5 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Datenhaltungsdienste Entgegennehmen Abspeichern Ändern Löschen Auswählen Wiederauffinden Bereitstellen von Daten Verwalten von Datenbeständen → nach verschiedenen Gesichtspunkten zusammengehörige Daten Kontakte Termine 6 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Aufgaben Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Datenhaltungssysteme Datenbasis → Menge der im Datenhaltungssystem gespeicherten Daten Datenverwaltungssystem → Instanz, die für die Erbringung der Datenhaltungsdienste im Zusammenhang mit der Datenbasis sorgt (Datenhaltungsfunktionen) Datenhaltungsschnittstelle → Dienstzugangspunkte zu Datenhaltungsfunktionen, die die Nutzung der Datenhaltungsfunktionen ohne Kenntnisse ihrer Realisierung ermöglichen Dienstnehmer → Programme, zur Nutzung der Datenhaltungsdienste in Dialogform automatisierter Form 7 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme → Formulare und Abfragen → Transaktionen Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Datenhaltungssystem - Schema Dienstnehmer Dienstnehmer Datenhaltungsschnittstelle Dienstnehmer Dienstzugangspunkte Datenverwaltungssystem DatenhaltungsSystem Datenbasis 8 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Paradigmen: Miniwelt und Kongruenz Miniwelt: Interpretation der Daten in realer oder gedanklicher Welt Herkunft der Daten aus realer oder gedanklicher Welt „verlustbehaftete“ Abstraktion (Modell) im Hinblick auf die Verwendung Kongruenz: Forderung nach Inhaltsbezogenheit des Datenhaltungssystems: Informationssystem Postulat der Kongruenz: Eine Datenbasis muss zu jedem Zeitpunkt ein Abbild (Modell) einer gegebenen Miniwelt sein. Datenbasiszustand, der tatsächliches Abbild einer Miniwelt ist, heißt kongruent. Datenhaltungsdienste müssen stets einen kongruenten Zustand wieder in einen kongruenten Zustand der Datenbasis überführen 9 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Paradigmen: Konsistenz Grenzen der Kongruenz → Abschwächung der Forderung Erkennen von Gesetzmäßigkeiten in der Miniwelt weitgehender Einbau dieser Gesetzmäßigkeiten als Regeln in das Datenhaltungssystem Postulat der Konsistenz: Eine Datenbasis muss zu jedem Zeitpunkt den Konsistenzregeln für ein Modell einer gegebenen Miniwelt folgen. Sätze: Ist eine Datenbasis kongruent, so ist sie konsistent Ist eine Datenbasis konsistent, so ist sie nicht notwendig kongruent Ein Datenhaltungssystem gewährleistet Konsistenz, wenn seine Dienstfunktionen stets einen konsistenten Datenbasiszustand wieder in einen konsistenten Zustand überführen Durch Datenhaltungsdienste kann nicht sichergestellt werden, dass stets ein konsistenter Zustand wieder in einen konsistenten Zustand der Datenbasis überführt wird → Klassen von Konsistenzregeln 10 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Klassen der Konsistenzregeln Strukturierungsregeln Beispiel: Kontakteintrag im Handy wird nur dann in die Datenbasis aufgenommen, wenn die Informationen zum Kontakt vollständig vorliegen; gleiche Überlegung für Termineintrag im Kalender → Übergang zu generischen Regeln: ähnlich record-Konzept in der Programmierung generische Regeln für Mengen, zur Sicherstellung der Eindeutigkeit Anpassung der Dienstfunktionen → Datenmodelle, Modellkonsistenz mengenorientierte Dienste, satzorientierte Dienste, navigierende Dienste Sortenregeln: Konkretisierung der Strukturierungsregeln im Hinblick auf das gewählte Datenmodell Festlegung, welche Werte die elementaren Strukturen annehmen können und wie diese Werte zusammengefasst werden können → Datenbasisschemata und Schemakonsistenz: relationales Schema Felder, Datentypen, Schlüssel Konsistenzbedingungen 11 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Transaktionsprozeduren Konsistenzbedingungen können nicht durch Datenhaltungsfunktionen gesichert werden Beispiel: Stornierung einer Flugbuchung mit mehreren Flugabschnitten Zusammenfassung von einzelnen Aktionen (Datenhaltungsfunktionen) zu einer komplexen Aktion: → Transaktionsprozedur konsistenter Zustand vor Beginn der Transaktionsprozedur inkonsistente Zustände während der Transaktionsprozedur konsistenter Zustand nach Ende der Transaktionsprozedur → Sicherstellung, dass Transaktionsprozedur nicht abgebrochen wird Äquivalenz: Transaktionsprozeduren – Konsistenzbedingungen 12 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Paradigmen: Persistenz potentiell unbegrenzte Lebensdauer der Daten Forderung nach lebenslanger Konsistenz Bedrohungen: Zerstörung oder Verfälschung der Daten durch äußere Einwirkungen oder Alterung durch Fehlbedienung durch Programmfehler durch widersprüchliche, konkurrierende Zugriffe Postulat der Unverletzlichkeit: Unverletzlichkeit Ein Datenhaltungssystem gewährt Unverletzlichkeit, wenn bei Fehlverhalten die Datenbasis einen konsistenten Zustand annimmt, der die Ergebnisse aller bis zu einem vorgegebenen Zeitpunkt erbrachter Dienstleistungen widerspiegelt. widerspiegelt Genügt ein Datenhaltungssystem der Forderung nach Unverletzlichkeit, so ist die Datenbasis persistent. persistent Mechanismen: Journaling, Snapshots, Drei-Phasen-Commit, Schattenkopien, … 13 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Relationales Datenmodell: Tupel Annahme: Informationen über einen Gegenstand der Miniwelt gehen nur gebündelt in die Datenbasis ein → Tupel SR1. Tupel Ein Tupel ist eine Sammlung von in der Miniwelt als zusammengehörig betrachteten Datenelementen. Die Zahl der Datenelemente liegt für das Tupel fest, ihre Anordnung ist beliebig. Innerhalb des Tupels wird ein Datenelement (Tupelkomponente) durch einen Selektor (Attribut) Attribut identifiziert. Die Komponenten eines Tupels dürfen nicht beliebige Werte annehmen, sondern müssen aus einer für jedes Attribut vorgeschriebenen Sorte (Domäne) ne stammen. Als Domänen kommen nur Sorten atomarer Werte infrage; das sind solche Werte, die aus Sicht des Datenbanksystems nicht weiter in für sich unterscheidbare Werte unterteilt werden können. Beispiel: Teilnehmer, Kontakteintrag im Handy, … Strukturierungsregel SR1 legt Modellkonsistenz fest. 14 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Relationales Datenmodell: Relation, Schlüssel SR2. Relation Eine Relation ist eine Menge im mathematischen Sinn von gleichartigen Tupeln. Die Gleichartigkeit besagt, dass Tupel einer Relation in ihren Attributen und den zugehörigen Domänen übereinstimmen. Die Mengeneigenschaft besagt, dass sich die Tupel paarweise in mindestens einem Komponentenwert voneinander unterscheiden müssen. SR3. Schlüsselattribute Die Tupel einer Relation unterscheiden sich in ihrem Wert unter dem selben Attribut oder der selben Attributkombination, den Schlüsselattributen Konsequenz aus der Mengeneigenschaft SR4 (optional). Zu jedem (im Schema vereinbarten) Relationstyp existiert genau eine Relation 15 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Praktische Umsetzungen in ACCESS ACCESS als relationales Datenhaltungssystem Volle Unterstützung der Strukturierungsregeln SR1 und SR2 Unbefriedigende Unterstützung der Strukturierungsregel SR3 → häufig Hinzufügen eines künstlichen Schlüssels erforderlich Programmstart: 16 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Datenbank und Tabellen erstellen 17 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Domänen 18 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Datenblattansicht 19 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Formulare 20 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Abfragegenerator 21 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Abfrageentwurf 22 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt ACCESS: Auswahlabfragen 23 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Merkenswertes zu Abfragen Aktionsabfragen Tabellenerstellungsabfrage Anfügeabfrage Löschabfrage Aktualisierungsabfrage Auswahlabfrage Selektion und Projektion Aggregatfunktionen Mengenoperationen Union-Abfragen → SQL (Structured Query Language) Kreuzprodukt Verbindungen (Joins) natürliche Verbindung, Equijoins Outer-Joins 24 14.01.2011 Grundlagen der Informationstechnik Kap. 6: 6 u. Datenhaltungssysteme 7: Datenhaltungssysteme I {A, B, C} × {1, 2, 3, 4} = {A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4} Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt auf dem Weg zu Normalformen Atomizität mehrere Informationen in einem Attribut Bespiel: Gruppenzuordnung im Handy-Kontaktverzeichnis Familie — Geschäftlich — Notrufe — … Beispiel: mehrere Telefonnummern zu einem Kontakt Redundanzen mehrfach abgespeicherte Attributwerte Beispiel: Ausbildungsbetrieb in Kursliste Beispiel: Ort und PLZ im Kontaktverzeichnis → Zerlegung von Tabellen unter Erhalt der Zusammenhänge Universalrelation (sachgemäße) Einzel-Relationen Schlüssel und Fremdschlüssel SR5 (optional): Fremdschlüsselwerte in einer Relation müssen als Schlüsselwerte in ihrer zugehörigen Relation existieren → referentielle Integrität, besser: referentielle Konsistenz 25 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Zerlegung in ACCESS: Tabellenbeziehungen 26 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Zerlegung in ACCESS: Tabellenbeziehungen 27 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entwurf relationaler Datenbasisschemata Ziel: (formalisiertes) Verfahren zur Konstruktion eines Schemas, das ein Maximum an Gesetzmäßigkeiten der Miniwelt erfasst Mehrstufiges Vorgehen: Welt Miniwelt Eingrenzen der Miniwelt Modellierung der Miniwelt Modellierung → in einem semantischen Datenmodell, Datenmodell dem konzeptuellen Schema Abbildung konzeptuelles Schema des konzeptuellen Schemas → auf ein logisches Datenmodell, Datenmodell Abbildung das logische Schema Implementierung → physischer Entwurf logisches Schema → Datenbankentwurf 28 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell i Entity-Relationship-Modell, ER-Modell nicht-formales Modell, das auf Anschaulichkeit zielt Peter Pin-Shan Chen, 1976: The Entitiy-Relationship Model — Toward a Unified View of Data http://csc.lsu.edu/news/erd.pdf und http://de.wikipedia.org/wiki/Peter_Chen Grundelemente: Student Gegenstand ist das Modell eines wohlunterscheidbaren Objekts in der Miniwelt. grafische Repräsentation: Rechteck Beispiele: Student, Ausbildungsbetrieb, Adresse, Telefonanschluss, CC, … Attribut Merkmale zur Beschreibung eines Gegenstands grafische Repräsentation: Ellipse Nachname Beispiele: Nachname, Vorname; Straße, PLZ, Ort; Telefonart, Nummer; … Beziehung relevanter Zusammenhang zwischen Gegenständen wohnt grafische Repräsentation: Raute Beziehung entspricht der Definition einer mathematischen Relation Beispiele: (Student) wohnt in (Adresse), (Student) arbeitet bei (Ausbildungsbetrieb), … 29 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beispiel: Die Miniwelt der Kurse am FTU relevante Fakten der Miniwelt: Das FTU veranstaltet knapp 1000 Kurse im Jahr, z.T. mit mehreren Terminen der gleichen Veranstaltung, aber mit z.T. unterschiedlichen Preisen und Verantwortlichen an unterschiedlichen Orten und mit unterschiedlichen, z.T. mehreren (internen oder externen) Dozenten. Die Verantwortlichkeit gliedert sich in die disjunkten Mengen „Kursleiter“, „Sachbearbeiterin“ und „Techniker“, die alle „Mitarbeiter“ des FTU sind. Im Jahresprogramm sind diese Kurse wenigstens einer Obergruppe und einer Untergruppe zugeordnet, manche Kurse können jedoch auch zu mehreren Klassifikationen gehören. Im Weiterbildungsverzeichnis des Wirtschaftsministerium ist jeder Kurs genau einer sog. Rubrik zugeordnet. Begriffe: Trainingstyp Beispiele: ACCESS-Grundlagen, ACCESS-Vertiefung Training Beispiel: ACCESS-Grundlagen, 24.11.–26.11.2010 Kursleiter (mandatory), Sachbearbeiterin (mandatory), Techniker (optional) Obergruppe, Untergruppe, WebFIFO-Rubrik Dozenten 30 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entität „Trainingstyp“ ER-Modell: Trainingstyp (TT) Kurztitel Kürzel Titel Inhalt Relation in ACCESS: 31 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Relation „Trainingstyp“ 32 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entität „Training“ ER-Modell: TINDEX Training (T) Preis Dozent(en) Dauer TTYP Kursleiter V_Ort Start_Termin Sachbearb Anzahl_TN End_Termin Technik Einnahmen Relation in ACCESS: 33 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Relation „Training“ 34 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell ii Grundelemente: Gegenstand ist das Modell eines wohlunterscheidbaren Objekts in der Miniwelt. grafische Repräsentation: Rechteck Beispiele: Student, Ausbildungsbetrieb, Adresse, Telefonanschluss, CC, … Student Attribut Merkmale zur Beschreibung eines Gegenstands grafische Repräsentation: Ellipse Beispiele: Nachname, Vorname; Straße, PLZ, Ort; Telefonart, Nummer; … Nachname Beziehung relevanter Zusammenhang zwischen Gegenständen wohnt grafische Repräsentation: Raute Beziehung entspricht Definition einer mathematischen Relation; Schlüssel Beispiele: (Student) wohnt in (Adresse), (Student) arbeitet bei (Ausbildungsbetrieb), (Ausbildungsbetrieb) liegt in (Adresse), … oder eben: (Training) wird gehalten von (Dozent) Überlegung: Mehrere Dozenten als mehrere Attribute der Entität „Training“? 35 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entität „Training“ ER-Modell: TINDEX Training (T) Preis Dozent(en) Dauer TTYP Kursleiter V_Ort Start_Termin Sachbearb Mitarbeiter Anzahl_TN End_Termin Technik Einnahmen Relation in ACCESS: 36 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell iii relevante Fakten der Miniwelt: Das FTU veranstaltet knapp 1000 Kurse im Jahr, z.T. mit mehreren Terminen der gleichen Veranstaltung, aber mit z.T. unterschiedlichen Preisen und Verantwortlichen an unterschiedlichen Orten und mit unterschiedlichen, z.T. mehreren Dozenten. Die Verantwortlichkeit gliedert sich in die disjunkten Mengen „Kursleiter“, „Sachbearbeiterin“ und „Techniker“, die alle „Mitarbeiter“ des FTU sind. Erweiterungen: Aggregierung Generalisierung 37 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entitäten „Kursleiter“, „SB“ und „AGT“ Generalisierung: PERSNR Mail Name Telefon Mitarbeiter Kursleiter Sachbearbeiterin Techniker Titel 38 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Relationen „KL“, „SB“ und „AGT“ 39 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entität „Dozent“ Betrachtung: Dozent ≠ Mitarbeiter und die Konsequenzen daraus DozNr Mail Name Telefon Dozent Anschrift 40 14.01.2011 Web Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Firma Titel Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Entitäten „WebFIFO“ und „FTU-Fach“ Rubriken: WebFIFO CC Beschreibung Ober- und Untergruppen: FTU-Fach Fach 41 14.01.2011 Beschreibung Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Art Präfix Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell ii Grundelemente: Gegenstand ist das Modell eines wohlunterscheidbaren Objekts in der Miniwelt. grafische Repräsentation: Rechteck Beispiele: Student, Ausbildungsbetrieb, Adresse, Telefonanschluss, CC, … Student Attribut Merkmale zur Beschreibung eines Gegenstands grafische Repräsentation: Ellipse Beispiele: Nachname, Vorname; Straße, PLZ, Ort; Telefonart, Nummer; … Nachname Beziehung relevanter Zusammenhang zwischen Gegenständen wohnt grafische Repräsentation: Raute Beziehung entspricht Definition einer mathematischen Relation; Schlüssel Beispiele: (Student) wohnt in (Adresse), (Student) arbeitet bei (Ausbildungsbetrieb), (Ausbildungsbetrieb) liegt in (Adresse), … Rolle Kontext, in dem ein Gegenstandstyp an einem Beziehungstyp teilnimmt grafische Repräsentation: Verbindungslinie meist ohne Bezeichnung, Ausnahmen: reflexive Beziehungen 42 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehungen in der Kurs-Miniwelt relevante Fakten der Miniwelt: Das FTU veranstaltet knapp 1000 Kurse (Trainings) im Jahr, z.T. mit mehreren Terminen der gleichen Veranstaltung (Trainingstyp), aber mit z.T. unterschiedlichen Preisen und Verantwortlichen an unterschiedlichen Orten und mit unterschiedlichen, z.T. mehreren (internen oder externen) Dozenten. Die Verantwortlichkeit gliedert sich in die disjunkten Mengen „Kursleiter“, „Sachbearbeiterin“ und „Techniker“, die alle „Mitarbeiter“ des FTU sind. Im Jahresprogramm sind diese Kurse wenigstens einer Obergruppe und einer Untergruppe zugeordnet, manche Kurse können jedoch auch zu mehreren Klassifikationen gehören. Im Weiterbildungsverzeichnis des Wirtschaftsministerium ist jeder Kurs genau einer sog. Rubrik zugeordnet. Beziehungen: Training — Trainingstyp Training — Mitarbeiter: Training — KL, Training — SB, Training — AGT Training — Veranstaltungsort — Dozent Trainingstyp — FTU-Fach Trainingstyp — WebFIFO-Rubrik 43 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell ii Grundelemente: Gegenstand ist das Modell eines wohlunterscheidbaren Objekts in der Miniwelt. grafische Repräsentation: Rechteck Beispiele: Student, Ausbildungsbetrieb, Adresse, Telefonanschluss, CC, … Attribut Merkmale zur Beschreibung eines Gegenstands grafische Repräsentation: Ellipse Beispiele: Nachname, Vorname; Straße, PLZ, Ort; Telefonart, Nummer; … Beziehung relevanter Zusammenhang zwischen Gegenständen wohnt grafische Repräsentation: Raute Beziehung entspricht Definition einer mathematischen Relation; Schlüssel Beispiele: (Student) wohnt in (Adresse), (Student) arbeitet bei (Ausbildungsbetrieb), (Ausbildungsbetrieb) liegt in (Adresse), … Rolle Kontext, in dem ein Gegenstandstyp an einem Beziehungstyp teilnimmt grafische Repräsentation: Verbindungslinie meist ohne Bezeichnung, Ausnahmen: reflexive Beziehungen 44 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehung: Training — Traingstyp Ein Training gehört zu genau einem Trainingstyp Kein Training ohne Trainingstyp Zu einem Trainingstyp können beliebig viele Trainings gehören Training 45 14.01.2011 T ist vom Typ TT Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Trainingstyp Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehung: Untergruppe — Obergruppe Eine Untergruppe gehört zu genau einer Obergruppe Eine Obergruppe kann viele Untergruppen haben FTU-Fach Obergruppe Untergruppe gehört zu 46 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehung: Training — Dozent — V-Ort Ein Training findet an einem Ort statt Ein Training braucht einen Dozenten am rechten Ort In einem Training können mehrere Dozenten zum Einsatz kommen Training Dozent T findet statt V-Ort → Versuch der Auflösung, ggf. mit Aggregierungen 47 Training T wird gehalten Dozent Training T findet statt in V-Ort 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Gegenstand-Beziehungs-Modell iv Erweiterungen: Attribute für Beziehungen Kardinalitäten für Rollen Ausdruck der Beziehungskomplexität Form: <κmin, κmax> mit κ∈ù0 ∪ {*} Aggregierung Generalisierung Beziehungsarten: einstellige Beziehung zweistellige Beziehung mehrstellige Beziehung Teilmengenbildung Beziehungskomplexität: 1:1-Beziehung 1:n-Beziehung m:n-Beziehung 48 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehung: Training — Traingstyp Ein Training gehört zu genau einem Trainingstyp Kein Training ohne Trainingstyp Zu einem Trainingstyp können beliebig viele Trainings gehören Training 49 14.01.2011 <1,1> ∞ Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme T ist vom Typ TT <0,*> 1 Trainingstyp Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehung: Training — Dozent Ein Training braucht einen Dozenten, der aber u.U. erst zu einem späteren Zeitpunkt feststeht In einem Training können mehrere Dozenten zum Einsatz kommen Dozenten sollen in der Relation erhalten bleiben, auch wenn sie einmal nicht zum Einsatz kommen Dozenten können dabei in unterschiedlichen Rollen mit verschiedenen Tagessätzen auftreten. Training <0,*> n DozRolle 50 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme wird gehalten <0,*> m Dozent Tagessatz Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehungen der FTU-Kurswelt im Überblick Diskussion von Maximal- und Minimalkardinalitäten TT <1,1> <0,*> T <0,*> <0,*> Dozent <1,1> Rolle <1,1> Satz <1,*> <0,1> <0,*> <0,*> <0,*> WebFIFO <0,*> FTU-CC <0,*> Obergruppe <0,*> KL SB <0,1> <0,*> AGT Untergruppe → referentielle Integrität (Konsistenz) 51 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehungen der FTU-Kurswelt im Überblick 52 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Abbildungsregeln: ER-Modell → Relationenmodell Jeder Gegenstandstyp wird auf eine Gegenstandsrelation abgebildet, Attribute und Schlüsselattribute werden dabei übernommen. 53 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Exemplarische Umsetzung: Trainingstyp ER-Modell: Trainingstyp (TT) Kurztitel Kürzel Titel Inhalt Tabelle: GT_TT KUERZEL KURZTITEL TITEL INHALT 54 14.01.2011 Text 20 Text 100 Text 255 Memo Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Schlüssel → mandatory, Index o. Dup. optional, ev. Index m. Dup. mandatory, ev. Index m. Dup. optional Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Exemplarische Umsetzung: Training ER-Modell: Dauer TINDEX Tabelle: GT_T TINDEX DAUER T-START T-ENDE PREIS TNZAHL EINNAHME 55 14.01.2011 Training (T) Start_Termin Anzahl_TN Autowert Double Datum Datum Währung Integer Währung Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme End_Termin Preis Einnahmen Schlüssel → Index o. Dup., keine Eingabe optional mandatory, ev. Index m. Dup. optional, ev. Index m. Dup. optional optional optional Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Abbildungsregeln: ER-Modell → Relationenmodell Jeder Gegenstandstyp wird auf eine Gegenstandsrelation abgebildet, Attribute und Schlüsselattribute werden dabei übernommen. Beziehungstypen: Jede Beziehung kann auf eine Beziehungsrelation abgebildet werden, der Schlüssel der Beziehungsrelation setzt sich aus den Schlüsselattributen der beteiligten Gegenstandsrelationen zusammen. 1:1-Beziehung: [→ Rekonstruktion durch Projektion] Im Falle der 1:1-Beziehung ist es meist sinnvoll, unter Verzicht auf eine Relation alle Attribute einer der 1:1-verknüpften Gegenstandsrelationen der jeweils anderen Gegenstandsrelation hinzuzufügen. 1:n-Beziehung: Im Falle der 1:n-Beziehung ist es meist sinnvoll, unter Verzicht auf eine Relation den Schlüssel der 1-seitigen Gegenstandsrelation der n-seitigen Gegenstandsrelation als Fremdschlüssel hinzuzufügen. Attribute der Beziehung werden im Fall der Realisierung als Beziehungsrelation dieser hinzugefügt werden in allen anderen Fällen der n-seitigen Gegenstandsrelation hinzugefügt 56 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Exemplarische Umsetzung: T ist vom Typ TT ER-Modell: <1,1> Training ∞ T ist vom Typ TT <0,*> 1 Trainingstyp TINDEX Kürzel Beziehungsregel 1: BT_T-TT TINDEX long Integer KUERZEL Text 20 Schlüssel eigentlich: (TINDEX, KUERZEL) ACCESS-“Krücken“: berechneter Schlüssel künstlicher Schlüssel 57 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Fremdschlüssel T → mandatory (wegen „T gehört zu genau einem TT“, κmin=1 links: Index o. Dup.) Fremdschlüssel TT → mandatory (wegen κmin=0 rechts: Index m. Dup.) → komplexer Schlüssel für BT_T-TT → über Transaktionsprozedur (Makro-Event) → T-TT-ID (Autowert) unter Verlust von Konsistenz-Kontrolle Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Abbildungsregeln: ER-Modell → Relationenmodell Jeder Gegenstandstyp wird auf eine Gegenstandsrelation abgebildet, Attribute und Schlüsselattribute werden dabei übernommen. Beziehungstypen: Jede Beziehung kann auf eine Beziehungsrelation (BRel) abgebildet werden, der Schlüssel der Beziehungsrelation setzt sich aus den Schlüsselattributen der beteiligten Gegenstandsrelationen zusammen. 1:1-Beziehung: [→ Rekonstruktion durch Projektion] Im Falle der 1:1-Beziehung ist es meist sinnvoll, unter Verzicht auf eine BRel alle Attribute einer der 1:1-verknüpften Gegenstandsrelationen der jeweils anderen Gegenstandsrelation hinzuzufügen. 1:n-Beziehung: Im Falle der 1:n-Beziehung ist es meist sinnvoll, unter Verzicht auf eine BRel den Schlüssel der 1-seitigen Gegenstandsrelation der n-seitigen Gegenstandsrelation als Fremdschlüssel hinzuzufügen. Attribute der Beziehung werden im Fall der Realisierung als Beziehungsrelation dieser hinzugefügt werden in allen anderen Fällen der n-seitigen Gegenstandsrelation hinzugefügt 58 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Exemplarische Umsetzung: T ist vom Typ TT ER-Modell: Training <1,1> ∞/n TINDEX Kürzel Beziehungsregel 3: TINDEX DAUER T-START T-ENDE PREIS TNZAHL EINNAHME KUERZEL 59 14.01.2011 T ist vom Typ TT <0,*> 1 Trainingstyp Kürzel Schlüssel der 1-Seite (GT_TT) der n-Seite (GT_T) als Fremdschlüssel hinzufügen Autowert Double Datum Datum Währung Integer Währung Text 20 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Schlüssel → Index o. Dup., keine Eingabe optional mandatory, ev. Index m. Dup. optional, ev. Index m. Dup. optional optional optional Fremdschlüssel, mandatory, Index m. Dup. Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehungen der FTU-Kurswelt im Überblick Diskussion von Maximal- und Minimalkardinalitäten TT <1,1> <0,*> T <0,*> <0,*> Dozent <1,1> Rolle <1,1> Satz <1,*> <0,1> <0,*> <0,*> <0,*> WebFIFO <0,*> FTU-CC <0,*> Obergruppe <0,*> KL SB <0,1> <0,*> AGT Untergruppe → referentielle Integrität (Konsistenz) 60 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Exemplarische Umsetzung: T wird gehalten v. DOZ ER-Modell: <0,*> Training n wird gehalten <0,*> m Dozent TINDEX DozNr Beziehungsregel 1: BT_T-DOZ TINDEX long Integer DOZNR long integer Schlüssel eigentlich: (TINDEX, DOZNR) ACCESS-“Krücken“: berechneter Schlüssel künstlicher Schlüssel 61 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Fremdschlüssel T → mandatory (wegen κmin=0 links: Index m. Dup.) Fremdschlüssel DOZENT → mandatory (wegen κmin=0 rechts: Index m. Dup.) → komplexer Schlüssel für BT_T-DOZ → über Transaktionsprozedur (Makro-Event) → DOZ-Vertrag (Autowert) unter Verlust von Konsistenz-Kontrolle Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt m:n-Beziehung: T — DOZ in ACCESS 62 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Beziehungen der FTU-Kurswelt im Überblick 63 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Normalisierung: Abhängigkeiten Voraussetzungen: Relation R(A1, A2, …, An) mit den Attributen A1, A2, …, An seien W, X, Y, Z Teilmengen der Art W, X, Y, Z f {A1, A2, …, An} funktionale Abhängigkeit: Y heißt funktional abhängig von X in R wenn es in jedem Zustand von R keine zwei Tupel gibt, die in ihrem Wert unter X, nicht aber unter Y übereinstimmen. Salopp: „Kenne ich X, so kenne ich auch Y.“ voll funktionale Abhängigkeit Y heißt voll funktional abhängig von X in R wenn X minimal ist, also ò XifX: Xi6Y Armstrong Axiome für funktionale Abhängigkeiten X6Y XÀY X6Y v X6Z ⇒ X6(YcZ) X6Y v ZfY ⇒ X6Z X6X X6Y ⇒ (XcZ)6Y X6Y v (YcW) 6Z ⇒ (XcW )6Z mehrwertige Abhängigkeit 64 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme X<<Y Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Normalisierung: Normalformen 1NF — erste Normalform: Normalform Eine Relation ist in 1NF, wenn keine Einschränkungen bezüglich der Abhängigkeiten bestehen (und die Attribute atomare Domänen nach SR1 haben) 2NF — zweite Normalform: Normalform Eine Relation ist in 2NF, wenn jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig 3NF — dritte Normalform: Normalform Eine Relation ist in 3NF, wenn jedes Nichtschlüsselattribut ausschließlich von jedem Schlüsselkandidaten — und dies voll — funktional abhängig ist BCNF — Boye-Codd-Normalform: Normalform Eine Relation ist in BCNF, wenn für jede volle funktionale Abhängigkeit XÀY gilt: X ist Schlüsselkandidat 4NF — vierte Normaform: Normaform Eine Relation ist in 4NF, wenn sie in 3NF ist und außer funktionalen Abhängigkeiten keine mehrwertigen Abhängigkeiten auftreten. 65 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt Sie haben es geschafft … … und kennen sich in der Welt der Informationssysteme aus! Sie kennen: die Grundbegriffe der Kooperation — Kommunikation, Datenhaltung: Informationen, Daten und Signale Protokoll und Dienst; Diensthierarchien Datenhaltungsdienste und den Aufbau eines Datenhaltungssystems die wichtigen Paradigmen der Datenhaltung Kongruenz, Konsistenz, Persistenz drei Klassen der Konsistenzregeln: Strukturierungsregeln, Sortenregeln und Konsistenzbedingungen und ihre Durchsetzung im relationalen Datenmodell: Tupel, Attribute mit Domänen, Relationen Schlüssel, Atomizität, Transaktionsprozeduren ein typisches relationales Datenbanksystem: MS ACCESS Tabellen, Felder, Datentypen, Indizes Formulare und Abfragen (Selektion und Projektion) ein anschauliches Verfahren zum Entwurf relationaler Datenmodelle, das Entity-Relationship-Modell oder Gegenstand-Beziehungs-Modell: Gegenstandstypen, Attribute, Beziehungstypen, Rollen mit Kardinalitäten Klassen von Beziehungen mit unterschiedlicher Komplexität: zweistellige und mehrstellige Beziehungen, 1:1-, 1:n- und m:n-Beziehungen Regeln zur Umsetzung eines konzeptuellen in ein logisches Datenmodell, das nicht nur informationserhaltend, abhängigkeitsbewahrend und weitgehend redundanzfrei ist, sondern Sie auch möglichst effektiv bei der Sicherung der Konsistenz Ihrer Datenbasis unterstützt. 66 14.01.2011 Grundlagen der Informationstechnik Kap. 6 u. 7: Datenhaltungssysteme Dipl.-Inform. Torsten E. Neck Fortbildungszentrum für Technik und Umwelt