1 FB Automatisierung und Informatik: Datenbanksysteme I
Einführung
Einführung in Datenbanken in Datenbanken
Dipl.-Inf. Michael Wilhelm
Hochschule Harz
FB Automatisierung und Informatik
mwilhelm@hs-harz.de
Raum 2.202
Tel. 03943 / 659 338
Inhalt
1. Grundlegende Begriffe der Datenbanktechnologie 2. Datenbankentwurf / Datenmodelle
3. ER-Modell / ER-Diagramm 3. Normalisierung
4. SQL-Sprache
3 FB Automatisierung und Informatik: Datenbanksysteme I
Grundlagen der DBMS
Kapitel ER - Modell / ER - Diagramm
Konzeptionelles Datenmodell
Entity-Relationship-Modell
P.P. Chen (1976)
basiert auf mengentheoretischen Aussagen
grafische Notation
–
Entitätstypen, Entitäten, Relationen
5 FB Automatisierung und Informatik: Datenbanksysteme I
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
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
7 FB Automatisierung und Informatik: Datenbanksysteme I
Wetterstation Betreuer
Entitätstypen
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
9 FB Automatisierung und Informatik: Datenbanksysteme I
Produkt
M herstellen NArbeitnehmer
Beziehungstypen
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
11 FB Automatisierung und Informatik: Datenbanksysteme I
Mitarbeiter
Hochschule Harz Name
Pers.-Nr.
Adresse
Telefon
Adresse Standorte
Arbeitet für
Beziehungstyp 1 : n - Beziehung Entitätstyp
Attribute
Ein Mitarbeiter arbeitet für eine HS.
Eine HS hat mehrere Mitarbeiter.
Alternative Darstellungsformen für die Mengenbeziehungen
1 : 1 1 : n m : n
R
R R
1 R 1
1 R *
* R *
1) 2)
13 FB Automatisierung und Informatik: Datenbanksysteme I
Angestellter Hochschule
Name
Pers.-Nr.
Name
Fachbereiche Name
Adresse
Ort
Straße ha t
ha t
ha t
ha t
Grober, unvollständiger Entwurf
Übung (2er-Gruppen)
ER-Diagramm für eine Fluggesellschaft:
Entitäten?
Attribute?
Beziehungen?
Mengenbeziehungen?
15 FB Automatisierung und Informatik: Datenbanksysteme I
Kunde Darlehen
Name
ID
Nr.
Höhe le ih t
ER-Diagramm „Kunde leiht Darlehen“
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
17 FB Automatisierung und Informatik: Datenbanksysteme I
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?)
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
19 FB Automatisierung und Informatik: Datenbanksysteme I
„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“)
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!)
21 FB Automatisierung und Informatik: Datenbanksysteme I
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
Person
Kunde Name
Straße
Stadt Telefon
Ist ein („is
a“)
Mitarbeiter
Direktor Sekretär Techniker
Ist ein („is a“)
Spezialisierung
und
Generalisierung
23 FB Automatisierung und Informatik: Datenbanksysteme I
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
„weak entity sets“
ER-Notationen im Vergleich
1:1-Beziehung
1:n-Beziehung
25 FB Automatisierung und Informatik: Datenbanksysteme I
ER-Notationen im Vergleich
n:m-Beziehung
„Krähenfuß“-Notation
28 FB Automatisierung und Informatik: Datenbanksysteme I
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
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?
30 FB Automatisierung und Informatik: Datenbanksysteme I
Übung (2er-Gruppen)
ER-Diagramm für Ihren Arbeitsplatz:
Entitäten?
Attribute?
Beziehungen?
Mengenbeziehungen?
Übung (2er-Gruppen)
Sitzplatz-Reservierung in der Eisenbahn:
(Jeder Zug hat nur ein Waggon, nur eine Klasse)
Entitäten?
Attribute?
Beziehungen?
Mengenbeziehungen?