--таблица Склад
CREATE TABLE STOREHOUSE
-- столбец, тип данных, ограничение целостности
(Storehouse_number int PRIMARY KEY,
Pig_feed varchar2(50),
Capacity_storehouse int, --vmestimost
Building_area int, --ploshad zdania
Number_of_floors int
);
--таблица работник фермы
CREATE TABLE FARM_WORKER
-- столбец, тип данных, ограничение целостности
(Pass_number int PRIMARY KEY,
Full_name varchar2(80),
Date_of_birth date,
Phone_numder char(12),
Job_farm varchar2(80)
);
--таблица работник фермы
CREATE TABLE ACCESS_TO_THE_STOREHOUSE
-- столбец, тип данных, ограничение целостности
(
Pass_number_A int,
Storehouse_number_A int,
CONSTRAINT ACCESS_TO_THE_STOREHOUSE_PK PRIMARY KEY (Pass_number_A,Storehouse_number_A),
CONSTRAINT P_ACCESS_TO_THE_STOREHOUSE_FK FOREIGN KEY (Pass_number_A) REFERENCES FARM_WORKER (Pass_number),
CONSTRAINT S_ACCESS_TO_THE_STOREHOUSE_FK FOREIGN KEY (Storehouse_number_A) REFERENCES STOREHOUSE (Storehouse_number)
);
--таблица оборудование
CREATE TABLE EQUIPMENT
-- столбец, тип данных, ограничение целостности
(
ID_eqpmnt int PRIMARY KEY,
Storehouse_eqpmnt int,
Destination varchar2(80),
Price int,
Useful_life int,
CONSTRAINT EQUIPMENT_FK FOREIGN KEY (Storehouse_eqpmnt) REFERENCES STOREHOUSE (Storehouse_number)
);
--таблица свинарник
CREATE TABLE HANGAR
-- столбец, тип данных, ограничение целостности
(
Building_number int PRIMARY KEY,
Manager_h int,
Feed_from_the_storehouse varchar2(50),
Building_area int,
Wall_material varchar2(20),
CONSTRAINT HANGAR_FK FOREIGN KEY (Manager_h) REFERENCES FARM_WORKER (Pass_number)
);
--таблица сектор свинарник
CREATE TABLE HANGAR_SECTOR
-- столбец, тип данных, ограничение целостности
(
Sector_number int PRIMARY KEY,
Type_sector varchar2(50),
Equipment_sector int,
Responsible_worker int,
Hangar_sector int,
CONSTRAINT E_SECTOR_FK FOREIGN KEY (Equipment_sector) REFERENCES EQUIPMENT (ID_eqpmnt),
CONSTRAINT R_SECTOR_FK FOREIGN KEY (Responsible_worker) REFERENCES FARM_WORKER (Pass_number),
CONSTRAINT H_SECTOR_FK FOREIGN KEY (Hangar_sector) REFERENCES HANGAR (Building_number)
);
--таблица свиньи
CREATE TABLE PIGS
-- столбец, тип данных, ограничение целостности
(
ID_pigs int PRIMARY KEY,
Breed varchar2(50),
Date_of_birth_pigs date,
Weigh char(20),
Sector_pigs int,
CONSTRAINT PIGS_FK FOREIGN KEY (Sector_pigs) REFERENCES HANGAR_SECTOR (Sector_number)
);
--заполняем таблицы
--STOREHOUSE
INSERT INTO STOREHOUSE
VALUES (1, 'Пшеница', 200, 70, 1);
INSERT INTO STOREHOUSE
VALUES (2, 'Ячмень', 1000, 250, 3);
INSERT INTO STOREHOUSE
VALUES (3, 'Рожь', 300, 75, 1);
INSERT INTO STOREHOUSE
VALUES (4, 'Кукуруза', 500, 100, 2);
INSERT INTO STOREHOUSE
VALUES (5, 'Овес', 540, 200, 1);
--РАБОТНИКИ ФЕРМЫ
INSERT INTO FARM_WORKER
VALUES (1, 'Иванов Иван Иванович', TO_DATE('2000-01-27', 'YYYY-MM-DD'), '+79164566661', 'Мойщик');
INSERT INTO FARM_WORKER
VALUES (2, 'Смирнов Владислав Владиславович', TO_DATE('2004-03-25', 'YYYY-MM-DD'), '+79164566662', 'Ветеринарный врач');
INSERT INTO FARM_WORKER
VALUES (3, 'Воробьёв Леонид Константинович', TO_DATE('1982-10-01', 'YYYY-MM-DD'), '+79164566663', 'Боец скота');
INSERT INTO FARM_WORKER
VALUES (4, 'Константинова Александра Александровна', TO_DATE('1997-12-11', 'YYYY-MM-DD'), '+79164566664', 'Зоотехник');
INSERT INTO FARM_WORKER
VALUES (5, 'Павлова Надежда Ивановна', TO_DATE('1999-08-19', 'YYYY-MM-DD'), '+79164566665', 'Оператор по уходу за животными');
--оборудование
INSERT INTO EQUIPMENT
VALUES (1, 1, 'Кормушки', 5000, 5);
INSERT INTO EQUIPMENT
VALUES (2, 2, 'Поилки', 2000, 2);
INSERT INTO EQUIPMENT
VALUES (3, 3, 'Станки', 10000, 3);
INSERT INTO EQUIPMENT
VALUES (4, 4, 'Освещение', 20000, 7);
INSERT INTO EQUIPMENT
VALUES (5, 5, 'Вентиляция', 50000, 10);
--свинарник
INSERT INTO HANGAR
VALUES (11, 1, 'Корм для поросят', 500, 'Дерево');
INSERT INTO HANGAR
VALUES (12, 2, 'Корм для свиноматок', 300, 'Бетон');
INSERT INTO HANGAR
VALUES (13, 3, 'Корм для хряков', 800, 'Кирпич');
INSERT INTO HANGAR
VALUES (14, 4, 'Корм для холостых маток', 500, 'Металл');
INSERT INTO HANGAR
VALUES (15, 5, 'Корм для свиней на убой', 700, 'Пластик');
--сектор свинарник
INSERT INTO HANGAR_SECTOR
VALUES (1, 'Содержание', 1, 1, 11);
INSERT INTO HANGAR_SECTOR
VALUES (2, 'Репродукция', 2, 2, 12);
INSERT INTO HANGAR_SECTOR
VALUES (3, 'Осеменение', 3, 3, 13);
INSERT INTO HANGAR_SECTOR
VALUES (4, 'Кормление', 4, 4, 14);
INSERT INTO HANGAR_SECTOR
VALUES (5, 'Мойка', 5, 5, 15);
select * from STOREHOUSE;
select * from FARM_WORKER;
select * from EQUIPMENT;
select * from HANGAR;
select * from HANGAR_SECTOR;
ALTER TABLE STOREHOUSE
ADD Name_of_floors varchar2(30);
UPDATE STOREHOUSE
SET Name_of_floors = CASE
WHEN Number_of_floors > 1 THEN 'Многоэтажный'
ELSE 'Одноэтажный'
END;