Problemstellung: Wir müssen für die Schule folgende Datenbank erstellen. Nur enthält die Datenbank noch logische Fehler bzw. Objekte stimmen nicht.
Die Aufgabenstellung lautet:
Die Firma Hit möchte ihre Artikel und Bestellungen verwalten.
Code:
CREATE
TABLE Adresse
(
PLZ NUMBER (5) NOT NULL,
Ort VARCHAR2 (24 CHAR) NOT NULL ,
Strasse VARCHAR2 (24 CHAR) NOT NULL ,
Hausnummer NUMBER (3) NOT NULL ,
Adresse_ID NUMBER NOT NULL
) ;
ALTER TABLE Adresse ADD CONSTRAINT Adresse_PK PRIMARY KEY ( Adresse_ID ) ;
/*
CREATE TABLE Lieferant_Adresse (
Lieferant_Adresse_Id
Lieferant
Adresse
Art
);
*/
CREATE
TABLE Ansprechpartner
(
Anrede CHAR (4 CHAR) NOT NULL,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Ansprechpartner_ID NUMBER NOT NULL
) ;
ALTER TABLE Ansprechpartner ADD CONSTRAINT Ansprechpartner_PK PRIMARY KEY (
Ansprechpartner_ID ) ;
CREATE
TABLE Artikel
(
Artikelnummer NUMBER (5) NOT NULL ,
Artikelbezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Verkaufspreis NUMBER (8,2) NOT NULL ,
Preiseinheit CHAR (1 CHAR) NOT NULL ,
Minimalbestand NUMBER (6) ,
Maximalbestand NUMBER (6) ,
Artikel_ID NUMBER NOT NULL ,
Artikelgruppe NUMBER NOT NULL
) ;
ALTER TABLE Artikel ADD CONSTRAINT Artikel_PK PRIMARY KEY ( Artikel_ID ) ;
CREATE
TABLE Artikelgruppe
(
Bezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Artikelgruppe_ID NUMBER NOT NULL
) ;
ALTER TABLE Artikelgruppe ADD CONSTRAINT Artikelgruppe_PK PRIMARY KEY (
Artikelgruppe_ID ) ;
CREATE
TABLE Auftragsposition
(
Auftragsposition_ID NUMBER NOT NULL ,
Auftrag ...
Artikel NUMBER NOT NULL
Verkaufspreis NUMBER (5,2) NOT NULL ,
Preiseinheit NUMBER (4) NOT NULL ,
Artikelbezeichnung VARCHAR2 (36 CHAR) NOT NULL ,
Menge NUMBER (6) NOT NULL
) ;
ALTER TABLE Auftragsposition ADD CONSTRAINT Auftragsposition_PK PRIMARY KEY (
Auftragsposition_ID ) ;
CREATE
TABLE Bestellung
(
Bestellmenge NUMBER (5) NOT NULL ,
Bestelldatum DATE ,
Lieferdatum DATE ,
Bestellung_ID NUMBER NOT NULL ,
Bezugsquelle NUMBER ,
Lieferant_ID NUMBER NOT NULL
) ;
CREATE UNIQUE INDEX Bestellung__IDX ON Bestellung
(
Lieferant_ID ASC
)
;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_PK PRIMARY KEY ( Bestellung_ID
) ;
CREATE
TABLE Bezugsquelle
(
Bestellnummer NUMBER (5) NOT NULL ,
Einkaufspreis NUMBER (5,2) NOT NULL ,
Verpackungseinheit NUMBER (5) ,
Bezugsquelle_ID NUMBER NOT NULL ,
Artikel NUMBER NOT NULL ,
Lieferant NUMBER NOT NULL
) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_PK PRIMARY KEY (
Bezugsquelle_ID ) ;
CREATE
TABLE Kontakt
(
Telefon VARCHAR2 (16 CHAR) ,
Mail VARCHAR2 (36 CHAR) ,
Kontakt_ID NUMBER NOT NULL
) ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_PK PRIMARY KEY ( Kontakt_ID ) ;
CREATE
TABLE Kunde
(
Kundennummer NUMBER (5) NOT NULL ,
Anrede CHAR (4 CHAR) NOT NULL ,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Kunde_ID NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR) ,
Ansprechpartner_ID NUMBER NOT NULL ,
Type VARCHAR2 (12 CHAR) ,
Kontakt NUMBER NOT NULL ,
Adresse NUMBER NOT NULL
) ;
CREATE UNIQUE INDEX Kunde__IDX ON Kunde
(
Kontakt ASC
)
;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_PK PRIMARY KEY ( Kunde_ID ) ;
CREATE
TABLE KundeAdresse
(
Kunde NUMBER NOT NULL ,
Adresse NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR)
) ;
ALTER TABLE KundeAdresse ADD CONSTRAINT KundeAdresse_PK PRIMARY KEY (
Kunde, Adresse ) ;
CREATE
TABLE Kundenauftrag
(
Auftragsnummer NUMBER (5) NOT NULL ,
Auftragsdatum DATE ,
Lieferdatum DATE ,
Rabatt NUMBER (3,2) NOT NULL ,
Kunde NUMBER(5) Not NULL
) ;
CREATE
TABLE Lager
(
Bezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Lager_ID NUMBER NOT NULL
) ;
ALTER TABLE Lager ADD CONSTRAINT Lager_PK PRIMARY KEY ( Lager_ID ) ;
CREATE
TABLE Lagerposition
(
Lagerposition_ID Number (5) NOT NULL,
Raum CHAR (1 CHAR) NOT NULL ,
Regal NUMBER (1) NOT NULL ,
Fach NUMBER (3) NOT NULL ,
Lagerbestand NUMBER (8) NOT NULL ,
Lager NUMBER NOT NULL ,
Artikel NUMBER NOT NULL
) ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_PK PRIMARY KEY ( Lagerposition_ID ) ;
CREATE
TABLE Lieferant
(
Lieferantennummer NUMBER (5) NOT NULL ,
Anrede CHAR (4 CHAR) NOT NULL ,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Lieferant_ID NUMBER NOT NULL ,
Ansprechpartner- NUMBER NOT NULL ,
Kontakt NUMBER NOT NULL ,
Adresse NUMBER NOT NULL
) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_PK PRIMARY KEY ( Lieferant_ID )
;
CREATE
TABLE LieferantAdresse
(
Lieferant_ID NUMBER NOT NULL ,
Adresse_ID NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR)
) ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT LieferantAdresse_PK PRIMARY KEY (
Lieferant_ID, Adresse_ID ) ;
ALTER TABLE Artikel ADD CONSTRAINT Artikel_Artikelgruppe_FK FOREIGN KEY (
Artikelgruppe_ID ) REFERENCES Artikelgruppe ( Artikelgruppe_ID )
;
ALTER TABLE Auftragsposition ADD CONSTRAINT Auftragsposition_Artikel_FK FOREIGN
KEY ( Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_Bezugsquelle_FK FOREIGN KEY (
Bezugsquelle_ID ) REFERENCES Bezugsquelle ( Bezugsquelle_ID ) ;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_Artikel_FK FOREIGN KEY (
Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ;
ALTER TABLE KundeAdresse ADD CONSTRAINT FK_ASS_11 FOREIGN KEY ( Kunde_Kunde_ID
) REFERENCES Kunde ( Kunde_ID ) ON
DELETE CASCADE ;
ALTER TABLE KundeAdresse ADD CONSTRAINT FK_ASS_12 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT FK_ASS_17 FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT FK_ASS_18 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_Kunde_FK FOREIGN KEY (
Kunde_Kunde_ID ) REFERENCES Kunde ( Kunde_ID ) ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE Adresse ADD CONSTRAINT KundeAdresse FOREIGN KEY ( Kunde_Kunde_ID )
REFERENCES Kunde ( Kunde_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kunde ADD CONSTRAINT KundeAdressev1 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_Ansprechpartner_FK FOREIGN KEY (
Ansprechpartner_ID ) REFERENCES Ansprechpartner (
Ansprechpartner_ID ) ;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_Kontakt_FK FOREIGN KEY (
Kontakt_ID ) REFERENCES Kontakt ( Kontakt_ID ) ;
-- ERROR: FK name length exceeds maximum allowed length(30)
ALTER TABLE Kundenauftrag ADD CONSTRAINT Kundenauftrag_Auftragsposition_FK
FOREIGN KEY ( Auftragsposition_ID ) REFERENCES
Auftragsposition ( Auftragsposition_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kundenauftrag ADD CONSTRAINT Kundenauftrag_Kunde_FK FOREIGN KEY (
Kunde_Kunde_ID ) REFERENCES Kunde ( Kunde_ID ) ON
DELETE SET NULL ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_Artikel_FK FOREIGN KEY (
Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_Lager_FK FOREIGN KEY (
Lager_ID ) REFERENCES Lager ( Lager_ID ) ;
ALTER TABLE Adresse ADD CONSTRAINT LieferantAdresse FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE Lieferant ADD CONSTRAINT LieferantAdressev1 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Ansprechpartner_FK FOREIGN KEY (
Ansprechpartner_ID ) REFERENCES Ansprechpartner (
Ansprechpartner_ID ) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Bestellung_FK FOREIGN KEY (
Bestellung_ID ) REFERENCES Bestellung ( Bestellung_ID ) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Kontakt_FK FOREIGN KEY (
Kontakt_ID ) REFERENCES Kontakt ( Kontakt_ID ) ON
DELETE CASCADE ;
Die Aufgabenstellung lautet:
Die Firma Hit möchte ihre Artikel und Bestellungen verwalten.
Code:
CREATE
TABLE Adresse
(
PLZ NUMBER (5) NOT NULL,
Ort VARCHAR2 (24 CHAR) NOT NULL ,
Strasse VARCHAR2 (24 CHAR) NOT NULL ,
Hausnummer NUMBER (3) NOT NULL ,
Adresse_ID NUMBER NOT NULL
) ;
ALTER TABLE Adresse ADD CONSTRAINT Adresse_PK PRIMARY KEY ( Adresse_ID ) ;
/*
CREATE TABLE Lieferant_Adresse (
Lieferant_Adresse_Id
Lieferant
Adresse
Art
);
*/
CREATE
TABLE Ansprechpartner
(
Anrede CHAR (4 CHAR) NOT NULL,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Ansprechpartner_ID NUMBER NOT NULL
) ;
ALTER TABLE Ansprechpartner ADD CONSTRAINT Ansprechpartner_PK PRIMARY KEY (
Ansprechpartner_ID ) ;
CREATE
TABLE Artikel
(
Artikelnummer NUMBER (5) NOT NULL ,
Artikelbezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Verkaufspreis NUMBER (8,2) NOT NULL ,
Preiseinheit CHAR (1 CHAR) NOT NULL ,
Minimalbestand NUMBER (6) ,
Maximalbestand NUMBER (6) ,
Artikel_ID NUMBER NOT NULL ,
Artikelgruppe NUMBER NOT NULL
) ;
ALTER TABLE Artikel ADD CONSTRAINT Artikel_PK PRIMARY KEY ( Artikel_ID ) ;
CREATE
TABLE Artikelgruppe
(
Bezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Artikelgruppe_ID NUMBER NOT NULL
) ;
ALTER TABLE Artikelgruppe ADD CONSTRAINT Artikelgruppe_PK PRIMARY KEY (
Artikelgruppe_ID ) ;
CREATE
TABLE Auftragsposition
(
Auftragsposition_ID NUMBER NOT NULL ,
Auftrag ...
Artikel NUMBER NOT NULL
Verkaufspreis NUMBER (5,2) NOT NULL ,
Preiseinheit NUMBER (4) NOT NULL ,
Artikelbezeichnung VARCHAR2 (36 CHAR) NOT NULL ,
Menge NUMBER (6) NOT NULL
) ;
ALTER TABLE Auftragsposition ADD CONSTRAINT Auftragsposition_PK PRIMARY KEY (
Auftragsposition_ID ) ;
CREATE
TABLE Bestellung
(
Bestellmenge NUMBER (5) NOT NULL ,
Bestelldatum DATE ,
Lieferdatum DATE ,
Bestellung_ID NUMBER NOT NULL ,
Bezugsquelle NUMBER ,
Lieferant_ID NUMBER NOT NULL
) ;
CREATE UNIQUE INDEX Bestellung__IDX ON Bestellung
(
Lieferant_ID ASC
)
;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_PK PRIMARY KEY ( Bestellung_ID
) ;
CREATE
TABLE Bezugsquelle
(
Bestellnummer NUMBER (5) NOT NULL ,
Einkaufspreis NUMBER (5,2) NOT NULL ,
Verpackungseinheit NUMBER (5) ,
Bezugsquelle_ID NUMBER NOT NULL ,
Artikel NUMBER NOT NULL ,
Lieferant NUMBER NOT NULL
) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_PK PRIMARY KEY (
Bezugsquelle_ID ) ;
CREATE
TABLE Kontakt
(
Telefon VARCHAR2 (16 CHAR) ,
Mail VARCHAR2 (36 CHAR) ,
Kontakt_ID NUMBER NOT NULL
) ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_PK PRIMARY KEY ( Kontakt_ID ) ;
CREATE
TABLE Kunde
(
Kundennummer NUMBER (5) NOT NULL ,
Anrede CHAR (4 CHAR) NOT NULL ,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Kunde_ID NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR) ,
Ansprechpartner_ID NUMBER NOT NULL ,
Type VARCHAR2 (12 CHAR) ,
Kontakt NUMBER NOT NULL ,
Adresse NUMBER NOT NULL
) ;
CREATE UNIQUE INDEX Kunde__IDX ON Kunde
(
Kontakt ASC
)
;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_PK PRIMARY KEY ( Kunde_ID ) ;
CREATE
TABLE KundeAdresse
(
Kunde NUMBER NOT NULL ,
Adresse NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR)
) ;
ALTER TABLE KundeAdresse ADD CONSTRAINT KundeAdresse_PK PRIMARY KEY (
Kunde, Adresse ) ;
CREATE
TABLE Kundenauftrag
(
Auftragsnummer NUMBER (5) NOT NULL ,
Auftragsdatum DATE ,
Lieferdatum DATE ,
Rabatt NUMBER (3,2) NOT NULL ,
Kunde NUMBER(5) Not NULL
) ;
CREATE
TABLE Lager
(
Bezeichnung VARCHAR2 (24 CHAR) NOT NULL ,
Lager_ID NUMBER NOT NULL
) ;
ALTER TABLE Lager ADD CONSTRAINT Lager_PK PRIMARY KEY ( Lager_ID ) ;
CREATE
TABLE Lagerposition
(
Lagerposition_ID Number (5) NOT NULL,
Raum CHAR (1 CHAR) NOT NULL ,
Regal NUMBER (1) NOT NULL ,
Fach NUMBER (3) NOT NULL ,
Lagerbestand NUMBER (8) NOT NULL ,
Lager NUMBER NOT NULL ,
Artikel NUMBER NOT NULL
) ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_PK PRIMARY KEY ( Lagerposition_ID ) ;
CREATE
TABLE Lieferant
(
Lieferantennummer NUMBER (5) NOT NULL ,
Anrede CHAR (4 CHAR) NOT NULL ,
Vorname VARCHAR2 (24 CHAR) NOT NULL ,
Nachname VARCHAR2 (24 CHAR) NOT NULL ,
Lieferant_ID NUMBER NOT NULL ,
Ansprechpartner- NUMBER NOT NULL ,
Kontakt NUMBER NOT NULL ,
Adresse NUMBER NOT NULL
) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_PK PRIMARY KEY ( Lieferant_ID )
;
CREATE
TABLE LieferantAdresse
(
Lieferant_ID NUMBER NOT NULL ,
Adresse_ID NUMBER NOT NULL ,
Art VARCHAR2 (12 CHAR)
) ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT LieferantAdresse_PK PRIMARY KEY (
Lieferant_ID, Adresse_ID ) ;
ALTER TABLE Artikel ADD CONSTRAINT Artikel_Artikelgruppe_FK FOREIGN KEY (
Artikelgruppe_ID ) REFERENCES Artikelgruppe ( Artikelgruppe_ID )
;
ALTER TABLE Auftragsposition ADD CONSTRAINT Auftragsposition_Artikel_FK FOREIGN
KEY ( Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_Bezugsquelle_FK FOREIGN KEY (
Bezugsquelle_ID ) REFERENCES Bezugsquelle ( Bezugsquelle_ID ) ;
ALTER TABLE Bestellung ADD CONSTRAINT Bestellung_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_Artikel_FK FOREIGN KEY (
Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Bezugsquelle ADD CONSTRAINT Bezugsquelle_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ;
ALTER TABLE KundeAdresse ADD CONSTRAINT FK_ASS_11 FOREIGN KEY ( Kunde_Kunde_ID
) REFERENCES Kunde ( Kunde_ID ) ON
DELETE CASCADE ;
ALTER TABLE KundeAdresse ADD CONSTRAINT FK_ASS_12 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT FK_ASS_17 FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE LieferantAdresse ADD CONSTRAINT FK_ASS_18 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_Kunde_FK FOREIGN KEY (
Kunde_Kunde_ID ) REFERENCES Kunde ( Kunde_ID ) ;
ALTER TABLE Kontakt ADD CONSTRAINT Kontakt_Lieferant_FK FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE Adresse ADD CONSTRAINT KundeAdresse FOREIGN KEY ( Kunde_Kunde_ID )
REFERENCES Kunde ( Kunde_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kunde ADD CONSTRAINT KundeAdressev1 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_Ansprechpartner_FK FOREIGN KEY (
Ansprechpartner_ID ) REFERENCES Ansprechpartner (
Ansprechpartner_ID ) ;
ALTER TABLE Kunde ADD CONSTRAINT Kunde_Kontakt_FK FOREIGN KEY (
Kontakt_ID ) REFERENCES Kontakt ( Kontakt_ID ) ;
-- ERROR: FK name length exceeds maximum allowed length(30)
ALTER TABLE Kundenauftrag ADD CONSTRAINT Kundenauftrag_Auftragsposition_FK
FOREIGN KEY ( Auftragsposition_ID ) REFERENCES
Auftragsposition ( Auftragsposition_ID ) ON
DELETE CASCADE ;
ALTER TABLE Kundenauftrag ADD CONSTRAINT Kundenauftrag_Kunde_FK FOREIGN KEY (
Kunde_Kunde_ID ) REFERENCES Kunde ( Kunde_ID ) ON
DELETE SET NULL ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_Artikel_FK FOREIGN KEY (
Artikel_ID ) REFERENCES Artikel ( Artikel_ID ) ;
ALTER TABLE Lagerposition ADD CONSTRAINT Lagerposition_Lager_FK FOREIGN KEY (
Lager_ID ) REFERENCES Lager ( Lager_ID ) ;
ALTER TABLE Adresse ADD CONSTRAINT LieferantAdresse FOREIGN KEY (
Lieferant_ID ) REFERENCES Lieferant ( Lieferant_ID ) ON
DELETE CASCADE ;
ALTER TABLE Lieferant ADD CONSTRAINT LieferantAdressev1 FOREIGN KEY (
Adresse_ID ) REFERENCES Adresse ( Adresse_ID ) ON
DELETE CASCADE ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Ansprechpartner_FK FOREIGN KEY (
Ansprechpartner_ID ) REFERENCES Ansprechpartner (
Ansprechpartner_ID ) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Bestellung_FK FOREIGN KEY (
Bestellung_ID ) REFERENCES Bestellung ( Bestellung_ID ) ;
ALTER TABLE Lieferant ADD CONSTRAINT Lieferant_Kontakt_FK FOREIGN KEY (
Kontakt_ID ) REFERENCES Kontakt ( Kontakt_ID ) ON
DELETE CASCADE ;