- •Дніпропетровський національний університет імені о. Гончара
- •Курсова робота
- •Введение
- •Содержание
- •Создание таблиц:
- •Краткие перечень основных типов данных Oracle
- •Заполнение таблиц:
- •Запросы
- •Insert запросы
- •Ограничения
- •Пример ограничения
- •Пример создания внешнего ключа и полная диаграмма бд
- •Фильтры
- •Операторы алгебры множеств
- •Представления
- •Примеры фильтров на основе запросов по данной бд Решение задачи с помощью представления view.
- •Заключение
- •Список используемых источников
Примеры фильтров на основе запросов по данной бд Решение задачи с помощью представления view.
Фильтры для отображения сотрудников отдельных должностей (На основе запроса "Отдел кадров").
Из 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 БД.
Фильтры для отображения клиентов отдельных знаков зодиака (На основе запроса “Список клиентов”).
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 БД.
Фильтры для отображения клиентов по отношениям (На основе запроса “Список клиентов”).
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 БД.
Фильтры для отображения клиентов отдельных национальностей (На основе запроса “Список клиентов”).
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 БД.
Фильтры для отображения клиентов по хобби (На основе запроса “Список клиентов”).
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 БД.
Фильтры для отображения клиентов по семейному положению (На основе запроса “Список клиентов”).
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 БД.
