Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

wollte meine Datenbank mit Inhalt befüllen und bekomme folgende Fehlermeldung: ERROR: duplicate key value violates unique constraint "bestellung_pkey"

Liegt wohl daran, das ich in der Tabelle Position mehrmals die Bestellnummer verwende, aber eine Bestellung hat nun mal mehrere Positionen ^^

Ich weiß aber nicht wie ich das ändern kann, bzw. Duplikate zulassen kann.

Hier mal mein Schema und die Insert-Befehle:

/* Erzeugen der Datenbank mit den entsprechenden Tabellen */


/* Erzeugen der Datenbank lieferant */


CREATE database lieferant;



/* Erzeugen der Tablle artikel mit den Attributen artikel_nr(PK), bezeichnung, listenpreis, bestand, mindestbestand, verpackung. */


CREATE table artikel

(artikel_nr character varying(4) NOT NULL,

bezeichnung character varying (50), 

listenpreis money, 

bestand integer, 

mindestbestand integer, 

verpackung character varying(20),

CONSTRAINT pk_artikel

     PRIMARY KEY (artikel_nr));


/* Erzeugen der Tablle kunde mit den Attributen kunden_nr(PK), name, strasse, plz, ort. */


CREATE table kunde

(kunden_nr integer,

name character varying(30), 

strasse character varying(30), 

plz integer, 

ort character varying(20),


CONSTRAINT pk_kunde

     PRIMARY KEY (kunden_nr));


/* Erzeugen der Tablle bestellung mit den Attributen bestell_nr(FK), kunden_nr(FK), bestelldatum, lieferdatum, rechnungsbetrag. bestell_nr + kunden_nr = PK */


CREATE table bestellung

(bestell_nr integer NOT NULL,

kunden_nr integer, 

bestelldatum date, 

lieferdatum date, 

rechnungsbetrag money,

CONSTRAINT pk_bestellung

     PRIMARY KEY (bestell_nr),

CONSTRAINT fk_bestellung

     FOREIGN KEY (kunden_nr) REFERENCES kunde (kunden_nr));


/* Erzeugen der Tablle kontodaten mit den Attributen kunden_nr(FK), konto_inhaber, blz, konto_nr. */


CREATE table kontodaten

(kunden_nr integer, 

kontoinhaber character varying(30), 

blz integer, 

konto_nr integer,


CONSTRAINT fk_kontodaten

     FOREIGN KEY (kunden_nr) REFERENCES kunde (kunden_nr));



/* Erzeugen der Tablle position mit den Attributen bestell_nr(FK), artikel_nr(FK), bestellmenge, liefermenge, gesamtpreis. bestell_nr + artikel_nr = PK */


CREATE table position

(bestell_nr integer NOT NULL, 

artikel_nr character varying(4), 

bestellmenge integer, 

liefermenge integer, 

gesamtpreis money,


CONSTRAINT pk_position_fk

     PRIMARY KEY (bestell_nr, artikel_nr),

CONSTRAINT fk_position1

     FOREIGN KEY (bestell_nr) REFERENCES bestellung (bestell_nr),

CONSTRAINT fk_position2

     FOREIGN KEY (artikel_nr) REFERENCES artikel (artikel_nr));

/* Befüllung der Datenbank mit Musterdaten */


/* Befüllung der Tabelle bestellung */

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9600', '101', '2009-11-20', '2009-12-01', '199.00');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9601', '104', '2009-11-21', '2009-12-02', '79.98');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9602', '105', '2009-11-10', '2009-11-15', '33.99');

INSERT INTO "haendler"."bestellung" ("bestell_nr", "kunden_nr", "bestelldatum", "lieferdatum", "rechnungsbetrag") VALUES ('9603', '103', '2009-12-04', '2009-12-11', '244.99');


/* Befüllung der Tabelle artikel */

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A001', 'Kaffeemaschine', '150.00', '100', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A002', 'Espressomaschine', '199.00', '120', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('A003', 'Wasserkocher', '30.00', '50', '5', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('B001', 'Filtertüten', '5.99', '50', '5', 'Tüten');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('B002', 'Entkalker', '3.99', '25', '5', 'Flasche');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('C001', 'Toaster', '39.99', '130', '10', 'Karton');

INSERT INTO "haendler"."artikel" ("artikel_nr", "bezeichnung", "listenpreis", "bestand", "mindestbestand", "verpackung") VALUES ('C002', 'Eierkocher', '25.00', '40', '3', 'Karton');


/* Befüllung der Tabelle kontodaten */

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('100', ' ', '72050000', '7843');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('101', 'Müller Mariane', '72050000', '8432');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('102', 'Schubert Linda', '43020000', '1265');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('103', 'Ullmann Alexander', '87310000', '8740');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('104', 'Jacobs Ben', '83209210', '7403');

INSERT INTO "haendler"."kontodaten" ("kunden_nr", "kontoinhaber", "blz", "konto_nr") VALUES ('105', 'Herta Marion', '32050000', '9043');


/* Befüllung der Tabelle kunde */

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('100', 'Meier Peter', 'Hauptstrasse 17', '86150', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('101', 'Müller Mariane', 'Postweg 10', '86134', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('102', 'Schubert Linda', 'Rotkäppchenweg 7', '86199', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('103', 'Ullmann Alexander', 'Karlstraße 16', '86150', 'Augsburg');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('104', 'Jacobs Ben', 'Dorfstraße 143', '80432', 'München');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('105', 'Herta Paul', 'Landgrafstraße 23b', '42384', 'Stettingen');

INSERT INTO "haendler"."kunde" ("kunden_nr", "name", "strasse", "plz", "ort") VALUES ('106', 'Richard Sabine', 'Von-der-Tann-Straße 8', '73293', 'Leipzig');


/* Befüllung der Tabelle position */

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9600', 'A002', '1', '1', '199.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9601', 'C001', '2', '2', '79.98');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9602', 'A003', '1', '1', '30.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9602', 'B002', '1', '1', '3.99');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'A001', '1', '1', '150.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'A003', '1', '1', '30.00');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'C001', '1', '1', '39.99');

INSERT INTO "haendler"."position" ("bestell_nr", "artikel_nr", "bestellmenge", "liefermenge", "gesamtpreis") VALUES ('9603', 'C002', '1', '1', '25.00');

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...