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

LR4.Tyutterin_Yakov_Z1411

.pdf
Скачиваний:
1
Добавлен:
29.04.2024
Размер:
8.32 Mб
Скачать

В результате при выполнении SELECT-запроса с левым соединением таблиц получаем:

SELECT w.first_name, w.last_name, p.name AS postion_name from workers w LEFT JOIN position_worker pw ON w.id = pw.worker_id

LEFT JOIN positions p ON p.id = pw.position_id;

Также можем сразу заполнить таблицу с профессиональными достижениями учитывая то, что название достижений уникальны:

Результат выполнения SELECT-запроса:

Свяжем достижения с работниками учитывая то, что к одному работнику не может относиться одно и то же достижение:

INSERT INTO achievement_worker(achievement_id, worker_id)

VALUES (2, 7), (2, 8), (2, 10), (6, 11), (1, 1), (2, 5), (3, 4), (4, 5), (6, 5);

Результат выполнения SELECT-запроса:

SELECT w.first_name, w.last_name, a.name AS achiwement_name from workers w LEFT JOIN achievement_worker aw ON aw.worker_id = w.id

LEFT JOIN achievements a ON aw.achievement_id = a.id;

Произведем заполнение таблицы со спектаклями:

INSERT INTO shows (title, date, duration, theatre_id) VALUES ('Zolushka', now(), 120, 1),

('Koshei', now(), 180, 1), ('Alisa', now(), 300, 1), ('Flower', now(), 280, 1);

Результат выполнения SELECT-запроса:

Свяжем спектакли с жанрами:

INSERT INTO genre_show(show_id, genre_id)

VALUES (1, 1), (1, 2), (2, 3), (2, 4), (3, 5), (3, 6), (4, 1), (4, 5);

Результат выполнения SELECT-запроса:

SELECT s.title, g.name AS genre_name FROM shows s LEFT JOIN genre_show gs ON gs.show_id = s.id LEFT JOIN genres g ON g.id = gs.genre_id;

Свяжем спектакли с категориями:

INSERT INTO category_show(category_id, show_id)

VALUES (1, 1), (2, 1), (3, 2), (4, 2), (5, 3), (1, 3), (2, 4), (3, 4), (4, 1), (5, 1), (1, 2);

Результат выполнения SELECT-запроса:

Приступим к заполнению таблицы ролей. Названия ролей также уникальны:

INSERT INTO roles(name) VALUES ('Soubrette'),

('Reasoner'), ('Dresser'), ('Travesty'), ('The Tragedian'), ('Lover'), ('Cocket'), ('Producer'), ('Musician'), ('The costumer’);

Результат выполнения SELECT-запроса:

Свяжем роли с работниками и со спектаклями:

INSERT INTO role_show_worker(show_id, role_id, worker_id) VALUES (1, 20, 1),

(1, 13, 2), (1, 18, 3), (1, 17, 10), (2, 11, 1), (2, 13, 2), (2, 20, 6), (2, 17, 4), (3, 14, 10), (3, 15, 7), (3, 16, 9), (3, 19, 8), (4, 18, 5), (4, 13, 4), (4, 11, 11), (4, 15, 12);

Результат выполнения SELECT-запроса:

SELECT s.title, r.name AS role_name, w.first_name AS worker_first_name from shows s

LEFT JOIN role_show_worker rsw ON rsw.show_id = s.id LEFT JOIN roles r ON r.id = rsw.role_id

LEFT JOIN workers w ON w.id = rsw.worker_id

Вывод

В результате проделанной работы была создана схема БД. Таблицы заполнены данными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]