Portál AbcLinuxu, 8. listopadu 2025 11:41
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.