• Keine Ergebnisse gefunden

FB Automatisierung und Informatik

N/A
N/A
Protected

Academic year: 2021

Aktie "FB Automatisierung und Informatik"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

(3)

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

(4)

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

(5)

9 FB Automatisierung und Informatik: Datenbanksysteme I

Produkt

M herstellen N

Arbeitnehmer

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

(6)

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)

(7)

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?

(8)

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

(9)

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

(10)

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!)

(11)

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

(12)

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

(13)

25 FB Automatisierung und Informatik: Datenbanksysteme I

ER-Notationen im Vergleich

n:m-Beziehung

„Krähenfuß“-Notation

(14)

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?

(15)

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?

Referenzen

ÄHNLICHE DOKUMENTE

Erstellen Sie eine Funktion in Oracle, F_Upper, die den Parameter in Großbuchstaben umwandeln. CREATE OR REPLACE FUNCTION F_Upper( name in char) RETURN

public int getColumnCount() { return AnzCols; } public int getRowCount() { return AnzRows; } public Object getValueAt(int row, int column) {.

writeInt (Schreiben einer 32-Bit Vorzeichenzahl) writeLong (Schreiben einer 64-Bit Vorzeichenzahl) writeShort (Schreiben einer 16-Bit Vorzeichenzahl) writeUTF (Schreiben eines

Im View kann die URL über eine Schnittstelle anhand der ID abgerufen werden oder die ID tritt als Platzhalter für die URL ein, zum Beispiel innerhalb eines Templates oder in Form

Was passiert, wenn JUnit die Tests dieser Klasse ausführt. • Das Test-Framework durchsucht die Testklasse mit Hilfe des Reflection API nach öffentlichen Methoden, die

Statt alle möglichen Eigenschaften in einer komplexen, anpassbaren Klasse vorherzusehen, wird eine einfache Klasse definiert und diese inkrementell mit.

Abs Returns the absolute value of a specified number. Acos Returns the angle whose cosine is the specified number. Asin Returns the angle whose sine is the specified number. Atan

FB Automatisierung und Informatik: Windows Presentation Foundation.. Window