Добавил:
@wequalwo Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SQL / Ivanov_S_0392_sql_6

.docx
Скачиваний:
0
Добавлен:
08.09.2024
Размер:
190.2 Кб
Скачать

-- Создать представление "Участники заказов", содержащее имена предприятий с указанием города и наименования выполняемых ими заказов, отсортированные по городу.

CREATE VIEW Participant_orders AS

SELECT cy.cy_name, cy.cy_city, ce.ce_name

FROM company AS cy INNER JOIN execution AS e ON cy.cy_id = e.cy_id INNER JOIN commande AS ce ON e.ce_id = ce.ce_id

GROUP BY cy.cy_name, cy.cy_city, ce.ce_name

ORDER BY cy.cy_city;

-- росмотреть данные, возвращаемые созданным представлением, с помощью SELECT * FROM имя_представления.

SELECT * FROM Participant_orders;

-- Добавить в таблицу «Выполнение» еще одну запись и просмотреть изменение данных, возвращаемых созданным представлением.

INSERT INTO Execution (cy_id, ce_id, e_planned_date)

VALUES ('00A02', '00-AA-01', '13.12.2023');

SELECT * FROM Participant_orders;

-- С помощью созданного представления вывести наименования заказов, выполняемых предприятиями определенного города.

SELECT * FROM Participant_orders

WHERE cy_city = 'Paris';

-- Создать материализованное представление “Участники заказов_MV” с тем же содержимым, что и представление “Участники заказов”.

CREATE MATERIALIZED VIEW Participant_orders_MV AS

SELECT cy.cy_name, cy.cy_city, ce.ce_name

FROM company AS cy INNER JOIN execution AS e ON cy.cy_id = e.cy_id INNER JOIN commande AS ce ON e.ce_id = ce.ce_id

GROUP BY cy.cy_name, cy.cy_city, ce.ce_name

ORDER BY cy.cy_city;

-- Просмотреть данные, возвращаемые созданным представлением, с помощью SELECT * FROM имя_мат_представления.

SELECT * FROM Participant_orders_MV;

-- Добавить в таблицу «Выполнение» еще одну запись и просмотреть отсутствие изменения данных, возвращаемых созданным материализованным представлением.

INSERT INTO Execution (cy_id, ce_id, e_planned_date)

VALUES ('00A02', '00-AA-02', '24.09.2024');

SELECT * FROM Participant_orders_MV;

-- Выполнить обновление созданного материализованного представления. Просмотреть наличие произведенных изменений, возвращаемых созданным материализованным представлением.

REFRESH MATERIALIZED VIEW Participant_orders_MV;

SELECT * FROM Participant_orders_MV;

Соседние файлы в папке SQL