Прямое проектирование модели
⇐ ПредыдущаяСтр 2 из 2 После исправления ошибок проектирования модель была перенесена в 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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|