Portál AbcLinuxu, 14. května 2025 04:17
create table Zamestnanec (
idZam integer,
jmeno varchar(30),
prijmeni varchar(50)
)
alter table Zamestnanec
add constraint pk_idZam primary key (
idZam
)
/
create table Evidence (
uvazek float,
idZam integer,
idOdd integer
)
alter table Evidence
add constraint fk_idZam foreign key (
idZam
) references Zamestnanec (
idZam
)
alter table Evidence
add constraint fk_idOdd foreign key (
idOdd
) references Oddeleni (
idOdd
)
/
create table Oddeleni (
idOdd integer,
nazev varchar(50)
)
alter table Oddeleni
add constraint pk_idOdd primary key (
idOdd
)
/
Řešení dotazu:
uvazek
. Psano bez zbytecnych ALTERu. Testovano na Oraclu. Ber to spis jako inspiraci, nevim do jake miry se mas ridit zadanym obrazkem ;]
CREATE TABLE employees ( id INTEGER CONSTRAINT pk_employees PRIMARY KEY, first_name VARCHAR(30), last_name VARCHAR(50) ); CREATE TABLE departments ( id INTEGER CONSTRAINT pk_departments PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE employee2department ( employee NUMBER(16) CONSTRAINT fk_e2d_employee REFERENCES employees ON DELETE CASCADE, department NUMBER(16) CONSTRAINT fk_e2d_department REFERENCES departments ON DELETE CASCADE, CONSTRAINT pk_employee2depatment PRIMARY KEY (employee, department) );
INTEGER = NUMBER(38)coz muze byt zbytecne - proto pouzivam NUMBER(16) ;]
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.