prosze o pomoc z tworzeniem tablic/sql developer

0

witam wszystkich.
mam problem z tworzeniem tablic w moim kodzie w sql developer, ciagle wychodza jakies bledy choc mysle ze kod jest ok.
prosze o pomoc .
Dzieki

CONSTRAINTS LAB WORK
ERD w zalaczniku

drop table salesperson;
drop table invoice;
drop table customer;
drop table car;

CREATE table salesperson
(
salesperson_Id NUMBER(5) NOT NULL,
name VARCHAR(30) NOT NULL,
PRIMARY KEY (salesperson_Id)
);

CREATE table invoice
(
invoice_Id NUMBER(5) NOT NULL,
date_sal DATE,
sale_amt NUMBER(10) NOT NULL CHECK(sale_amt<0),
salesperson_Id Number(5)NOT NULL,
cust_Id NUMBER(5) NOT NULL,
PRIMARY KEY (invoice_Id),
FOREIGN KEY (salesperson_Id) REFERENCES salesperson (salesperson_Id),
FOREIGN KEY (cust_Id) REFERENCES customer (cust_Id)
);

CREATE table customer
(
cust_Id NUMBER(5) NOT NULL,
name VARCHAR(30),
address VARCHAR(250),
ph_no Number(10)NOT NULL,
PRIMARY KEY (cust_Id)
);

CREATE table car
(
reg_num NUMBER(8) NOT NULL,
c_make VARCHAR(12) CHECK(c_make IN ('BMWMercedeshyundaitoyotaVolkswagen')),
c_model VARCHAR(20),
cust_Id NUMBER(5) NOT NULL,
salesperson_Id NUMBER()5NOT NULL,
PRIMARY KEY (reg_num),
FOREIGN KEY (salesperson_Id) REFERENCES salesperson (salesperson_Id),
FOREIGN KEY (cust_Id) REFERENCES customer (cust_Id)
);

INSERT INTO salesperson Values(00001,'Dominic Torette');
INSERT INTO salesperson Values(00002,'Constantin Ogrodnicov');
INSERT INTO salesperson Values(00003,'Donnald Ciupacabra');

INSERT INTO invoice Values(00010,'15-May-2015',0123456789,00001,00001);
INSERT INTO invoice Values(00011,'16-May-2015',0123456789,00002,00002);
INSERT INTO invoice Values(00012,'17-May-2015',0123456789,00003,00003);

INSERT INTO customer Values(00001,'Richard Barret','14 Riverchapel Green ,Gorey Co.Wexford',0894270266);
INSERT INTO customer Values(00002,'Rebecca Sutherland','17 Grove park ,Rathmines.Dublin 6,Dublin',0831122533f);
INSERT INTO customer Values(00003,'Stefano Foncaldo','7 Woodview ,Mount merrion avenue ,blackrock,Dublin',0812345678);

INSERT INTO car Values ('05d73713','BMW','320d',00001,00001);
INSERT INTO car Values ('05d23764','Toyota','Avencis',00002,00002);
INSERT INTO car Values ('10d72098','Mercedes','ML270',00003,00003);

2

Jeśli chodzi o tworzenie tabel to jedyny błąd jest w tabeli car w tym miejscu:

salesperson_Id NUMBER()5NOT NULL,
0

poprawilem reng_num z NUMBER NOT NULL NA VARCHAR,

2

umiesz czytać? masz na tyle IQ żeby przeczytany tekst zrozumieć? Przecież tam są dwa banalne błędy - zamiana kolejności tworzenia tabel i 5 nie w tym miejscu

 drop table invoice;
 drop table car;
 drop table customer;
drop table salesperson;

 CREATE table salesperson
 (
 salesperson_Id NUMBER(5) NOT NULL,
 name VARCHAR(30) NOT NULL,
 PRIMARY KEY (salesperson_Id)
 );


 CREATE table customer
  (
 cust_Id  NUMBER(5) NOT NULL,
 name VARCHAR(30),
 address VARCHAR(250),
 ph_no  Number(10)NOT NULL,
 PRIMARY KEY (cust_Id)
 );


 CREATE table invoice
  (
 invoice_Id NUMBER(5) NOT NULL,
 date_sal DATE,
 sale_amt NUMBER(10) NOT NULL CHECK(sale_amt<0),
 salesperson_Id Number(5)NOT NULL,
 cust_Id  NUMBER(5) NOT NULL,
 PRIMARY KEY (invoice_Id),
 FOREIGN KEY (salesperson_Id) REFERENCES  salesperson (salesperson_Id),
 FOREIGN KEY (cust_Id) REFERENCES  customer  (cust_Id)
 );
  


 CREATE table car
  (
 reg_num  NUMBER(8) NOT NULL,
 c_make  VARCHAR(12) CHECK(c_make IN ('BMWMercedeshyundaitoyotaVolkswagen')),
 c_model VARCHAR(20),
 cust_Id  NUMBER(5) NOT NULL,
 salesperson_Id NUMBER(5) NOT NULL,
 PRIMARY KEY (reg_num),
 FOREIGN KEY (salesperson_Id) REFERENCES  salesperson (salesperson_Id),
 FOREIGN KEY (cust_Id) REFERENCES  customer  (cust_Id)
 );
0

kiedy zapisuje tabele w sql developer dostaje kilka errorow.
Czy ktos moglby mi powiedziec czy dobrze polaczylem PK oraz FK?
dziekuje

2

dzieki.czy mozesz mi wytlumaczyc na czym polega kolejnosc tworzenia tabel?

na tym, że jak tabela A odwołuje się do tabeli B (poprzez FK) to tabela B MUSI istnieć przed stworzeniem referencji do niej

1 użytkowników online, w tym zalogowanych: 0, gości: 1