Rekursive Beziehungen - WWW-Docs for TU

Werbung
Rekursive Beziehungen
Baugruppe
Baugruppen_Nr *
Bezeichnung
Baugruppe
200
300
400
?
Bezeichnung
E-Motor
Getriebe
Mahlwerk
• Kupplung
als Baugruppe,
Stückliste für
Kupplung
beinhaltet
Einzelteil
ET_Nr
500
600
Bezeichnung
Kupplung
Lager
BG_Nr
300
300
ET_Nr *
Bezeichnung
BG_Nr **
• Getriebe
als Bestandteil einer
Anlage
Rekursive Beziehung (1:n)
Baugruppe
Baugruppen_Nr *
Bezeichnung
ET_Nr**
rekursive Verknüpfung:
Verknüpfung mit sich selbst
B augruppen N r
100
200
300
400
500
600
700
800
900
B e z e ic h n u n g
F ö rd e rb a n d
E - M o to r
G e tr ie b e
F ö r d e r e in r ic h tu n g
S tr o m a b n e h m e r
S ta to r
S c h le i f b ü r s te n
B ü r s te n h a lte r
B e f e s tig u n g s s c h r a u b e n
E in z e lt e i l
100
100
100
200
200
500
500
500
Rekursive Beziehung (1:n)
Vorgesetzter
Vorgesetzter-Nr
Name
Titel
Abteilung
Telefon
1
hat
n
Angestellter
Angestellter-Nr
Name
Titel
Abteilung
Telefon
Mitarbeiter
Mitarbeiter-Nr
Name
Titel
Abteilung
Telefon
Vorgesetzter-Nr
Rekursive Beziehung (n:m)
Vorgesetzter
Mitarbeiter
Vorgesetzter
Mitarbeiter_1
Vorgesetzter-Nr
Name
Titel
Abteilung
Telefon
Mitarbeiter -Nr
Name
Titel
Abteilung
Telefon
Mitarbeiter -Nr
Mitarbeiter -Nr
Mitarbeiter -Nr
Name
Titel
Abteilung
Telefon
Angestellter
Mitarbeiter
Vorgesetzter
Angestellter-Nr
Name
Titel
Abteilung
Telefon
Mitarbeiter -Nr
Name
Titel
Abteilung
Telefon
Vorgesetzter-Nr
Unterstellter-Nr
n
hat
m
Mitarbeiter_1
Mitarbeiter -Nr
Name
Titel
Abteilung
Telefon
Rekursive Beziehung SQL (Bsp. 1)
Bezeichnung des Bauteils und Verwendung in der Baugruppe
select ET.Bezeichnung as Einzelteil, BG.Bezeichnung as Baugruppe
from Teile BG, Teile ET, Zuordnung Z
where BG.Teil_ID=Z.BG_ID
and ET.Teil_ID=Z.ET_ID
order by ET.Bezeichnung
Bezeichnung der Baugruppe und Auflistung der verwendeten Einzelteile
select BG.Bezeichnung as Baugruppe, ET.Bezeichnung as Einzelteil
from Teile BG, Teile ET, Zuordnung Z
where BG.Teil_ID=Z.BG_ID
and ET.Teil_ID=Z.ET_ID
Anzahl der verschiedenen Einzelteile je Baugruppe
Gesamtanzahl der Einzelteile je Baugruppe
select count(*)
from Zuordnung
group by BG_ID
select sum(Anzahl)
from Zuordnung
group by BG_ID
select Bezeichnung as Baugruppe, count(*)
from Teile T, Zuordnung Z
where T.Teil_ID=Z.BG_ID
group by Bezeichnung
select Bezeichnung as Baugruppe, sum(Anzahl)
from Teile T, Zuordnung Z
where T.Teil_ID=Z.BG_ID
group by Bezeichnung
Rekursive Beziehung SQL (Bsp 2)
Name des Mitarbeiter und dessen Vorgesetzten (1:n)
select M.Name as Mitarbeiter, V.Name as Vorgesetzter
from Mitarbeiter M, Mitarbeiter V
where M.V_ID=V.M_ID
Name des Mitarbeiter und dessen Vorgesetzten (n:m)
select M.Name as Mitarbeiter, V.Name as Vorgesetzter
from Mitarbeiter M, Mitarbeiter V, Vorgesetzter ZO
where M.M_ID=ZO.U_ID
and V.M_ID=ZO.V_ID
Name des Vorgesetzten und dessen Unterstellte (n:m)
select V.Name as Vorgesetzter, M.Name as Mitarbeiter
from Mitarbeiter M, Mitarbeiter V, Vorgesetzter ZO
where M.M_ID=ZO.V_ID
and V.M_ID=ZO.U_ID
Anzahl der Mitarbeiter je Vorgesetzter
select Name as Vorgesetzter, count(*)
from Mitarbeiter M, Vorgesetzter V
where M.M_ID=V.V_ID
group by Name
Herunterladen