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

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

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

Добавлен: 07.11.2023

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

Скачиваний: 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 customers

WHERE orders.customer_id =

(SELECT customer_id FROM customers WHERE company_name = 'Ana Trujillo Emparedados y helados');
Результат


ЗАПРОС №3. . Cоздайте запрос на добавление нового заказа клиенту (по вариантам из запроса 2).
INSERT INTO orders

VALUES (11078, 'ANATR',10)
Результат

ЗАПРОС №4. Создайте запрос на добавление к созданному заказу состава заказа (таблица orser details), который полностью дублирует позиции первого заказа клиента.
INSERT INTO order_details

VALUES (11078, 69,28.8,1,0),

(11078, 70,12,5,0)
Результат


ЗАПРОС №5. Все заказы сотрудника (по вариантам) переоформите на нового сотрудника. Id_Suyama Michael = 4
UPDATE 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'))