Ich muss zur Zeit ein Projekt anfertigen, die da lautet:
Spedition hat lkws + sprinter, lkw brauch Führerscheinklasse3 und Sprinter nur (d.h. mit 3 auch fahrbar) Klasse 2. Es gibt 20 Fahrer (16 á Klasse2, 4 á Klasse3)
Ich soll nun sicherstellen, dass diese Fahrer das richtige Fahrzeug fahren.
Vorweg is erklärt dass ich eine Einsatztabelle erstellen muss wo Datum,Fahrzeug und Fahrer enthalten sind. Desweiteren muss ich 4 StoredProcs erstellen wozu ich am ende nochmal kommen werde.
Zunächst mal das mit der Führerscheinklasse.... ich habe nun 3 Tabellen erzeugt:
t_einsatz (Id(int),fahrer(int),fahrzeug(int),datum)
t_fahrer (id(int),name(varchar(30)),fsklasse(int))
t_fahrzeug (id(int),typ(varchar(30)),fsklasse(int))
foreign keys sind von t_einsatz zu den id's der beiden anderen tabellen gesetzt. sprich "fahrer" zu "t_fahrer.id"
soweit so gut.... nun war ich am überlegen wie ich das hinkriege dass die passende fsklasse zu dem fahrzeug passt... ich dachte hierbei an das check constraint...wobei ich feststellen musste, dass man dies nur auf eine tabelle anwenden kann... nun ist meine frage ob ich spalten erzeugen muss (in t_einsatz) die einmal die FSklasse der fahrer anzeigt und einma die der fahrzeuge...(kann man überhaupt verknüpfen ?) oder ob es sonst eine lösung hierfür gibt?
soo komm ich zu den storedprocs...
die ersten 3 sind ziemlich ähnlich:
p_fahrzeug soll für jedes Fahrzeug die Einsätze (datum/fahrer) ausgeben
P_fahrer soll für jeden Fahrer die Einsätze ausgeben und
p_datum soll für jedes Datum die EInsätze ausgeben
hierbei bin ich auf eine lösung gestoßen, die jedoch für alle 3 der selbe ist:
begin
for
select fahrzeug, fahrer, datum
from t_einsatz a
into :FAHRZEUG, :FAHRER, ATUM
do
begin
suspend;
end
end
nun ist meine frage hierzu, kann man zB die Fahrzeuge so Gruppieren dass jedes Fahrzeug zB da nur einma steht und die dazugehörigen Einsätze aufgelistet sind, oder ist das "wirklich" die gesucht lösung?!
der letzte storedproc lautet: p_frei was für ein bestimmtes Datum die freien Einsätze ausgibt
-für die StoredProcs sind auch sql befehle anzugeben (diese sind aber einfach aus dem storedproc zu entnehmen oder irre ich mich da?)
ich hoffe um eine baldige Lösung da ich selbst nicht mehr soviel zeit habe und auch durchs endlose googlen nicht mehr weiter komme... achja, ich arbeite mit IbExpert!
mfg viewL
Spedition hat lkws + sprinter, lkw brauch Führerscheinklasse3 und Sprinter nur (d.h. mit 3 auch fahrbar) Klasse 2. Es gibt 20 Fahrer (16 á Klasse2, 4 á Klasse3)
Ich soll nun sicherstellen, dass diese Fahrer das richtige Fahrzeug fahren.
Vorweg is erklärt dass ich eine Einsatztabelle erstellen muss wo Datum,Fahrzeug und Fahrer enthalten sind. Desweiteren muss ich 4 StoredProcs erstellen wozu ich am ende nochmal kommen werde.
Zunächst mal das mit der Führerscheinklasse.... ich habe nun 3 Tabellen erzeugt:
t_einsatz (Id(int),fahrer(int),fahrzeug(int),datum)
t_fahrer (id(int),name(varchar(30)),fsklasse(int))
t_fahrzeug (id(int),typ(varchar(30)),fsklasse(int))
foreign keys sind von t_einsatz zu den id's der beiden anderen tabellen gesetzt. sprich "fahrer" zu "t_fahrer.id"
soweit so gut.... nun war ich am überlegen wie ich das hinkriege dass die passende fsklasse zu dem fahrzeug passt... ich dachte hierbei an das check constraint...wobei ich feststellen musste, dass man dies nur auf eine tabelle anwenden kann... nun ist meine frage ob ich spalten erzeugen muss (in t_einsatz) die einmal die FSklasse der fahrer anzeigt und einma die der fahrzeuge...(kann man überhaupt verknüpfen ?) oder ob es sonst eine lösung hierfür gibt?
soo komm ich zu den storedprocs...
die ersten 3 sind ziemlich ähnlich:
p_fahrzeug soll für jedes Fahrzeug die Einsätze (datum/fahrer) ausgeben
P_fahrer soll für jeden Fahrer die Einsätze ausgeben und
p_datum soll für jedes Datum die EInsätze ausgeben
hierbei bin ich auf eine lösung gestoßen, die jedoch für alle 3 der selbe ist:
begin
for
select fahrzeug, fahrer, datum
from t_einsatz a
into :FAHRZEUG, :FAHRER, ATUM
do
begin
suspend;
end
end
nun ist meine frage hierzu, kann man zB die Fahrzeuge so Gruppieren dass jedes Fahrzeug zB da nur einma steht und die dazugehörigen Einsätze aufgelistet sind, oder ist das "wirklich" die gesucht lösung?!
der letzte storedproc lautet: p_frei was für ein bestimmtes Datum die freien Einsätze ausgibt
-für die StoredProcs sind auch sql befehle anzugeben (diese sind aber einfach aus dem storedproc zu entnehmen oder irre ich mich da?)
ich hoffe um eine baldige Lösung da ich selbst nicht mehr soviel zeit habe und auch durchs endlose googlen nicht mehr weiter komme... achja, ich arbeite mit IbExpert!
mfg viewL
Comment