Wichtigste Themen hier: Datenbanksysteme: Entwurf DB Entwurf ist in der Regel eingebettet in ein größeres Projekt: siehe Informationssysteme Die Daten dienen einem Zweck und sind dennoch universell nutzbar: langfristige Perspektive Verstehen des zu modellierenden Weltausschnitts (Miniwelt, Diskursbereich, domain of discours) absolut notwendig Kommunikation mit Anwendern: gemeinsames Ergebnis erzielen und untereinander abstimmen: Verständnis der (realen) Miniwelt Einfachheit und Angemessenheit sind wichtige Kriterien für das Entwurfsergebnis Ergebnis: abgestimmteskonzeptionelles Schema Prof. Jasper: Datenbanksysteme: VL 3 1
Datenbanksysteme: Entwurf: Vorgehen (Wdh.) Miniwelti Funktionale Anforderungen Anforderungen erheben und analysieren Daten Anforderungen Funktionale Analyse Spezifikation von Transaktionen Konzeptionelles Design Konzeptionelles Schema Logisches Design (Abb. des Datenmodells) Programm Design Konzeptionelles Schema Physisches Design Implementierung Internes Schema Anwendungsprogramme Prof. Jasper: Datenbanksysteme: VL 3 2
Datenbanksysteme: Entwurf: Beispiel Beispiel: Datenbankentwurf für eine mittelständische Firma (stark vereinfacht): Beschreibung der Miniwelt Eine Firma X (FX) bestehe aus Abteilungen, die jeweils durch hihren Namen, eine Nummer und die Leiterin/den Leiter gekennzeichnet sind. Leiterin/Leiter können sich im Laufe der Zeit ändern. Eine Abteilung kann auf mehrere Standorte von FX verteilt sein. Jede Abteilung führt Projekte durch, die jeweils einen eindeutigen Namen haben und an genau einem Standort etabliert sind. Zu jedem Angestellten wird Adresse, Geburtstag, Geschlecht, Steuernummer und das jeweils aktuelle Gehalt verwaltet, wobei gilt: Jeder Angestellter ist einer Abteilung aber evtl. mehreren Projekten zugeordnet. Projektaktivitäten werden stundengenau verrechnet. Jeder Angestellte hat einen direkten Vorgesetzten, FX hat mehrere C_Os. Jeder Angestellte kann mehrere Mitarbeiter haben: Abteilungsweise werden Mitarbeiter Vorgesetzten Beziehungen verwaltet. Prof. Jasper: Datenbanksysteme: VL 3 3
Datenbanksysteme: Entwurf: ER Modell Typische Sprache für die konzeptionelle Modellierung ist das Entity Relationship Modell Entitäten: Dinge (Objekte) der Miniwelt, i zu denen Dt Daten verwaltet t werden sollen Beispiele: Die Mitarbeiterin Maria Maier, die Forschungsabteilung, Entwicklungsprojekt Z Phone Attribute sind Eigenschaften zur Beschreibung von Entitäten Beispiele: Name, Adresse, Geburtsdatum, Geschlecht, Steuernummer (etin) sind Attribute von Angestellten Jede Entität hat in der Regel für jedes Attribut einen Wert Beispiel: Angestellten Entität mit Name = 'Maria Maier', Adresse = 'Hauptstraße 24, 09321 Heimatort', Geburtsdatum = '24.07.1968 ', Geschlecht = 'W', etin = 'MREIMRIA68J24Y'. Für jedes Attribut ist die Menge der erlaubten Werte als Datentyp (siehe Programmierung) festgelegt: Domäne Beispiele: Integer, Zeichenkette Länge 30 (CHAR(30)),( Datum, Prof. Jasper: Datenbanksysteme: VL 3 4
Datenbanksysteme: Entwurf: Attribute und Entitäten Attribute: Die zulässigen Werte für Attribute sind aus Wertebereichen zu wählen die entweder Einfach ( z. B. Geschlecht oder Matrikelnummer) Zusammengesetzt (z. B. Adresse: PLZ, Ort, Straße, Hausnummer) Mehrwertig (z. B. Geschwister oder Lehrveranstaltungen zu einem Modul) Schachtelungen sind erlaubt Entitäten: Entitäten mit identischen Attributen werden zu Entitätstypen zusammengefasst, Beispiel Student oder Modul (Achtung: dieses ist die wissenschaftliche Denkweise; in der Praxis würde man sich darüber wundern, wenn z. B. Studenten unterschiedliche Attribute haben sollten) Zu einem Entitätstyp gehört eine Entitätsmenge in der jeweiligen Datenbank, die (den aktuellen Zustand) alle(r) zugehörigen Entitäten umfasst. Ein Attribut, das eine Entität in einer Entitätsmenge eindeutig durch seinen Werte identifiziert heißt Schlüsselattribut (s. u. Primärschlüsselkandidat); es können mehrere Shlü Schlüsselattribute lttibt für eine Entitätsmenge Prof. Jasper: Datenbanksysteme: VL 3 5
Datenbanksysteme: Entwurf: Graphische Darstellung Entitätstypen werden als Rechtecke dargestellt (oft identifiziert ifi i man damit auch eine Entität oder die Entitätsmenge) und im Singular beschriftet. Attribute werden als Ovale dargestellt und mit dem Attributnamen beschriftet; das Attribut wird mit dem Rechteck des zugehörigen Entitätstypen verbunden. Die Komponenten zusammengesetzter Attribute werden ebenfalls als Ovale dargestellt und mit diesem Verbunden. Mengenwertige Attribute t werden doppelt umrandet; Schlüsselattribut l t werden unterstrichen Beispiel (kurzer Auszug) Vorname Nachname PLZ Matrikelnummer Student Adresse Wohnort Straße Hobbies Hausnummer Prof. Jasper: Datenbanksysteme: VL 3 6
Datenbanksysteme: Entwurf: Beispiel Prof. Jasper: Datenbanksysteme: VL 3 7
Datenbanksysteme: Entwurf: Beziehungen Das Beispiel zeigt, dass nicht alle Anforderungen dargestellt werden können. Daher gibt es das auch noch das Konzept der Beziehungen Das ER Modell dllhat damit drei zentrale Konzepte Entitäten (einschließlich Typen und Mengen) Attribute (einfache, zusammengesetzte, mehrwertige) Beziehungen (Relationship) (ebenfalls einschließlich Typen und Mengen) Beziehungen (Relationships) Eine Beziehung (Relationship) verknüpft zwei oder mehrere Entitäten (z. B. Angestellter X arbeitet an Projekt Y) Beziehungen gleicht Typs werden zu Relationsshiptypes zusammengefasst (z. B. der Beziehungstyp arbeitet an zwischen Angestellter und Projekt) Die Stelligkeit eines Beziehungstyps ist durch die Anzahl der beteiligten Entitätstypen (Mehrfachnennung möglich) definiert (z. B. ist arbeitet an zweistellig) Prof. Jasper: Datenbanksysteme: VL 3 8
Datenbanksysteme: Entwurf: Ausprägungen g zweistelliger Beziehungen Beispiel: arbeitet an als 1:M Beispiel: arbeitet an als M:M Prof. Jasper: Datenbanksysteme: VL 3 9
Datenbanksysteme: Entwurf: Graphische Darstellung Beziehungstypen (Relationshipsets) werden als Rauten dargestellt und mit den beteiligten Entitätstypen (Rechtecken) (evtl. mehrfach) verbunden. Angestellter arbeitet an Projekt Mhf Mehrfache h (auch rekursive) )Beteiligungen einer Entität werden durch Rollenbe zeichnungen unterschieden. Angestellter Vorgesetzter Mitarbeiter mitarbeiter von Zwischen zwei Entitätstypen können mehrere Beziehungstypen exisitieren. Prof. Jasper: Datenbanksysteme: VL 3 10
Datenbanksysteme: Entwurf: Beispiel Prof. Jasper: Datenbanksysteme: VL 3 11
Datenbanksysteme: Entwurf: weitere Aspekte Weiche Entitätstypen (weak entities) Die zugehörigen Entitäten haben kein Schlüsselattribut Es muss ein identifizierender i d Beziehungstyp zu einem Entitätstyp t geben, der nicht weich ist Weiche Entitäten werden identifiziert über die eindeutig zugeordnete nicht weiche Entität und einen partiellen Schlüssel (z. B. Vorname von Kindern) Constraints auf Beziehungstypen Beziehungen zwischen den Entitäten können noch genauer hinsichtlich der Anzahl der eingehenden Entitäten untersucht werden: Im ER Modell: Assoziationstypen: c 0 oder 1 Objekt der Entitätsmenge kann die Beziehung eingehen 1 genau ein Objekt der Entitätsmenge geht die Beziehung ein mc 0, 1 oder mehrere Objekte der Entitätsmenge gehen die Beziehung ein m 1 oder mehrere Objekte der Entitätsmenge gehen die Beziehung ein Prof. Jasper: Datenbanksysteme: VL 3 12
Datenbanksysteme: Entwurf: weitere Aspekte Es werden nur 2 stellige Beziehungsmengen betrachtet: Es existieren 16 Beziehungstypen Unterscheidung in die Klassen hierarchisch, h konditionell und netzwerkartig: ti 1 c m mc 1 1 1 1 c 1 m 1 mc 1 hierarchisch c 1 c c c c m c mc c c konditionell m 1 m c m m m m mc m m netzwerkartig mc 1 mc c mc m mc mc mc Prof. Jasper: Datenbanksysteme: VL 3 13
Datenbanksysteme: Entwurf: weitere Aspekte Beziehungstypen können ebenfalls Attribute besitzen Beziehungstypen können eine mehr als zweifache Stelligkeit besitzen; diese werden aber typischerweise in einem weiteren Schritt in zweistellige Beziehungstypen umgewandelt, wobei ein Entitätstyp entsteht, der den ursprünglichen n stelligen (n > 2) Beziehungstypen ersetzt. Mutter Vater Mutter Vater 1 1 1 1 Eltern 1 1 geht über in m Eltern Kind 1 m Kind Prof. Jasper: Datenbanksysteme: VL 3 14