ClaudeGable
Neuer Benutzer
- Beiträge
- 4
Hallo,
ich habe bisher folgendes Datenbankschema mit dem zugehörigen Tabellen definiert:
Nun meine erste Frage: Ist dies (syntaktisch) korrekt?
Meine zweite Frage: Für den nächsten Teil der Aufgabe sollen 4 Transaktionen spezifiziert werden - unter der Annahme, dass SQLJ zur Verfügung steht, also IF/ELSE-Anweisungen genutzt werden können.
Die Transaktionen lauten folgendermaßen:
Da ich in Java nicht so bewandert bin, stehe ich nun erst mal auf dem Schlauch und hoffe, dass mir hier im Forum auf die Sprünge geholfen werden kann.
Danke und viele Grüße
ich habe bisher folgendes Datenbankschema mit dem zugehörigen Tabellen definiert:
CREATE SCHEMA BamMolk;
CREATE TABLE “BamMolk”.Lieferant(
LiefNr INTEGER PRIMARY KEY IS NOT NULL,
Name VARCHAR (50)
);
CREATE TABLE “BamMolk”.Artikel(
ArtNr INTEGER PRIMARY KEY IS NOT NULL,
Bezeich VARCHAR (50)
);
CREATE TABLE “BamMolk”.Lager(
LagNr PRIMARY KEY IS NOT NULL,
Lagerort VARCHAR (50)
);
CREATE TABLE “BamMolk”.ArtLiefLag(
LiefNr INTEGER IS NOT NULL,
ArtNr INTEGER IS NOT NULL,
LagNr INTEGER IS NOT NULL,
PRIMARY KEY (LiefNr, ArtNr, LagNr),
FOREIGN KEY (LiefNr) REFERENCES Lieferant (LiefNr) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (ArtNr) REFERENCES Artikel (ArtNr) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (LagNr) REFERENCES Lager (LagNr) ON DELETE CASCADE ON UPDATE CASCADE,
);
CREATE TABLE “BamMolk”.Lieferant(
LiefNr INTEGER PRIMARY KEY IS NOT NULL,
Name VARCHAR (50)
);
CREATE TABLE “BamMolk”.Artikel(
ArtNr INTEGER PRIMARY KEY IS NOT NULL,
Bezeich VARCHAR (50)
);
CREATE TABLE “BamMolk”.Lager(
LagNr PRIMARY KEY IS NOT NULL,
Lagerort VARCHAR (50)
);
CREATE TABLE “BamMolk”.ArtLiefLag(
LiefNr INTEGER IS NOT NULL,
ArtNr INTEGER IS NOT NULL,
LagNr INTEGER IS NOT NULL,
PRIMARY KEY (LiefNr, ArtNr, LagNr),
FOREIGN KEY (LiefNr) REFERENCES Lieferant (LiefNr) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (ArtNr) REFERENCES Artikel (ArtNr) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (LagNr) REFERENCES Lager (LagNr) ON DELETE CASCADE ON UPDATE CASCADE,
);
Nun meine erste Frage: Ist dies (syntaktisch) korrekt?
Meine zweite Frage: Für den nächsten Teil der Aufgabe sollen 4 Transaktionen spezifiziert werden - unter der Annahme, dass SQLJ zur Verfügung steht, also IF/ELSE-Anweisungen genutzt werden können.
Die Transaktionen lauten folgendermaßen:
- Es soll ein neuer Artikel Frankenkäse in das Sortiment aufgenommen werden, der von einem in der Datenbank gespeicherten Lieferanten Huberhof stammt und am bereits vorhandenen Lager Bamberg-Hafen geführt wird.
- Es soll ein neuer Artikel Der herzhafte Jura in das Sortiment aufgenommen werden, der von einem bislang nicht in der Datenbank gespeicherten Lieferanten Molkerei Rennsteig stammt und am neuen Lager Bamberg-Süd geführt wird.
- Für den Frankenkäse soll der Lieferant Huberhof gegen den bereits bekannten Lieferanten Molkereigenossenschaft AG getauscht werden.
- Die Datenbank soll bereinigt werden. Dazu sollen alle Lieferanten gelöscht werden, die derzeit in keiner Lieferbeziehung stehen.
Danke und viele Grüße