1. AufgabenBlatt - oth

Werbung
Datenbanken
5. Aufgabenblatt
1. Aufgabe
Für einen Industriebetrieb sind folgende Entitätstypen gegeben: Teil (Artikel), Lager, Lieferant, Produkt,
Arbeitnehmer und Abteilung. Es können außerdem folgende Beziehungstypen unterschieden werden:
a) Abteilung / Arbeitnehmer-Beziehungstyp (Eins-zu-viele-Beziehung)
b) Produkt / Arbeitnehmer-Beziehungstyp (Eins-zu-viele-Beziehung)
c) Produkt / Manager-Beziehungstyp (identifiziert die Manager der Produkte und ist eine Eins-zu-vieleBeziehung)
d) Produkt / Lieferant / Teil-Beziehungstyp (Viele-zu-viele-zu-viele-Dreifach-Beziehung)
e) Potentieller-Lieferant / Teil-Beziehungstyp (Liste potentieller Lieferanten eines bestimmten Teils, Viele-zuviele-Beziehung)
f) Inventar-Beziehungstyp (hält fest, welches Teil in welchem Lager gelagert wird und ist eine Viele-zu-vieleBeziehung)
Gib das zugehörige ERM-Diagramm an!
2. Aufgabe
Stelle in einem ERM-Diagramm eine „Heirat“ als Beziehungstyp zwischen Person-Entitäten dar.
3. Aufgabe
Kann die folgende Dreifachbeziehung Teil / Lieferant / Produkt durch drei binäre Beziehungen, nämlich Teil /
Lieferant, Lieferant / Produkt und Produkt / Teil ersetzt werden.
a) Zeige mit Hilfe der Daten in der folgenden Tabelle, die die Dreifachbeziehung umfaßt, ob die Zerlegung in
binäre Relationen möglich ist oder nicht.
Teil-Nr.
25
25
10
10
17
17
Lieferant-Nr.
4
5
4
4
2
5
Produkt-Nr.
1
2
2
3
1
1
b) Erstelle die unter a) vorliegende Tabelle mit Hilfe von SQL-Anweisungen und führe anschließend die
Zerlegung in binäre Relationen ebenfalls mit Hilfe von SQL-Anweisungen durch.
c) Führe die unter b) erhaltenen Relationen wieder mit Hilfe von SQL-Anweisungen zusammen. Erfüllt die
Zusammenführung die Forderung nach Verbundtreue.
4. Aufgabe
In einem Unternehmen sind Sachbearbeiter und Mitarbeiter angestellt. Die Sachbearbeiter betreuen die Kunden
und nehmen Aufträge entgegen. Der jeweilige Auftrag wird an eine Abteilung weitergeleitet, aus dem Auftrag
wird ein Projekt. An dem Projekt arbeiten mehrere Mitarbeiter. Zur Verwaltung von Informationen und
Ereignisse soll eine Datenbank erstellt werden.
a) Beschreibe Entity-Typen, Attribute und Schlüsselfelder bzw. die Beziehungstypen in textueller Form
(angelehnt an die Mengenbeschreibung der Mathematik, d.h. zu Begin steht der Entitätstyp und in Klammern die
Attribute, wobei der oder die Primärschlüssel unterstrichen sind; bei Beziehungstyp steht zu Beginn der Name
1
Datenbanken
des Beziehungstyps, dann in Klammern die Entitätstypen und Beziehungsattribute). Die folgende Darstellung
beschreibt die Elemente, die in die Datenbank aufgenommen werden sollen:
- Ein Angestellter hat „personalNr,name,gebdat,plz,wohnort, strasse, gehalt,beruf“
- Eine Abteilung hat „abtNr,abtname
- Ein Kunde hat „knNr,name,plz,wohnort,strasse“
- Ein Auftrag umfasst „auftragsNr,auftrDat,beschreib,fertigDat“
- Ein Projekt umfasst „projNr,name,begDatum,endDatum“
Diese Entitätstypen stehen in Beziehung zueinander. Mögliche Beziehungstypen sind:
is_a(angestellter,mitarbeiter,sachbearbeiter)1
arbeitet_in(abteilung,sachbearbeiter,position)
betreut(kunde,auftrag)
erteilt(kunde,auftrag)
berabeitet_als(auftrag,projekt)2
arbeitet_an(mitarbeiter,projekt,anz,prozAnteil)3
betreut(abteilung,projekt)
Nicht durch Fußnoten ausgewiesene Beziehungen sind 1:n-Beziehungen
b) Erstelle ein grafisches ER-Modell für die Kunden- und Projektverwaltung
5. Aufgabe
Gib die ERM-Diagramme mit (min,max)-Notation für folgende Sachverhalte an.
1. Jeder Angestellte arbeitet in genau einer Abteilung, Abteilungen haben 5 bis 15 Mitarbeiter
2. Jeder Angestellte arbeitet an keinem, einem oder mehreren Objekten, Projekte werden von einem oder
mehreren Angestellten bearbeitet
6. Aufgabe
Beim konzeptionellen Entwurf hat man gewisse Freiheitsgrade hinsichtlich der Modellierung der realen Welt.
1. Man kann ternäre Beziehungen in binäre Beziehungen transformieren
Betrachte in dem folgenden ERM-Diagramm die Beziehung „prüfen“ und führe eine Transformation in binäre
Beziehungen durch.
1
Generalisierung
1:1-Beziehung
3 m:n-Beziehung
2
2
Datenbanken
Studenten
Note
N
M
prüfen
Vorlesungen
1
Professoren
2. Man hat manchmal die Wahl, ein Konzept der realen Welt als Beziehung oder als Entity-Typ zu modellieren
Betrachte in dem unter 1. gegebenen Entity-Diagramm die Beziehung „prüfen“ und entwickle daraus (im
Gegensatz dazu) einen eigenständigen Entity-Typ „Prüfungen“. Gib dafür das ERM-Diagramm an.
3. Vergleiche die beiden Modellierungen und erläutere die Vor- und Nachteile der beiden Modellierungen
3
Datenbanken
Lösungen
1. Aufgabe
Abteilung
Lieferant
1
N
Abteilung/
Arbeitnehmer
M
Produkt/
Lieferant/
Teil
N
potentieller Lief.
N
N
Arbeitnehmer
Teil
1
M
Produkt/
Manager
v
N
Produkt/
Arbeitnehmer
v
N
N
M
Teilestrukur
M
vv
Inventar
M
N
Produkt
Lager
2. Aufgabe
Person
1
1
Heirat
3. Aufgabe
a)
Informationen über drei Zweifachbeziehungen: Teil/Lieferant, Lieferant/Produkt, Produkt/Teil
Teil-Nr.
25
25
10
17
17
Lief-Nr.
4
5
4
2
5
Lief-Nr.
4
4
4
5
5
2
Prod-Nr.
1
2
3
1
2
1
4
Datenbanken
Prod-Nr.
1
1
2
2
3
Teil-Nr.
25
17
10
25
10
Informationen, die aus den drei Zweifachbeziehungen gewonnen werden können.
Teil-Nr.
25
25
25
25
10
10
17
17
Lieferant-Nr.
4
4
5
5
4
4
2
5
Produkt-Nr.
1
2
1
2
2
3
1
1
b) vgl. ueb53.sql
4. Aufgabe
a)
Entitätstypen
angestellter(personalNr,name,gebdat,plz,wohnort, strasse, gehalt,beruf)
mitarbeiter(personalNr,name,gebdat,plz,wohnort, strasse, gehalt,beruf)4
sachbearbeiter((personalNr,name,gebdat,plz,wohnort, strasse, gehalt,beruf)
abteilung(abtNr,abtname)
kunde(knNr,name,plz,wohnort,strasse)(
auftrag(auftragsNr,auftrDat,beschreib,fertigDat)
projekt(projNr,name,begDatum,endDatum)
Beziehungstypen
is-a(angestellter,mitarbeiter, sachbearbeiter)
arbeitet_in(abteilung,sachbearbeiter,position)
arbeitet_in(abteilung,mitarbeiter,position)
betreut(kunde,auftrag)
erteilt(kunde,auftrag)
bearbeitet_als(auftrag,projekt)
arbeitet_an(mitarbeiter,projekt,anz,prozAnteil)
betreut(abteilung,projekt)
b) ERM-Diagramm
4
Die Attribute werden vom Entitätstyp angestellter vererbt
5
Datenbanken
plz
gebDatum
wohnort
angestellter
strasse
name
gehalt
persNr
is_a
beruf
sachbearbeiter
1
mitarbeiter
n
betreut
n
arbeitet_in
n
arbeitet_in
kNr
name
n
position
1
kunde
position
1
abteilung
wohnort
1
als
strasse
abtNr
abtName
1
arbeitet_an
erteilt
betreut
prozAnt
auftrNr
0,n
0,n
aufttrDat
1
auftrag
beschreibung
m
1
bearbeitet_als
fertigDat
projekt
projNr
begDatum
endDatum
5. Aufgabe
Gib die ERM-Diagramme mit (min,max)-Notation für folgende Sachverhalte an.
1. Jeder Angestellte arbeitet in genau einer Abteilung, Abteilungen haben 5 bis 15 Mitarbeiter
(1,1)
angestellte
(5,15)
arbeitet_in
abteilung
2. Jeder Angestellte arbeitet an keinem, einem oder mehreren Objekten, Projekte werden von einem oder
mehreren Angestellten bearbeitet
(0,*)
angestellte
(1,*)
arbeitet_in
projekt
6. Aufgabe
Beim konzeptionellen Entwurf hat man gewisse Freiheitsgrade hinsichtlich der Modellierung der realen Welt.
6
Datenbanken
1. Man kann ternäre Beziehungen in binäre Beziehungen transformieren
Betrachte in dem folgenden ERM-Diagramm die Beziehung „prüfen“ und führe eine Transformation in binäre
Beziehungen durch.
Studenten
Note
N
M
prüfen
Vorlesungen
1
Professoren
Studenten
Note
N
N
über
prüft
M
M
Vorlesungen
Professoren
2. Man hat manchmal die Wahl, ein Konzept der realen Welt als Beziehung oder als Entity-Typ zu modellieren
Betrachte in dem unter 1. gegebenen Entity-Diagramm die Beziehung „prüfen“ und entwickle daraus (im
Gegensatz dazu) einen eigenständigen Entity-Typ „Prüfungen“. Gib dafür das ERM-Diagramm an.
Studenten
1
ablegen
N
Prüfungen
N
N
Note
umfasst
abhalten
1
1
Vorlesungen
Professoren
3. Vergleiche die beiden Modellierungen und erläutere die Vor- und Nachteile der beiden Modellierungen
Es ist möglich, dass in der Modellierung mittels Entitytyp eine Prüfung existiert, zu der z.B. noch kein Prüfer
feststeht. Die Kombination „Student – Vorlesung“ bestimmt nicht mehr den Professor. Manche Aspekte der
Modellierung lassen sich über den Entitätstyp Prüfung allerdings auch genauer erfassen. So ist bspw. spezifiziert,
dass pro Prüfung genau eine Vorleung geprüft wird.
7
Herunterladen