Einführung in Datenbanken Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie 2. Datenbankentwurf / Datenmodelle 3. ER-Modell / ER-Diagramm 3. Normalisierung 4. SQL-Sprache 2 1
Grundlagen der DBMS Kapitel ER - Modell / ER - Diagramm 3 Konzeptionelles Datenmodell Entity-Relationship-Modell P.P. Chen (1976) basiert auf mengentheoretischen Aussagen grafische Notation Entitätstypen, Entitäten, Relationen 4 2
Das ER-Modell zur konzeptionellen Daten-Modellierung wird am einfachsten in Form eines ER-Diagrammes aufgestellt. Folgende grafischen Symbole werden dabei verwendet: Entitätstyp/Entität Attribut Beziehung Mengenbeziehung 1 : 1 1 : n m : n 5 Entitätstypen Eine Entität ist ein Objekt, das eindeutig identifiziert werden kann Entitäten können in verschiedene Entitätstypen klassifiziert werden (z.b. Entitätsyp Wetterstation, Entität Wetterstation Brocken ) es liegt in der Verantwortung des Datenbankdesigners, welche Entitäten er in das konzeptionelle Datenmodell aufnimmt, und welche nicht 6 3
Entitätstypen Wetterstation Betreuer 7 Beziehungstypen Zwischen Entitäten bestehen i.d.r. Beziehungen, z.b. hat eine Wetterstation einen Betreuer Eine Wetterstation hat mehrere Messfühler: Temperatur, Sonneneintrahlung, Luftfeuchte, Bodentemperatur Beziehungen können in unterschiedlicher Weise verbal ausgedrückt werden, Beispiele Arbeitnehmer arbeitet in Betrieb Person 1 heiratet Person 2 Wetterstation liefert Messwerte Produkt Produkt/Arbeitnehmer Arbeitnehmer 8 4
Beziehungstypen Produkt M herstellen N Arbeitnehmer 9 Attribute Entitäten und Beziehungen haben Eigenschaften, die durch Paare von Attributen und Werten ausgedrückt werden Beispiel: das Alter des Arbeitnehmers X ist 24 (Alter = Attribut, 24 Wert) Attribute werden durch Ellipsen dargestellt 10 5
Name Entitätstyp Hochschule Harz Pers.-Nr. Mitarbeiter Adresse Arbeitet für Adresse Telefon 1 : n - Beziehung Ein Mitarbeiter arbeitet für eine HS. Eine HS hat mehrere Mitarbeiter. Beziehungstyp Standorte Attribute 11 Alternative Darstellungsformen für die Mengenbeziehungen 1) 2) R R R 1 : 1 1 : n m : n 1 1 R 1 * R * * R 12 6
Grober, unvollständiger Entwurf Name Name Angestellter hat Hochschule Pers.-Nr. hat hat Adresse Fachbereiche hat Straße Name Ort 13 Übung (2er-Gruppen) ER-Diagramm für eine Fluggesellschaft: Entitäten? Attribute? Beziehungen? Mengenbeziehungen? 14 7
ER-Diagramm Kunde leiht Darlehen Name Nr. Kunde leiht Darlehen ID Höhe 15 Entitätsschlüssel (1) Beim Datenbankentwurf existieren die Entitäten und Beziehungen zunächst in den Köpfen der Fachleute und des Datenbankdesigners. Sie können identifiziert werden, indem man sie benennt oder auf sie zeigt. Für eine Datenbank bedarf es eines Mechanismus, der die Identifikation von Entitäten zu ermöglichen zur Identifikation werden Attribut-Werte-Paare genutzt 16 8
Entitätsschlüssel (2) Es werden bestimmte Attribute ausgewählt, die eine eindeutige Identifikation von Entitäten ermöglichen Beispiel: das Attribut Name wird ausgewählt, um Arbeitnehmer in einer Personalverwaltungs-Datenbank zu identifizieren in einem größeren Unternehmen wird man das Attribut Personalnummer als entsprechendes Attribut auswählen (warum?) 17 Entitätsschlüssel (3) Die Attribute, die der Identifikation von Entitäten dienen, heißen Entitätsschlüssel, meistens kurz als Schlüssel bezeichnet Primärschlüssel, Fremdschlüssel, zusammengesetzte Schlüssel Schlüsselattribute werden im ER-Diagramm unterstrichen 18 9
weak entity sets /Schlüsselabhängigkeit Es gibt Fälle, in denen ein Entität nicht genügend Attribute aufweist, um einen Primärschlüssel zu generieren (sie kann nicht eindeutig durch eigene Attribute identifiziert werden (Chen & Knöll, 1991): eine solche Entität wird als weich bezeichnet ( weak entity set ), bzw. man spricht von Schlüsselabhängigkeit Beispiel: eine Straße ist nur eindeutig innerhalb einer Stadt, eine Stadt nur innerhalb eines Kreises, etc.. Um die Adresse eines Ortes zu identifizieren, müssen Stadt, Kreis, etc. spezifiziert werden Eine Entität mit Primärschlüssel ist dementsprechend eine harte ( starke ) Entität ( strong entity set ) 19 Generalisierung Zusammenfassung/Aggregation von Entitäten zu higher level - Entitäten Beispiel: Entität 1: Kunde mit den Attributen Name, Straße, Stadt, Kundennummer Entität 2: Mitarbeiter mit den Attributen Name, Straße, Stadt, Personalnummer, Gehalt zwischen beiden Entitäten bestehen Ähnlichkeiten (die sich durch gleiche Attribute ausdrücken) diese Ähnlichkeiten können im ER-Diagramm durch Generalisierung ausgedrückt werden (Beispiel folgt!) 20 10
Spezialisierung Entitäten können Untergruppen enthalten, die bestimmte gemeinsame Entitäten aufweisen, jedoch auch gewisse Unterschiede Beispiel: Entität 1: Person mit den Attributen Name, Straße, Stadt eine Person kann klassifiziert werden, z. B. in Kunde oder Mitarbeiter Kunde und Mitarbeiter werden mittels Attributen beschrieben. Dabei sind alle Attribute, die zur Person gehören enthalten sowie zusätzliche, die den Kunden bzw. den Mitarbeiter näher beschreiben (z. B. hat der Kunde eine Kundennummer und der Mitarbeiter eine Personalnummer und ein Gehalt derartige Sachverhalte werden im ER-Diagramm durch Spezialisierung ausgedrückt 21 Name Spezialisierung und Generalisierung Kunde Straße Person Ist ein ( is a ) Mitarbeiter Ist ein ( is a ) Stadt Telefon Direktor Sekretär Techniker Unternehmen Vorgesetzter Abteilung Abteilung 22 11
Erweiterte ER-Notation Rechtecke Entitätstypen Ellipsen Attribute Rauten Beziehungstypen Linien Verbindungen zwischen Attributen und Entitätstypen sowie Entitäten und Beziehungstypen Dreiecke Generalisierung/Spezialisierung Doppelte Ellipsen Attribute mit Multiwerten Gestrichelte Ellipsen (ab), hergeleitete Attribute Doppelte Linien total participation : ein Entitätstyp muß mindestens in einem Beziehungstyp einer Menge von Beziehungstypen enthalten sein Doppelte Rechtecke weakentitysets 23 ER-Notationen im Vergleich 1:1-Beziehung 1:n-Beziehung 24 12
ER-Notationen im Vergleich n:m-beziehung 25 Krähenfuß -Notation 27 13
Zusammenfassung: ER-Diagramme Entwurf des Datenbankschemas grafische Darstellung der logischen Struktur einer Datenbank einfach, klar ( qualities that may well account in large part for the widespread use of the ER-model, Silberschatz et al. 2002) konzeptionelles Datenmodell, Umsetzung in logisches Datenmodell einfach relationale Datenmodellierung 28 Zusammenfassung: ER-Diagramme Entwurf (Design) erfordert Entscheidungen des Modellierers: welche Entitäten sollen Berücksichtigung finden? soll ein Objekt als Entität oder als Attribut repräsentiert werden? sind weiche ( weak ) Entitäten bzw. Schlüsselabhängigkeiten vorhanden/notwendig? Generalisierung/Spezialisierung? welche Schlüsselkandidaten gibt es? Welche Attribute sind optional, welches sind Pflichtattribute? 29 14
Übung (2er-Gruppen) ER-Diagramm für Ihren Arbeitsplatz: Entitäten? Attribute? Beziehungen? Mengenbeziehungen? 30 Übung (2er-Gruppen) Sitzplatz-Reservierung in der Eisenbahn: (Jeder Zug hat nur ein Waggon, nur eine Klasse) Entitäten? Attribute? Beziehungen? Mengenbeziehungen? 31 15