Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Прямое проектирование модели




После исправления ошибок проектирования модель была перенесена в SQL Developer в процессе прямого проектирования. Перенос прошел без ошибок(см. рисунок 6.1):

Рисунок 6.1 – Отсутствие ошибок переноса

После переноса была создана реляционная модель полученной базы данных для проверки корректности переноса(см. рисунок 6.2):

Рисунок 6.2 – Реляционная модель БД в SQL Developer

Рисунок 6.3. Список таблиц после переноса

Также для проверки корректности переноса, а также для проверки работы запросов в полученные таблицы были введены значения(см. рисунки 6.4-6.8):

Рисунок 6.4 - Значения таблицы «Вклады»

Рисунок 6.5 - Значения таблицы «Зачисления»

Рисунок 6.6 - Значения таблицы «Клиент»

 

Рисунок 6.7 - Значения таблицы «Клиент_вкл»

Рисунок 6.8 - Значения таблицы «Клиент_карта»

Рисунок 6.9 - Значения таблицы «Клиент_кред»

Рисунок 6.10 - Значения таблицы «Кредиты»

Рисунок 6.11 - Значения таблицы «Обслуж_филиал»

Рисунок 6.12 - Значения таблицы «Операции_карта»

Рисунок 6.13 - Значения таблицы «Оплата»

Рисунок 6.14 - Значения таблицы «Перевод»

Рисунок 6.15 - Значения таблицы «Филиал»

 

 

Выполнение запросов

В данном разделе приведен код запросов, требуемых по заданию, а также результаты выполнения полученных запросов.

Запрос 1. Получить список клиентов Банка, имеющих депозиты до востребования. (рисунок 7.1)

select Фамилия, Имя, Отчество from Клиент

JOIN Клиент_вкл on Клиент.Номер_пасп=Клиент_вкл.Номер_пасп

where Дата_зав_вкл IS NULL

 

Рисунок 7.1 – Результат выполнения запроса

 

Запрос 2. Получить список клиентов Банка, имеющих депозиты сроком на 3 года.

select Фамилия, Имя, Отчество, Дата_нач_вкл, Дата_зав_вкл from Клиент

JOIN Клиент_вкл on Клиент.Номер_пасп=Клиент_вкл.Номер_пасп

where (Дата_зав_вкл-Дата_нач_вкл)/365 > 3

 

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

 

Запрос 3. Получить список клиентов Банка, которым предоставлен кредит.

select Фамилия, Имя, Отчество, Дата_з_кред from Клиент

JOIN Клиент_кред on Клиент.Номер_пасп=Клиент_кред.Номер_пасп

where Дата_з_кред >= sysdate

 

 

Рисунок 7.3 – Результат выполнения запроса

 

Запрос 4. Получить список клиентов Банка, которым предоставлен овердрафт.

select Фамилия, Имя, Отчество, Счет_карты from Клиент

JOIN Клиент_карты on Клиент.Номер_пасп = Клиент_карты.Номер_пасп

where Счет_карты < 0

 

Рисунок 7.4 – Результат выполнения запроса

 

Запрос 5. Получить список клиентов, которые имеют и депозит, и кредит.

JOIN Клиент_вкл on Клиент.Номер_пасп=Клиент_вкл.Номер_пасп

JOIN Клиент_кред on Клиент.Номер_пасп=Клиент_кред.Номер_пасп

where Дата_нач_вкл IS NOT NULL AND Дата_в_кред IS NOT NULL

 

Рисунок 7.5 – Результат выполнения запроса

 

Запрос 6. Получить список клиентов Банка, которые осуществляли переводы свыше 600 тысяч рублей и не имеют просрочки по кредиту.

select distinct Фамилия, Имя, Отчество from Клиент

JOIN Клиент_карты on Клиент.Номер_пасп = Клиент_карты.Номер_пасп

JOIN Клиент_кред on Клиент.Номер_пасп=Клиент_кред.Номер_пасп

JOIN Операции_карта on Клиент_карты.Номер_карты = Операции_карта.Номер_карты

JOIN Переводы on Операции_карта.ID_операц = Переводы.ID_операц

where Сумма >= 600000 and (Дата_посл_плат - sysdate) < 31

 

Рисунок 7.6 – Результат выполнения запроса

 

Запрос 7. Создать список клиентов Банка, которые имеют две и более пластиковые карты.

select Фамилия, Имя, Отчество, COUNT(Клиент_карты.Номер_пасп) Кол_во_карт from Клиент

JOIN Клиент_карты on Клиент.Номер_пасп = Клиент_карты.Номер_пасп

group by Фамилия, Имя, Отчество

HAVING COUNT(Клиент_карты.Номер_пасп) > 1

 

Рисунок 7.7 – Результат выполнения запроса

 

Запрос 8. Получить список активных карт (по которым осуществлялись любые операции за последний месяц).

select Номер_карты from Операции_карта

where sysdate - Дата_операц <= 31

 

Рисунок 7.8 – Результат выполнения запроса

 

Запрос 9. Получить список кредитов, по которым дата платежа - 9 число.

select Фамилия, Имя, Отчество, Дата_з_кред from Клиент

JOIN Клиент_кред on Клиент.Номер_пасп=Клиент_кред.Номер_пасп

where Дата_платежа = 9

Рисунок 7.9 – Результат выполнения запроса

 

Запрос 10. Создать список клиентов, которые не имеют кредитной карты.

select Фамилия, Имя, Отчество from Клиент

MINUS

select Фамилия, Имя, Отчество from Клиент

JOIN Клиент_карты on Клиент.Номер_пасп = Клиент_карты.Номер_пасп

where Номер_карты IS NOT NULL

Рисунок 7.10 – Результат выполнения запроса


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...