View
221
Download
0
Category
Preview:
Citation preview
DB1-12 02-Informations-Modellierung Mario Neugebauer
Datenbanken
Datenbanken: Grundlagen und Überblick
Informationsmodellierung
DB-Entwicklung
ERM
Relationales Datenbankmodell
Datenbanksprache SQL
Anwendungsprogrammierung
1
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
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
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
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
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
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
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
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
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
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
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
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
DB1-12 02-Informations-Modellierung Mario Neugebauer
Datenbanken
Datenbanken: Grundlagen und Überblick
Informationsmodellierung
DB-Entwicklung
ERM
Relationales Datenbankmodell
Datenbanksprache SQL
Anwendungsprogrammierung
14
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;*)
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)
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
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
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
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;*)
DB1-12 02-Informations-Modellierung Mario Neugebauer
ERM: n-äre Beziehungstypen /2
64
Weitere Beispiele:
Recommended