Sei sulla pagina 1di 3

AYUDA DE TABLAS

CREATE TABLE wrkc_area (


id DECIMAL(6,0),
id_work_center DECIMAL(6,0),
id_area DECIMAL (6,0),
CONSTRAINT pk_id PRIMARY KEY (id),
CONSTRAINT ak_wrkc_area UNIQUE (id_work_center, id_area),
CONSTRAINT fk_id_work_center FOREIGN KEY (id_work_center) REFERENCES work_center(id),
CONSTRAINT fk_id_area FOREIGN KEY (id_area) REFERENCES area (id));

CREATE TABLE empl_job (


id DECIMAL(6,0),
id_employee DECIMAL(6,0),
id_job DECIMAL(6,0),
start_date_assign DATE,
id_wrkc_area DECIMAL(6,0),
id_boss DECIMAL(6,0),
end_date_assign DATE,
CONSTRAINT nn_id_employee CHECK (id_employee IS NOT NULL),
CONSTRAINT nn_id_job CHECK (id_job IS NOT NULL),
CONSTRAINT nn_id_wrkc_area CHECK (id_wrkc_area IS NOT NULL),
CONSTRAINT fk_id_employee FOREIGN KEY (id_employee) REFERENCES employee(id),
CONSTRAINT fk_id_job FOREIGN KEY (id_job) REFERENCES job(id),
CONSTRAINT fk_id_wrkc_area FOREIGN KEY (id_wrkc_area) REFERENCES wrkc_area(id),
CONSTRAINT ch_dates CHECK((start_date_assign IS NOT NULL) AND (end_date_assign IS NULL OR
end_date_assign > start_date_assign)),
CONSTRAINT pk_empl_job PRIMARY KEY (id),
CONSTRAINT un_empl_job UNIQUE (id_employee, id_job, start_date_assign));

CREATE TABLE work_center (


id DECIMAL(6,0),
name VARCHAR(40),
CONSTRAINT nn_name CHECK (name IS NOT NULL),
CONSTRAINT nn_id CHECK (id IS NOT NULL),
CONSTRAINT pk_work_center PRIMARY KEY (id));

CREATE TABLE area (


id DECIMAL(6,0),
description VARCHAR(40),
CONSTRAINT nn_id CHECK (id IS NOT NULL),
CONSTRAINT nn_description CHECK (description IS NOT NULL),
CONSTRAINT pk_area PRIMARY KEY (id));
*NOTA: en empl_job 'puede' faltar alguna relación y/o restricción

AYUDA DEL MODELO RELACIONAL

wrkc_area (id, id_work_center, id_area)


on {id_work_center} es clave foránea a work_center
on {id_area} es clave foránea a area
empl_job (id, id_employee, id_job, start_date_assign, id_wrkc_area, id_boss, end_date_assign)
on {id_employee} es clave foránea a employee
on {id_job} es clave foránea a job
on {id_wrkc_area} es clave foránea a wrkc_area
on {id_boss} es clave foránea a empl_job

work_center (id, name)


area (id, description)
job (id, description)
person (id, ipf, name, surname, address, postal_code, gender, phone_number, birth_date,
dead_date)

employee (id, id_person, start_date, end_date)


on {id_person} es clave foránea a person

client (id, total_purchase, id_person)


on {id_person} es clave foránea a person

family (id, description)

season (id, description)

product (id, description, id_produced, id_season, id_family)


on {id_produced} es clave foránea a wrkc_area
on {id_season} es clave foránea a season
on {id_family} es clave foránea a family

product_unit (id, id_product, id_actual_location, production_date, size, color, price)


on {id_product} es clave foránea a product
on {id_actual_location} es clave foránea a wrkc_area

sale (id, id_product_unit, id_client, id_empl_job, sale_date)


on {id_product_unit} es clave foránea a product_unit
on {id_client} es clave foránea a client
on {id_empl_job} es clave foránea a empl_job

Potrebbero piacerti anche