Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс по ОБД 13.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
692.46 Кб
Скачать

Примеры фильтров на основе запросов по данной бд Решение задачи с помощью представления view.

  1. Фильтры для отображения сотрудников отдельных должностей (На основе запроса "Отдел кадров").

Из 5 должностей выбираем одну, к примеру («Переводчик»).

CREATE OR REPLACE VIEW BA_view_position AS

SELECT ts.RT_ID, ts.RT_NAME, ts.RT_PATRONYMIC, ts.RT_SURNAME, ts.RT_BIRTHDAY, ts.RT_SEX, ts.RT_LIVING_PLACE, ts.RT_PHONE, ts.RT_PASSPORT, ts.RT_POSITION_ID FROM BA_STAFF ts

WHERE RT_POSITION_ID=(SELECT qb_id FROM BA_OFFICE WHERE qb_name_position='Переводчик');

SELECT * FROM BA_view_position;

Результат: Степан и Анастасия. Если посмотреть на список должностей и сотрудников, сравнив их, мы удостоверимся в правильном результате, так как они являются переводчиками в ВA БД.

  1. Фильтры для отображения клиентов отдельных знаков зодиака (На основе запроса “Список клиентов”).

CREATE OR REPLACE VIEW BA_view_ZODIAC AS

SELECT FR_NAME, FR_PATRONYMIC, FR_SURNAME, FR_BIRTHDAY, FR_SEX, FR_AGE, FR_HEIGHT, FR_WEIGHT, FR_CHILDREN, FR_FAMILY, FR_BADHAB, FR_HOBBI, FR_DESCRIPTION, FR_LIVING_PLACE, FR_PHONE, FR_PASSPORT, FR_INFO_PART From BA_CLIENTS

WHERE fr_id_zodiac=(SELECT lw_id FROM BA_ZODIAC WHERE lw_name ='Дева');

SELECT * FROM BA_view_ZODIAC;

Результат: Борис и Денис. Если посмотреть на список клиентов и зодиаков, сравнив их, мы удостоверимся в правильном результате, так как они являются девами по знаку зодиака в ВA БД.

  1. Фильтры для отображения клиентов по отношениям (На основе запроса “Список клиентов”).

CREATE OR REPLACE VIEW BA_view_relation AS

SELECT FR_NAME, FR_PATRONYMIC, FR_SURNAME, FR_BIRTHDAY, FR_SEX, FR_AGE, FR_HEIGHT, FR_WEIGHT, FR_CHILDREN, FR_FAMILY, FR_BADHAB, FR_HOBBI, FR_DESCRIPTION, FR_LIVING_PLACE, FR_PHONE, FR_PASSPORT, FR_INFO_PART From BA_CLIENTS

WHERE fr_id_zodiac=(SELECT kw_id FROM BA_relation WHERE kw_name ='Дружеские');

SELECT * FROM BA_view_relation;

Результат: Игорь и Дмитрий. Если посмотреть на список клиентов и отношений, сравнив их, мы удостоверимся в правильном результате, так как они склонены к дружеским отношениям в ВA БД.

  1. Фильтры для отображения клиентов отдельных национальностей (На основе запроса “Список клиентов”).

CREATE OR REPLACE VIEW BA_view_nation AS

SELECT FR_NAME, FR_PATRONYMIC, FR_SURNAME, FR_BIRTHDAY, FR_SEX, FR_AGE, FR_HEIGHT, FR_WEIGHT, FR_CHILDREN, FR_FAMILY, FR_BADHAB, FR_HOBBI, FR_DESCRIPTION, FR_LIVING_PLACE, FR_PHONE, FR_PASSPORT, FR_INFO_PART From BA_CLIENTS

WHERE fr_id_zodiac=(SELECT lr_id FROM BA_nation WHERE lr_name ='Украинец');

SELECT * FROM BA_view_nation;

Результат: Борис и Денис. Если посмотреть на список клиентов и национальностей, сравнив их, мы удостоверимся в правильном результате, так как они по национальности украинцы в ВA БД.

  1. Фильтры для отображения клиентов по хобби (На основе запроса “Список клиентов”).

CREATE OR REPLACE VIEW BA_view_HOBBI AS

SELECT FR_NAME, FR_PATRONYMIC, FR_SURNAME, FR_BIRTHDAY, FR_SEX, FR_AGE, FR_HEIGHT, FR_WEIGHT, FR_CHILDREN, FR_FAMILY, FR_BADHAB, FR_DESCRIPTION, FR_LIVING_PLACE, FR_PHONE, FR_PASSPORT, FR_INFO_PART From BA_CLIENTS

WHERE FR_HOBBI ='Футбол';

SELECT * FROM BA_view_HOBBI;

Результат: Игорь. Если посмотреть на список клиентов, мы удостоверимся в правильном результате, так как именно у него хобби футбол в ВA БД.

  1. Фильтры для отображения клиентов по семейному положению (На основе запроса “Список клиентов”).

CREATE OR REPLACE VIEW BA_view_FAMILY AS

SELECT FR_NAME, FR_PATRONYMIC, FR_SURNAME, FR_BIRTHDAY, FR_SEX, FR_AGE, FR_HEIGHT, FR_WEIGHT, FR_CHILDREN, FR_BADHAB, FR_HOBBI, FR_DESCRIPTION, FR_LIVING_PLACE, FR_PHONE, FR_PASSPORT, FR_INFO_PART From BA_CLIENTS

WHERE FR_FAMILY ='Разведен';

SELECT * FROM BA_view_FAMILY;

Результат: 3 человека. Если посмотреть на список клиентов, мы удостоверимся в правильном результате, так как именно у них семейное положение «разведен» в ВA БД.