Cześć,
Mam pewien problem, chce napisać klucz obcy w bazie danych na oracle ale nie wiem gdzie robię błąd. Mam strukturę taką jak na zdjęciu jak tutaj http://prntscr.com/lkdp00
I do tego mam stukturę którą próbuję utworzyć.
ID_pracownika number(3,0) primary key,
imie varchar2(15) not null,
nazwisko varchar2(15) not null,
stanowisko varchar2(15) not null,
pesel number(11,0) not null,
ulica varchar2(30) not null,
miejscowosc varchar2(30) not null,
mail varchar2(30),
telefon_kontaktowy varchar(15) not null,
pensja number(6,0),
data_zatrudnienia date
);
create table klient(
ID_klienta number(10,0) primary key,
imie varchar2(15) not null,
nazwisko varchar2(15) not null,
ulica varchar2(30) not null,
miejscowosc varchar2(30) not null,
pesel number (11,0) not null,
mail varchar2(30),
telefon_kontaktowy number(20,0) not null,
uwagi varchar2(100)
);
create table samochod(
ID_samochodu number (10) primary key,
CONSTRAINT samochod FOREIGN KEY (marka) REFERENCES marka (nazwa),
CONSTRAINT samochod FOREIGN KEY (model) REFERENCES model (nazwa),
pojemnosc_silnika number(4,0) not null,
VIN varchar2(18) not null,
CONSTRAINT samochod FOREIGN KEY (ID_czynnosci) REFERENCES wykaz_czynnosci (ID_czynnosci),
CONSTRAINT samochod FOREIGN KEY (ID_klienta) REFERENCES klient (ID_klienta),
);
create table wykaz_czynnosci(
ID_czynnosci number(3,0) primary key,
nazwa_czynnosci varchar2(25) not null,
opis_czynnosci varchar2(100)
);
create table wizyta(
ID_wizyty number(4,0) primary key,
CONSTRAINT wizyta FOREIGN KEY (ID_czynnosci) REFERENCES wykaz_czynnosci (ID_czynnosci),
CONSTRAINT wizyta FOREIGN KEY (ID_samochodu) REFERENCES samochod (ID_samochodu),
CONSTRAINT wizyta FOREIGN KEY (ID_pracownika) REFERENCES pracownik (ID_pracownika)
);
create table marka(
id_marka varchar2(30),
nazwa varchar2(30)
);
create table model(
id_model varchar2(30),
nazwa varchar2(30)
id_marka varchar2(30)
);
I jak wszystkie tabele zwykłe się tworzą to nie wiem czy dobrze próbuję utworzyć klucze obce za pomocą np. CONSTRAINT samochod FOREIGN KEY (model) REFERENCES model (nazwa),
Czy ktoś jest w stanie mi powiedzieć jak to zrobić? Szukałem w google i nie wiem w sumie czemu w każdym miejscu jest pokazany inny sposób.... Przepraszam za głupie pytanie bo pewnie jest ono nazbyt laickie