ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 42

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ход работы

ЗАПРОС №1. Создайте запрос на добавление данных о новом сотруднике в таблицу employees (вставьте данные о себе).SELECT * FROM employees;INSERT INTO employees (employee_id,last_name,first_name,title,title_of_courtesy,birth_date,hire_date,address,city,postal_code,country,home_phone)VALUES (10,'Vertikova','Polina','Andreevna','Mrs.','2002-06-13','2023-03-03','Malisheva 15','Ekaterinburg','231323','Russia',' 7(456)752-74-14')РезультатЗАПРОС №2. Переоформите все заказы клиента (по вариантам) на нового сотрудника, сделав запрос на обновление данных таблицы orders.SELECT * FROM orders WHERE employee_id = 10;UPDATE orders SET employee_id = 10 FROM customersWHERE orders.customer_id =(SELECT customer_id FROM customers WHERE company_name = 'Ana Trujillo Emparedados y helados');РезультатЗАПРОС№3.. Cоздайте запрос на добавление нового заказа клиенту (по вариантам из запроса 2).INSERT INTO ordersVALUES (11078, 'ANATR',10)РезультатЗАПРОС№4.Создайте запрос на добавление к созданному заказу состава заказа (таблица orser details), который полностью дублирует позиции первого заказа клиента.INSERT INTO order_detailsVALUES (11078, 69,28.8,1,0),(11078, 70,12,5,0)РезультатЗАПРОС №5. Все заказы сотрудника (по вариантам) переоформите на нового сотрудника. Id_Suyama Michael = 4UPDATE orders SET employee_id = 10 WHERE employee_id = 6РезультатЗАПРОС №6. . Создайте запрос на удаление о сотруднике (по вариантам запроса 5) из таблицы employees.DELETE FROM employee_territories WHERE employee_id = 4;DELETE FROM employees WHERE employee_id = 4РезультатЗАПРОС №7. Компания NORHTWIND решила создать свой склад продукции, что привило к необходимости модифицировать информационную систему. Необходимо хранить следующие данные: заявки на поставку продукции поставщику (Suppliers), детали поставки, с указание

количества заказанной и поставленной продукции, вести учет имеющейся на складе продукции.

Для этого необходимо создать таблицы:

1) OrdersSup – заказы поставщику, содержащую сведенья о сотруднике сделавшем заказ (Employees), поставщике продукции (Suppliers), дате заказа.

2) OrdersSup Details – состав заказа, содержащую сведенья о заказываемой продукции (Products) и ее количестве, а также данные о количестве поступившей по заявке продукции и дате поставки.

3) Storage – таблицу о количестве имеющейся на складе продукции (Products).

Создайте запросы для создания этих таблиц и наложите необходимые ограничения для обеспечения связей между таблицами.

Данные в таблице Storage будут модифицироваться с помощью триггеров.

1)

CREATE TABLE OrdersSup

(employee_id smallint NOT NULL,

supplier_id smallint NOT NULL,

sup_date date

)

ALTER TABLE ONLY OrdersSup

ADD CONSTRAINT pk_OrdersSup PRIMARY KEY (employee_id, supplier_id);

ALTER TABLE ONLY OrdersSup

ADD CONSTRAINT fk_OrdersSup_employees FOREIGN KEY (employee_id) REFERENCES

Employees;

ALTER TABLE ONLY OrdersSup

ADD CONSTRAINT fk_OrdersSup_suppliers FOREIGN KEY (supplier_id) REFERENCES

suppliers
2)

CREATE TABLE OrdersSup_Details

(product_id smallint NOT NULL,

quantity smallint NOT NULL,

Sup_Details_date date

);

ALTER TABLE ONLY OrdersSup_Details

ADD CONSTRAINT pk_OrdersSup_Details PRIMARY KEY (product_id);

ALTER TABLE ONLY OrdersSup_Details

ADD CONSTRAINT fk_OrdersSup_Details_products FOREIGN KEY (product_id)

REFERENCES products
3)

CREATE TABLE Product_Storage

(product_id smallint NOT NULL,

quantity smallint NOT NULL

)

ALTER TABLE ONLY Product_Storage

ADD CONSTRAINT pk_Product_Storage PRIMARY KEY (product_id)

ALTER TABLE ONLY Product_Storage

ADD CONSTRAINT fk_Product_Storage_products FOREIGN KEY (product_id) REFERENCES

products
ЗАПРОС №8. Выяснить по сумме продаж, какие категории товаров пользуются наибольшим спросом.
ALTER TABLE order_details ADD discount_price real

UPDATE order_details set discount_price = unit_price * (1 - discount)
Результат



ЗАПРОС №9. Создайте запрос к таблице orders на добавление поля для проставления отметки об отгрузке товара. Значение не может быть неопределенным и должно принимать одно из значений 0 (заказ не отгружен) или 1 (заказ отгружен).
ALTER TABLE orders ADD Shipment bit NOT NULL DEFAULT '0' CHECK(Shipment IN ('1','0'))