Datenbanken: Grundlagen und Überblick...

64
DB1-12 02-Informations-Modellierung Mario Neugebauer Datenbanken Datenbanken: Grundlagen und Überblick Informationsmodellierung DB-Entwicklung ERM Relationales Datenbankmodell Datenbanksprache SQL Anwendungsprogrammierung 1

Transcript of Datenbanken: Grundlagen und Überblick...

Page 1: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Datenbanken

Datenbanken: Grundlagen und Überblick

Informationsmodellierung

DB-Entwicklung

ERM

Relationales Datenbankmodell

Datenbanksprache SQL

Anwendungsprogrammierung

1

Page 2: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Informationsmodellierung

… beschäftigt sich mit der (formalen) Beschreibung der Datenbestände eines

Anwendungsbereiches:

Kerntätigkeiten des Datenbankentwurfs

hat entscheidenden Einfluss auf die Qualität einer Datenbank.

Als Beschreibungsformalismus werden verwendet:

Entity-Relationship-Modell (ERM)

UML-Standard (Unified Modelling Language)

Datenbankentwurf

… Hauptanliegen ist die Definition der Struktur der DB.

Drei-Ebenen-Architektur

Entwicklung von den externen, konzeptuellen und internen Schemas.

Definition des logischen Schema

2

Page 3: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

abhängig von

DM des DBMS

DB-Entwicklung: Phasenmodell

an DB-Entwicklung angepasstes Phasenmodells des SW-Engineering

3

DBMS- unabhängig

DBMS- abhängig

1

konzept. Schema

log. Schema

DDL / VDL

phys. Schema

ERM-Abbildung auf rel. DBMS •Transformationsregeln •Normalisierung

Informationsanforderungen Bearbeitungsanforderungen

Beschreibung durch ein abstraktes Datenmodell z.B. ERM

logisches Schema wird mit der DB-Sprache des DBMS beschrieben

durch Speicherstruktursprache Definition der Speicherstruktur und der Zugriffspfade

2

3

4

6

5

Datendefinition

logischer Entwurf

konzeptioneller Entwurf

Anforderungs-Analyse

physischer Entwurf

Implementierung Wartung

VDL – View Definition Language

Page 4: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Anforderungsanalyse

Erfassung, Analyse und Klassifizierung der Nutzer-Anforderungen an die DB

Beschreibung erfolgt in Form von Texten, Tabellen etc.

Informationsanforderungen - wird bei der Datenanalyse erfasst

beschreiben die Daten unabhängig von der Auswertung

Objekte

Attribute

Beziehungen

Verarbeitungsanforderungen – wird bei der Funktionsanalyse erfasst

beschreiben die Auswertungs- und Bearbeitungserfordernisse an die DB

die Art der auszuführenden Bearbeitungsprozesse

Anfragen, Updates, Berichtsgenerierung

Quantitäten und Prioritäten der auszuführenden Bearbeitungsprozesse

Häufigkeit einzelner Prozesse, Datenvolumen, Zuwachsraten, Effizienz

Sicherheits- und Schutzanforderungen

Zugriffsrechte

4

Page 5: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Konzeptioneller Entwurf /1

ausgehend von der Anforderungsanalyse erfolgt die formale und

strukturelle Beschreibung aller relevanten Objekte und deren

Beziehungen untereinander

erfolgt unabhängig vom zukünftigen DBMS und Anwendung

Vorgehensweise

abstraktes Datenmodell als Beschreibungsformalismus z.B. ERM

Überführung der Benutzer-Anforderungen in formale

Schemabeschreibung

Ergebnis

Konzeptuelles Schema z.B. ER-Diagramm

5

Angestellter

AngName AngNr

Abteilung

AbtName AbtNr

arbeitet

Page 6: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Globales Schema • redundanzfrei • widerspruchsfrei • Bereinigung von

• Synonyme* • Homonyme* • Hyponyme • Hyperonyme

Welt

MiniWelt

DB-Entwicklung: Konzeptioneller Entwurf /2

6

Weltsicht 1

Weltsicht 3

Weltsicht 2 Konsolidierung

Page 7: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Sicht 3

Sicht 2

Sicht 1

DB-Entwicklung: Konsolidierung - Drei Sichten für Uni-DB

Sicht 1:

Erstellung von Dokumenten

als Prüfungsleistung

Sicht 2:

Bibliotheksverwaltung

Sicht 3:

Buchempfehlung für

Vorlesungen

Konsolidierung:

Dokument

BA-Arbeit, Dissertation, …

Angestellter

Professor, Assistent

Uni-Mitglied

Student, Professor, Assistent

7

Student BA-Arbeit erstellt

Assistent Dissertation

Professor bewertet

betreut

verfasst

Bibliothek Dokument besitzt

UniMitglied

entleiht leitet

Vorlesung

Buch empfiehlt

Dozent

Page 8: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Konsolidierung

Student

BA-Arbeit

erstellt

Assistent

Dissertation

Professor

bewertet

betreut

Ist_Autor

Bibliothek Dokument besitzt

UniMitglied

entleiht

leitet

Vorlesung

Buch

empfiehlt

Person

schreibt

8

Page 9: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Konzeptioneller Entwurf /3

Bei der Analyse der Sichten werden Konflikte zwischen Sichten,

Redundanzen und Widersprüchlichkeiten (Inkonsistenzen) aufgedeckt.

Namenskonflikt

bei unbeabsichtigten Namensüberschneidungen oder -abweichungen

durch die Verwendung von Synonymen* und Homonymen*

Typkonflikt

verschiedene Datenstrukturen werden für das gleiche Element modelliert

basierend auf unterschiedlichen Aussagen von Benutzern zum UoD

Bedingungskonflikt

Verwendung unterschiedlicher Integritätsbedingungen in Sichten

Strukturkonflikt

Verwendung von verschiedenen Modellierungsvarianten zu einem

Sachverhalt.

9

Page 10: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Logischer Entwurf

Das logische Schema beschreibt die Datenstrukturen des UoD in

Abhängigkeit vom konkreten Datenbankmodell des DBMS.

Entscheidung für ein DBMS (relationales, objektorientiertes, .. DBMS)

Sprachmittel

Datenmodell des ausgewählten DBMS, z.B. relationales Datenmodell

Vorgehensweise

Transformation

Abbildung des konzeptuellen Schemas auf ein logisches Schema

ERM-Abbildung auf relationales Datenmodell durch

Transformationsregeln

Nachbearbeitung

Kriterien: Minimierung der Redundanz, schneller Zugriff auf die Daten, …

RDM: Normalisierung

Ergebnis

Logisches Schema, z.B. Sammlung von Relationsschemata

10

Page 11: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

TelNr

DB-Entwicklung: Logischer Entwurf

11

Angestellter

AngName AngNr

Abteilung

AbtName AbtNr

arbeitet

regelbasierte Transformation

Normalisierung

AngNr AngName TelNr 1 Meier 202 1 Meier 404 2 Müller 200 3 Muster 101

AngNr AngName TelNr 1 Meier 202; 404 2 Müller 200 3 Muster 101; 303

Angestellter

Angestellter

Page 12: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Datendefinition

… es werden die entwickelten logischen und externen Schemata mit Hilfe der

Datenbanksprache des DBMS beschrieben.

Für die Beschreibung:

des logischen Schemas DDL - Data Definition Language

der Sichten VDL - View Definition Language

Integritätsbedingungen werden mit den Mitteln der Datenbanksprache

beschrieben (z.B. RDM: Primär- und Fremdschlüsselbeziehungen)

das Ergebnis sind die DB-Schemata für das konkrete DBMS

12

Page 13: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

DB-Entwicklung: Physischer Entwurf

… Entwicklung des internen Schemas mit Hilfe der

Speicherstruktursprache (Storage Structure Language, SSL) des DBMS.

Definition:

der geeigneten Speicherform

möglicher Zugriffspfade für die Daten

z. B. effektiver Zugriff auf Werte genutzter Attribute über Indexdateien

Ziel:

Gewährleistung einer möglichst hohen Leistungsfähigkeit des DBS

geringe Zugriffszeiten

hohe Durchsatzraten von Transaktionen

optimale Ausnutzung des Speicherplatzes

13

Page 14: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Datenbanken

Datenbanken: Grundlagen und Überblick

Informationsmodellierung

DB-Entwicklung

ERM

Relationales Datenbankmodell

Datenbanksprache SQL

Anwendungsprogrammierung

14

Page 15: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Semantische* Datenmodelle

… beschreiben einen Weltausschnitt

als Menge von Gegenständen (Objekten),

zwischen denen wohldefinierte Beziehungen existieren und

die durch Eigenschaften charakterisiert werden.

Chen-Notation

von Peter Chen, dem Entwickler

der ER-Diagramme, 1976

Min-Max-Notation

von Jean-Raymond Abrial, 1974

15

Min-Max

Chen

Geburtsort Person Ort 1 n

Geburtsort Person Ort (0,*) (1,1)

Page 16: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM - Entity-Relationship-Modells

Gegenstands-Beziehungs-Modell (GBM) Peter P. Chen 1976

Publikation: The entity-relationship model – towards a unified view of data

wird eingesetzt in der Phase des konzeptionellen Entwurfs zur:

Erstellung des konzeptuellen Schemas

Modellierung von Benutzersichten

Warum ist ERM Standard?

Beschränkung auf einfache und wenige Basiskonzepte

Orientierung auf gute grafische Repräsentation

umfassende Anwendbarkeit des Datenmodells

Unabhängigkeit von konkreten DM der DBMS

EERM - Extended ERM

Erweiterung des ERM z.B. Präzisierung der Modellelemente

16

Page 17: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Grundkonzept

Entity-Relationship-Modell ERM:

wird durch die bei der datenorientierten Modellierung eines

Weltausschnitts entstehenden Objekttypen und Beziehungen gebildet

Entity-Relationship-Diagramm ER-Diagramm:

grafische Repräsentation des ERM

Grund-Modellelemente des klassischen ERM sind:

Entität, Entitätstyp

Beziehung (oder Relationen), Beziehungstyp

Attribut

Wert und Wertebereich

Rolle

Die Entitätstypen Student und Professor werden über den Beziehungstyp

prüft assoziiert.

17

Professor Student prüft

Page 18: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Entität / Entitätstyp

Entität / Entity*

… ist ein abgrenzbarer, selbstständiger Gegenstand, ein Begriff, ein Ding,

eine Person oder ein Ereignis des zu modellierenden Weltausschnitts.

besitzen eindeutigen Identifikationsschlüssel

im ER-Diagramm nicht dargestellt, nur der Entitätstyp

Entitätstyp / Entitätsmenge

Abstrahierung gleichartiger Entitäten

Kriterium der Gleichartigkeit von Entitäten sind deren Eigenschaften

grafische Darstellung: Rechteck

Bsp.:

Die Student-Objekte werden zum Entitätstyp „Student“ zusammengefasst,

da sie über gemeinsame Eigenschaften (z.B. StudNr) verfügen.

18

Student

Page 19: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Entität / Entitätstyp

Entität:

Student Schulze, wohnhaft in der Enders-Straße 13 in Berlin

Entitätsmenge:

Menge aller Studenten mit den Merkmalen:

StudNr, SemGruNr, Name, Straße und Ort

Identifikationsschlüssel:

StudNr als künstlicher Schlüssel

19

Student

Page 20: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Attribut /1

… werden Entitätstypen und Beziehungstypen als Eigenschaften zugeordnet.

erlauben deren Charakterisierung, Identifizierung und Klassifizierung.

textliche Notation: Entitätstyp (Attribut1: Datentyp1,... , Attributn: Datentypn)

grafische Darstellung: Ellipse

Attributwert / Wert / Datum*

Datenwert, welcher das zugehörige Attribut eines Datensatzes beschreibt

z.B. Attribut: Name / Attributwert: Müller

Wertebereich / Domäne* dom(a)

Menge der zulässigen Attributwerte

z.B. Attribut: Wochentag Attributwerte: Mo, Di, …

Null-Wert

Attribut hat keinen Attributwert also nicht den Wert „0“

zur Vereinfachung können Attribute aus dem ERM ausgeblendet werden.

20

Wohnort Student

Page 21: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Attribut /2

Bsp.: Attribute des:

Entitätstyps

Student

StudName, Wohnort, PLZ

Student (StudName: char(25), Wohnort: char(25), PLZ: char(6))

Professor

Raum, Rang

Beziehungstyps:

prüft:

Note, Termin

21

Professor Student prüft

Termin Note Rang Raum PLZ Wohnort StudNamen

Page 22: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Typen von Attributen /1

einfach und zusammengesetzt

einfach

bestehen aus einem grundlegendem Attribut

zusammengesetzt composite attribute

lassen sich in kleinere Teile zerlegen, die grundlegendere Attribute mit

unabhängigeren Bedeutung darstellen

Bsp.: Attribut: Adresse

Adresse [Strasse: char (30), WohnOrt: char (30), PLZ: char (5) ]

22

Student Nachname

Adresse

Strasse WohnOrt PLZ

StudNr

Vornamen

Erw. ERM

StudName

Titel

Page 23: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Typen von Attributen /2

elementare (einwertige) und mehrwertige

elementar

Attribut hat nur einen Wert für eine Entität zu einem Zeitpunkt

Bsp.: Name

mehrwertig multivalued attribute

Attribut hat mehrere Werte für eine Entität zu einem Zeitpunkt

grafische Darstellung: Doppellinie um Ellipse

Bsp.:

erlernterBeruf,

TelefonNr eines Studenten

23

Erw. ERM

Telefon# Student

StudNr

Page 24: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Typen von Attributen /3

primär (gespeichert) und abgeleitet

primär

die Werte der Attribute werden abgespeichert

abgeleitet derived attribute

wenn der Attributwert mittels Berechnung erzeugt wird

grafische Darstellung: Gestrichelte Ellipse

Bsp.: Attribut Alter

24

Erw. ERM

Alter

Student GebTag

StudNr

Bruttopreis

Artikel Preis

Bruttopreis := Preis * 1,19

Alter := Jahr(heute()) – Jahr(GebTag)

ArtNr

Page 25: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Typen von Attributen /4

optional

Attribut existiert für Entitätstyp bzw. Beziehungstyp,

muss aber nicht für jede Entität / jede Beziehung existieren

25

Erw. ERM

eMail Student

Page 26: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Schlüssel /1

Welche Attribut-Kombinationen können einen Datensatz eindeutig

identifizieren?

26

Genauer bei RDMS

KuNr Nachname Vorname Geschl Ort Strasse TelefonNr

1 Tholler Andreas m Aue Belaweg 03771 1234

2 Falk Bernhardt m Aue Am Hügel 03771 2345

3 Franz Helga w Aue Bahnhofstr. 03771 4567

4 Sündbald Hannelore w Zwickau Luisenstr. 0375 5678

5 Wal Birgit w Zwickau Löh str. 0375 6789

6 Tisch Hartmut m Gera Agathastr. 0365 7890

KuNr Nachname Vorname Geschl Ort Strasse TelefonNr

1 Tholler Andreas m Aue Belaweg 03771 1234

2 Falk Bernhardt m Aue Am Hügel 03771 2345

3 Franz Helga w Aue Bahnhofstr. 03771 4567

4 Sündbald Hannelore w Zwickau Luisenstr. 0375 5678

5 Wal Birgit w Zwickau Löhstr. 0375 6789

6 Tisch Hartmut m Gera Agathastr. 0365 7890

Page 27: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Schlüssel /2

Superschlüssel / Schlüssel

… ist eine beliebige Menge von Attributen, die ein Tupel einer Relation

eindeutig identifiziert.

Schlüsselkandidaten

… ist ein Superschlüssel mit einer minimalen Menge von

Schlüsselattributen

minimale Menge bedeutet, daß aus dieser Menge kein Attribut

weggelassen werden kann, ohne die Superschlüsseleigenschaft der

Menge zu zerstören.

Primärschlüssel

... ist ein ausgewählter Schlüsselkandidat,

der zur eindeutigen Identifizierung eines

Datensatzes verwendet wird

Nichtschlüsselattribute

alle Attribute die nicht Bestandteil

eines Schlüsselkandidaten sind

27

Nichtschlüsselattribute

Superschlüssel

Schlüsselkandidaten

Primärschlüssel

Menge der Attribute einer Relation

Page 28: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Schlüssel /3

Künstlicher (Primär-)Schlüssel (Ersatzschlüssel Surrogate Key)

Einführung eines künstlichen Schlüsselattributs, wenn:

kein „natürlicher“ Schlüssel vorhanden ist

Schlüsseleigenschaft für Zukunft nicht gesichert sind

„natürlicher“ Schlüssel zu groß ist

kompakte Schlüssel sind erwünscht

Fremdschlüssel

… sind Primärschlüssel einer Tabelle, die in einer andern Tabelle zur

Herstellung von Beziehungen aufgenommen werden

28

Page 29: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Schlüssel /4

... ist ein ausgewählter Schlüsselkandidat, der zur eindeutigen Identifizierung

eines Datensatzes verwendet wird

Eindeutigkeit

wenn die Attributmenge jeden Datensatz der Tabelle eindeutig bestimmt

Minimalität:

wenn keines der Attribute einer Attributmenge weggelassen werden kann,

ohne die Eindeutigkeit aufzugeben

grafische Darstellung: Text-Unterstreichung im Attribut

einfacher und zusammengesetzter Primärschlüssel

29

StudProjekt

StudNr

ProjNr Student StudNr

ERM: Schlüssel /4

Page 30: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Beziehungstypen

Beziehung (relationships)

… ist die logische Verknüpfung von zwei oder mehreren Entitäten

im ER-Diagramm nicht dargestellt nur Beziehungstypen

Beziehungstyp / Beziehungsmenge (relationship set)

… ist die Menge aller Beziehungen zwischen den Entitäten von zwei oder

mehreren Entitätstypen.

grafische Darstellung: Raute

Grad eines Beziehungstyps

Anzahl der teilnehmenden Entitätstypen

zwei binär

drei ternär

n-när mehrwertige / mehrstellige Beziehungen

30

Student Professor prüft

Page 31: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Beziehungstypen

Bsp.:

Beziehung:

Student Schulze arbeitet zu 70% im Projekt Nr. 17

Beziehungsmenge:

Menge aller Mitarbeiter-Projekt-Teilnahmen mit den Merkmalen

StudNr, ProjNr und ProzAnteil

Identifikationsschlüssel:

zusammengesetzter Schlüssel aus StudNr und ProjNr

grafische Darstellung: Ellipse an der Raute

31

Student Projekt Teilnahme

StudNr ProjNr

ProzAnteil StudNr ProjNr

31

Page 32: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Teilnahmebeschränkungen

… spezifizieren, ob eine Entität über einen gegebenen Beziehungstyp mit

einer anderen Entität in Bezug stehen muss oder nicht.

partielle Teilnahme

nicht jede Entität eines Entitätstyps muss mit einer Entität des anderen

Entitätstyps in Bezug stehen

totale Teilnahme - Existenzabhängigkeit

jede Entität des einen Entitätstyps muss mit einer Entität des anderen

Entitätstyps in Bezug stehen

grafische Darstellung:

Doppellinie zwischen dem Entitätstyp und der Beziehung

Bsp.: jeder Raum muss zu einem Gebäude gehören

32

Raum gehört_zu Gebäude

RaumNr GebäudeNr

Page 33: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Schwache Entitäten

… weak entity

wird über den Primärschlüssel einer anderen Entität eindeutig identifiziert

besitzt keinen eigenen Primärschlüssel

bisher behandelte Entitäten starke Entität / Owner Entity

die starke und die schwache Entität stehen in einer 1:n-Beziehung

grafische Darstellung: Doppellinien beim Entitäts- und Beziehungstyp

Bsp.: Jede Entität aus Kind muss an der Beziehung teilnehmen

33

Adresse Alter

Student hat

Vorname KindNr StudName

Kind

StudNr

Partialschlüssel

Page 34: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Rollenmodellierung

Rolle:

ist die Funktion, die jede Entität eines Entitätstyps in einer Beziehung erfüllt

grafische Darstellung:

Beschriftung der Kantenenden des Beziehungstyps im ER-Diagramm

Bsp.:

Beziehung Prüfung zwischen den Objekten Professor und Student

In der Beziehung prüft hat:

das Professor-Objekt zum Studenten-Objekt die Rolle „prüft“

das Studenten-Objekt zum Professor-Objekt die Rolle „wird geprüft“

34

prüft wird geprüft Professor Student prüft

M N

Page 35: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Generalisierung / Spezialisierung

Generalisierung:

Bildung eines allgemeineren Entitätstyps aus "ähnlichen" Entitätstypen

Spezialisierung:

ein Entitätstyp wird als Teilmenge eines anderen Entitätstyps deklariert

Bsp.: verschiedene Bücherarten: Lehrbuch, Journal, Dissertation

besitzen allg. Eigenschaften: Titel, Autor, Verlag, Erscheinungsjahr, ...

spezielle Eigenschaften: Lehrbuch: ISBN; Journal: ISSN

Generalisierung:

Buch ist Oberbegriff für Lehrbuch, Journal, Dissertation

Spezialisierungen:

Lehrbuch, Journal, Dissertation sind Spezialisierungen von Buch

35

Lehrbuch * ISBN

Journal * ISSN

Buch • Titel • Autor • Verlag • Jahr

Page 36: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Generalisierung / Spezialisierung

Buch (BuchNr, Titel, Auto,..)

Lehrbuch (BuchNr, ISBN)

Journal (BuchNr, ISSN)

36

Subtypen

Supertyp

…. Autor Titel

ISBN

Lehrbuch Journal

ISSN

is_a

Buch

BuchNr

Generalisierung Spezialisierung

Page 37: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Generalisierung / Spezialisierung

Supertyp:

generischer Entitätstyp

allgemeine zutreffende Attribute werden zugeordnet

Subtyp:

gleichartige Entitätstypen

besitzen die speziellen Attribute

sind einseitig existenzabhängig vom Supertyp

verbale Beschreibung: is-a / „ist ein“/„kann ein … sein“)

grafisch Darstellung: Dreieck

Bsp.:

Lehrbuch is-a Buch

zur Abfrage der vollständigen Informationen der Entität sind der Subtyp

und der Supertyp einzubeziehen

37

is_a

Page 38: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Aggregation Version A

eine Menge verschiedener Objekte eines Schemas werden zu einem

zusammengesetzten Objekt verdichtet.

Details werden ausgeblendet / Komplexität reduzieren

das aus Teilen gebildete Aggregat wird als Blackbox gesehen und als

Entitätstyp deklariert ( erhält einen Namen)

ev. Verbindung zu anderen Aggregaten oder verbleibendem Schema

Aggregat: das übergeordnet eigenständige Ganze

Komponenten: Teile aus denen sich das Aggregat zusammensetzt

Einzelobjekte (z. B. Auftrag und Auftragsstatus) werden zu dem

eigenständigen Einzelobjekt (z. B. Auftrag) zusammengefasst

38

Auftragsstatus Auftrag

ProdGruppe Artikel

Auftrag

Artikel

Page 39: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Aggregation Version B

unterschiedliche Entitätstypen, die in ihrer Gesamtheit einen strukturierten

Objekttyp bilden, werden einander zugeordnet

ordnet einem übergeordneten Entitätstyp mehrerer untergeordnete

Entitätstypen zu

Bezeichnung: part-of / Teil-von

39

Rohr

Fahrrad

Teil-von Teil-von

Rahmen Rad

Teil-von Teil-von Teil-von Teil-von

Lenker Felge Speiche

Page 40: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

Rohr

Fahrrad

Teil-von Teil-von

Rahmen Rad

Teil-von Teil-von Teil-von Teil-von

Lenker Felge Speiche

Segler Motorrad Automobil

is-a is-a

Unmot.Fahrzeug mot.-Fahrzeug

is-a

Fahrzeug

ERM: Aggregation + Generalisierung

40

Page 41: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Entitätstyp vs. Attribut

Attribute unterscheiden sich von Entitätstypen durch folgende Merkmale:

Entitätstyp

ist eigenständig und besitzt Merkmale

Attribut

ist einem Entitätstyp zugeordnet

wird nur durch seinen Namen und seinen Wertebereich repräsentiert

die Entscheidung zwischen Attribut oder Entitätstyp ist kontextabhängig

Bsp.:

Speicherung einer Adressinformation eines Studenten als Attribute

Speicherung mehrerer Adressinformationen als neue Entität

41

Student Adresse

Strasse

WohnOrt

PLZ

StudNr

Student StudNr

hat Adresse

AdrNr Strasse

Wohnort

PLZ StudName

StudName

Page 42: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Entitätstyp vs. Attribut /2

Mitarbeit eines Angestellten in einem Projekt in einem Zeitraum

Ersetzen der zeitbezogenen Attribute (von, bis) durch die neue Entität

Zeitraum ternäre Beziehung

42

von

Student

StudNr

arbeitet_in Projekt

ProjName StudName bis ProjNr

von

Student arbeitet_in Projekt

ProjName

bis

ProjNr Zeitraum

StudNr StudName

Page 43: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Syntax

Zwei Entitätsmengen dürfen nie direkt nebeneinander liegen

Verbindung nur über eine Beziehungsmenge

Zwei Beziehungsmengen dürfen nie direkt nebeneinander liegen

Verbindung nur über eine Entitätsmenge

Attribute können nur direkt entweder an eine einzige Entitätsmenge oder

eine einzige Beziehungsmenge angehängt werden.

43

Assistenten Professoren

Raum Rang

bei zusammengesetzten Attributen möglich

Student Nachname

Vornamen StudName

Page 44: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM:

Entität:

Attribut:

Attribut mit Primärschlüssel

zusammengesetztes Attribut

mehrwertiges Attribut

abgeleitetes Attribut

Beziehung

schwache Entität:

Teilnahmebeschränkung:

Generalisierung:

Student

StudName

StudNr

Vorlesung

gehört_zu Kind

Raum gehört_zu

StudAlter

StudTelefon#

Ort

PLZ

StudAdresse

is_a

Student

44

Page 45: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Beziehungstypen

Beziehung r

zwischen einzelnen Entitäten ei verschiedener oder gleicher Entitätstypen

Ei

Bsp.:

Angestellter Meier gehört zu Abteilung Forschung

das Buch „Datenbankmodellierung“ ist relevant für Vorlesung

„Grundlagen von Datenbanken“

Beziehungstyp R

Menge aller möglichen Beziehungen zwischen je einer Entität ei der

beteiligten Entitätstypen Ei

R = E1 x E2 x ... x En kartesisches Produkt Bsp.:

prüft = Student x Professor

arbeitet_mit = Student x Projekt

45

Page 46: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Mathematischer Exkurs

Kartesisches Produkt

… zweier Mengen A und B ist die Menge aller geordneten Paare (a,b),

wobei a aus A und b aus B ist Kombination: „Jedes mit jedem“.

A x B := {(a,b) I a A b B}

geschrieben wird es als A x B, gelesen als „A kreuz B“

die Mächtigkeit ist gleich dem Produkt der Mächtigkeit der Einzelmengen

Bsp.:

sei: A = {a,b,c} und B = {x,y}

dann ist: A x B = {(a,x),(a,y), (b,x),(b,y), (c,x),(c,y)}

Mächtigkeit: IA x BI = IAI * IBI 3 * 2 = 6

Relation R

… ist eine Teilmenge des kartesischen Produkts zweier Mengen A und B

R A x B, A x B := {(a,b) I a A b B}

46

Teilmenge

Page 47: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität

… beschreibt die Komplexität oder den Grad einer Beziehung zwischen zwei

Entitätstypen in einem ERM.

mengenmäßige Beschreibung der Beziehungstypen mit:

Chen - Notation / (M:N)-Notation

Min-Max - Notation

47

Page 48: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

Wie viele Entitäten eines Entitätstyps können mit wie vielen Entitäten eines

anderen Entitätstyps maximal in Beziehung stehen?

jede Beziehung wird in zwei gerichtete Teilbeziehungen zerlegt und

getrennt betrachtet.

Quantifizierung von Beziehungstypen: 1:1, 1:N, N:1, M:N

Bsp.: Beziehung „hört" zwischen Student und Vorlesung

Eine Vorlesungen wird von welchen Studenten gehört?

Ein Student hört welche Vorlesungen?

48

hört Student Vorlesung

Page 49: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

1:1 one-to-one

eine Entität ist höchstens einer anderen Entität zugeordnet

jede Entität vom Typ E1 kann eine Beziehung vom Typ R zu

höchstens einer Entität vom Typ E2 haben

jede Entität vom Typ E2 kann eine Beziehung vom Typ R zu

höchstens einer Entität vom Typ E1 haben

Bsp.:

KFZ-Kennzeichen:

ein zugelassenes Fahrzeug hat genau ein KFZ-Kennzeichen.

ein Kennzeichen gehört genau zu einem Fahrzeug.

49

E1 E2 R (e11, e21)

(e12, e22)

(e13, e23)

e11

e12

e13

e21

e22

e23

R E1 E2 1 1

R E1 x E2

Page 50: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

1:n (n:1) one-to-many / many-to-one

einer Entität auf der einen Seite der Beziehung (Master) stehen keine,

eine oder mehrere Entitäten auf der anderen Seite (Detail) gegenüber.

jede Entität vom Typ E1 kann eine Beziehung vom Typ R zu

mehreren Entitäten vom Typ E2 haben (Beschriftung bei E2)

jede Entität vom Typ E2 kann eine Beziehung vom Typ R zu höchstens

einer Entität vom Typ E1 haben (Beschriftung bei E1)

Bsp.:

Familie: Mutter 1:n Kinder

ein Kind hat genau eine leibliche Mutter

eine Mutter kann mehrere Kinder haben

50

R E1 E2 1 n E1 E2 R

R E1 x E2

Page 51: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

n:m many to many

auf beiden Seiten können beliebig viele Entitäten in Beziehung zueinander

stehen.

jede Entität vom Typ E1 kann eine Beziehung vom Typ R zu

mehreren Entitäten vom Typ E2 haben

jede Entität vom Typ E2 kann eine Beziehung vom Typ R zu

mehreren Entitäten vom Typ E1 haben

Bsp.:

Student und Professor: Professor m:n Student

ein Professor unterrichtet mehrere Studenten

ein Student hört Vorlesungen von mehreren Professoren

51

R E1 E2 n m E1 E2 R

R E1 x E2

Page 52: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

Art der Beschriftung:

52

Jede Entität Person kann eine Beziehung vom Typ Geburtsort zu höchstens einer Entität Ort haben Beschriftung bei Ort

Jede Entität Ort kann eine Beziehung vom Typ Geburtsort zu vielen Entitäten Person haben Beschriftung bei Person

Geburtsort Person Ort 1 n

Page 53: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

m:n

n:1

1:1

ERM: Kardinalität: Chen-Notation

53

1 1 Manager

AngName AngNr

Abteilung

AbtName AbtNr Budget

leitet

1 n Angestellter

AngName AngNr Gehalt

Abteilung

AbtName AbtNr Budget seit

arbeitet

n m Angestellter

AngName AngNr Gehalt

Projekt

ProjName ProNr Budget seit

arbeitet

Gehalt Budget seit

Page 54: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Chen-Notation

zwischen den gleichen Entitätstypen können jeweils unterschiedliche

Beziehungstypen definiert werden.

Beziehung: leitet

ein Student leitet beliebig viele Projekte

ein Projekt wird von einem Studenten geleitet

Beziehung: arbeitet

ein Student kann in beliebig vielen Projekten arbeiten

ein Projekt kann von beliebig vielen Studenten bearbeitet werden

54

n m

Student Projekt

arbeitet

leitet n 1

Page 55: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Min-Max-Notation

eine Erweiterung der (1, M, N)-Notation ( bisher verwendet)

Wertebereich wird durch die Einbeziehung des Minimums 0 erweitert

Kardinalitätsangaben:

Intervall vom minimalen bis zum maximalen Wert

Syntax: (min:max)

„*“ : beliebig viele

(1,1): Entität hat zum bestimmten Zeitpunkt genau eine Beziehung

(0, *): Entität kann zu jedem Zeitpunkt beliebig viele Beziehungen

haben; muss aber nicht in einer Beziehung stehen.

meist Beschränkung auf die Fälle: (0,1), (0, *), (1,1), (1, *)

55

Page 56: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: MinMin-Max-Notation

unterscheidet sich von den anderen Notationsformen im Hinblick auf:

Bestimmung der Kardinalität

Ort der Eintragung der Häufigkeitsangaben im ER-Diagramm

Notationen:

Bestimmung der Anzahl der Entität eines Entitätstyps die mit Entitäten des

anderen Entitätstyps in Beziehung stehen

Min-Max-Notation

für jeden an dem Beziehungstyp beteiligten Entitätstyp wird nach der

kleinstmöglichen und größtmöglichen Anzahl der Beziehungen gefragt,

an denen eine Entität des jeweiligen Entitätstyps beteiligt ist.

Ergebnis wird beim Entitätstyp notiert, für den die Frage gestellt wurde.

Bsp. nächste Folie

56

Page 57: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Min-Max-Notation

zahlenmäßige Unterschiede zwischen Min-Max-Notation und allen

anderen Notationen treten erst bei n-nären Beziehungstypen hervor.

Bei binären Beziehungstypen ist der Unterschied lediglich in einer

Vertauschung der Kardinalitätsangaben ersichtlich.

57

Min-Max

Chen

Eine Person ist minimal in einem Ort und maximal auch nur in einem Ort geboren

Ein Ort kann Geburtsort für minimal keine Person und maximal für unendlich viele Personen sein

Jede Entität Person kann eine Beziehung vom Typ Geburtsort zu höchstens einer Entität Ort haben Beschriftung bei Ort

Jede Entität Ort kann eine Beziehung vom Typ Geburtsort zu vielen Entitäten Person haben Beschriftung bei Person

Geburtsort Person Ort 1 n

Geburtsort Person Ort Geburtsort von (0,*) (1,1) geboren in

Page 58: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Min-Max-Notation

Bsp.:

Artikel:

ein Artikel muss nicht unbedingt geliefert werden, da er auch

eigenproduziert sein kann Minimum 0

ein Artikel kann von vielen Lieferanten stammen: Maximum *

(0 ; *)

Lieferant:

ein Lieferant muss minimal einen Artikel liefern, um in die DB

aufgenommen zu werden Minimum 1

maximal wird ein Lieferant viele Artikel liefern: Maximum *

(1 ; *)

58

liefert stammt von Artikel Lieferant Lieferung

(0;*) (1;*)

Page 59: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Kardinalität: Min-Max-Notation

Darstellung der Existenzabhängigkeiten

… eine Entität ist von der Existenz einer anderen Entität abhängig

ausgedrückt über das „Minimum 1“

einseitig: „Minimum 1“ liegt einmal im Beziehungstyp vor

einer Vorlesung kann Online-Forum zugeordnet sein

OF gehört zu einer Vorlesung

einseitig existenzabhängig von LV.

wechselseitig: „Minimum 1“ liegt mehrmals im Beziehungstyp vor

Rechnung hat mindestens eine Rechnungsposition

eine Rechnungsposition ist genau einer Rechnung zugeordnet.

wechselseitige Abhängigkeit von Rechnung und Rechnungsposition

59

liefert stammt von Vorlesung Onlineforum Vorlesungs-Forum

(0;*) (1;1)

gehört zu hat Rechnung RechnungsPos enthält

(1;*) (1;1)

Page 60: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Rekursive + n-näre Beziehungstypen

… bisher Betrachtung von Beziehungen meist zwischen Entitäten zweier

unterschiedlicher Entitätstypen.

binäre Beziehungstypen

weitere Konstellationen:

rekursive Beziehungstypen

n-äre Beziehungstypen

60

Page 61: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Rekursive Beziehungstypen

auch als reflexiv (selbstbezügliche) bezeichnet

… setzt Entitäten eines Entitätstyps in Beziehung.

Entitäten eines Entitätstyps können in einem rekursiven Beziehungstyp

zwei unterschiedliche Rollen einnehmen.

zur korrekten Quantifizierung ist die Rollenmodellierung notwendig

Bsp.: ein Bauteil kann sich aus anderen Bauteilen zusammensetzen

rekursiver Beziehungstyp auf den Entitätstyp Bauteil

Bauteil kann verschiedene Rollen annehmen:

"geht ein in“ Unterteil sowie

„besteht aus“ Oberteil

Komplexitätsgrad für beide Rollen ist (0, *)

61

Unterteil

Oberteil

Bauteil Teilstruktur

(0;*)

(0;*)

Rad

Teil-von Teil-von

Felge Speiche

Page 62: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: Rekursive Beziehungstypen

Bsp.: Vater / Kind

Ziel und Quelle sind der gleiche Entitätstyp

62

ist Kind von

ist Vater von

Person

(0;1)

(0;*)

eigentlich (1;1), um aber eine endliche Anzahl von Beziehungen zu ermöglichen, ist das Minimum 0 zwingend

Page 63: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: n-äre Beziehungstypen

… Entitäten von mehr als zwei Entitätstypen werden in Beziehung gesetzt.

Bsp.:

Artikel werden von Lieferanten für Projekte geliefert.

Komplexitätsgrade:

Ein Lieferant muss mindestens einen Artikel liefern: (1,*).

Ein Artikel

muss nicht für ein Projekt (Eigenproduktion),

kann aber für viele Projekte geliefert werden: (0,*).

Ein Projekt verwendet mindestens einen Artikel: (1,*).

63

liefert stammt von Artikel Lieferant

(0;*) (1;*)

Projekt

(1;*)

Page 64: Datenbanken: Grundlagen und Überblick ...whz-cms-10.zw.fh-zwickau.de/man14dny/DB-I/DB_020_InfMod_KG_73… · logischer Entwurf konzeptioneller Entwurf ... Konzeptioneller Entwurf

DB1-12 02-Informations-Modellierung Mario Neugebauer

ERM: n-äre Beziehungstypen /2

64

Weitere Beispiele: