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

3.2. Автоматизація даталогічного проектування та її результати




3. 2. Автоматизація даталогічного проектування та її результати

 Erwin надає можливості для вибору різноманітних цільових СКБД, в яких би реалізовувалася створена модель бази даних. Для реалізації ми можемо обрати або SQL-подібну серверну СКБД (Oracle, Informix, InterBase та ін), або настільну СКБД (MS Access, FoxPro, Paradox тощо) та відповідні її параметри, зокрема, тип даних за замовчуванням.

Пакет Erwin використовує механізм ODBC для передачі спроектованої бази даних в середовище обраної СКБД. В моєму курсовому проекті використовується СКБД Microsoft SQL Server 2008.

Модель СКБД автоматично генерується з трансформаційної моделі. Після вибору СКБД Erwin генерує імена таблиць та індекси за шаблонами логічної моделі. Їх можна редагувати у редакторі таблиць і редакторі стовпчиків, які викликаються шляхом активізації відповідної опції у контекстному меню.

При зміні СКБД Erwin пропонує автоматично перетворити типи даних атрибутів на доступні для вибраної СКБД. Для цього досить надати стверджувальну відповідь на відповідний запит.

Отже, на даному етапі спроектовану в ERwin інфологічну модель БД експортуємо в даталогічна модель СКБД Microsoft SQL Server 2008.

Порівнюючи фізичну модель і схему даних можна зробити висновки, що генерація пройшла коректно. Як у фізичній моделі у схемі даних 6 таблиць. Переглядаючи кожну таблицю робимо висновок, що жоден з атрибутів не пропав, а також не з’явилося нових. Структурні зв’язки також були передані правильно.

 


 

4. Проектування та реалізація БД на фізичному рівні.

4. 1. Опис структур таблиць БД

При проектуванні та реалізації БД на фізичному рівні у середовищі Microsoft SQL Server 2008 створена база даних «Deposit_kurs», яка складається з файлу Deposit_kurs. mdf та включає в себе наступні об’єкти: таблиці, запити, форми та звіти.

Дана база даних має такі створені таблиці:

 

Розглянемо ці таблиці детальніше:

Client

Deposit

 

Ugoda

Viddil

 

Vidsotok

Valuta

Розглянемо таблиці у режимі конструктора

Client

 

 

Deposit

Ugoda

Viddil

 

Vidsotok

Valuta

 

4. 2. Реалізація запитів та звітів

 

Запити.

Вони забезпечують швидкий та ефективний доступ до даних, що зберігаються в таблицях та надають можливість виконати необхідне сортування, обчислити вираз чи зробити обробку кілька зв’язаних таблиць.

Розглянемо запити детальніше.

Запит про суму коштів за окремим рахунком. Даний запит реалізуємо з умовою рівності коду договору(якщо такий є в таблиці Ugoda). Для цього створюємо запит з текстом (і потім результат на екрані):

SELECT Ugoda. numb_u as'№ Угоди', Client. kod_cl as ‘Код клієнта', Ugoda. suma_dep as 'Сума депозиту', Valuta. sign as 'У валюті', datediff(DD, Ugoda. date_start, Ugoda. date_end) AS ‘Строк депозиту в днях'

FROM    Client INNER JOIN

                 Ugoda ON Client. kod_cl = Ugoda. kod_cl INNER JOIN

                 Vidsotok ON Ugoda. kod_dep = Vidsotok. kod_dep INNER JOIN

                 Valuta ON Vidsotok. kod_val = Valuta. kod_val

                 where Ugoda. kod_cl=2

  

 

Запит, що надає інформацію про суму коштів клієнтів за відділами. Створюємо запит, використовуючи функцію суми і умовою рівності атрибуту кода відділу в таблиці Відділ с тим же атрибутом в таблиці Угода. Текст запиту і результат:

SELECT Viddil. adres_vidl as 'Адреса відділу', sum(Ugoda. suma_dep) as 'Сума коштів за цим відділом'

FROM    Ugoda INNER JOIN

                 Viddil ON Ugoda. kod_vidil = Viddil. kod_vidil

                 where Ugoda. kod_vidil=Viddil. kod_vidil

                 group by Viddil. adres_vidl

 

Запит, який надає інформацію про відділ в якому відкрито рахунок з найбільшою сумою. Для цього випростовуємо кладені запити і функцію на пошук максимальних значень. Текст запиту і результат:

SELECT Viddil. *, Ugoda. numb_u, Ugoda. kod_cl, Ugoda. suma_dep

FROM    Ugoda INNER JOIN

                 Viddil ON Ugoda. kod_vidil = Viddil. kod_vidil

                 where Viddil. kod_vidil=(select kod_vidil from Ugoda where Ugoda. suma_dep=any(select max(suma_dep) from Ugoda))

 

Запит, який надає інформацію про рахунок, який відкрив окремий клієнт. Запит реалізовується за допомогою пошуку точного значення атрибуту ПІБ клієнта серед всіх, що записані в таблиці Угода. Текст запиту і результат:

SELECT Ugoda. numb_u as'Номер угоди', Ugoda. kod_cl 'Код клієнта', Viddil. adres_vidl'Відділ за адресою', Deposit. name_dep as'Депозит', Ugoda. date_start as'Дата відкриття рахунку', Ugoda. date_end as'Дата закриття рахунку', Ugoda. suma_dep as'Сума на рахунку', Vidsotok. vidsotok as 'Відсоток', Valuta. sign as 'У валюті'

FROM    Client INNER JOIN

                 Ugoda ON Client. kod_cl = Ugoda. kod_cl INNER JOIN

                 Viddil ON Ugoda. kod_vidil = Viddil. kod_vidil INNER JOIN

                 Vidsotok ON Ugoda. kod_dep = Vidsotok. kod_dep INNER JOIN

                 Valuta ON Vidsotok. kod_val = Valuta. kod_val INNER JOIN

                 Deposit ON Vidsotok. kod_dep = Deposit. kod_dep

                 where Client. fio_cl='Красін Я. В. '

 

 

Запит, який формує облікову відомість рахунків. Запит виконується шляхом виведення всієї інформації всіх рахунків. Текст і результат запиту:

SELECT Ugoda. numb_u as '№ Угоди', Client. fio_cl as 'ПІБ клієнта', Deposit. name_dep as 'Депозит', Ugoda. date_start as 'Дата відкриття рахунку', Ugoda. suma_dep as 'Сума на рахунку', Vidsotok. vidsotok as 'Відсоток', (Ugoda. suma_dep*Vidsotok. vidsotok/100) as 'Дохід', Valuta. sign as ' ', Viddil. adres_vidl as 'Відділ'

FROM    Client INNER JOIN

                 Ugoda ON Client. kod_cl = Ugoda. kod_cl INNER JOIN

                 Viddil ON Ugoda. kod_vidil = Viddil. kod_vidil INNER JOIN

                 Vidsotok ON Ugoda. kod_dep = Vidsotok. kod_dep INNER JOIN

                 Valuta ON Vidsotok. kod_val = Valuta. kod_val INNER JOIN

                 Deposit ON Vidsotok. kod_dep = Deposit. kod_dep

Звіти.  Вони забезпечують найбільш гнучкий спосіб перегляду і друку вихідної інформації. Відмінність звітів від форм полягає в тому, що вони створюються лише для видачі на друк і не мають управляючих елементів для введення даних.

Завершивши всі кроки, необхідні для створення запитів можна легко створити звіти на їх основі.

Приклад звіту на основі запиту, який надає інформацію про відділ в якому відкрито рахунок з найбільшою сумою. Текст звіту і результат:

create view Report3 as

SELECT Viddil. *, Ugoda. numb_u, Ugoda. kod_cl, Ugoda. suma_dep

FROM    Ugoda INNER JOIN

                 Viddil ON Ugoda. kod_vidil = Viddil. kod_vidil

                 where Viddil. kod_vidil=(select kod_vidil from Ugoda where Ugoda. suma_dep=any(select max(suma_dep) from Ugoda))

По аналогії створюємо інші звіти. Звіти з назвою Report1, Report2…створені відповідно порядку виконаних запитів у курсовому проекті

ВИСНОВКИ

Підсумовуючи все вище зазначене, можу сказати, що, виконуючи запити і звіти з курсового проекту я навчився писати складні вкладені запити, створювати інфомоделі в пакеті ErWin, налагоджувати зв’язки між таблицями, ознайомився із загальною специфікою мови Transact-SQL.

Дієздатність, ефективність спроектованої бази даних доводиться контрольним прикладом, який успішно реалізовано за допомогою програмного засобу Microsoft SQL Server 2008 R2.

База даних придатна для застосування в філіях банку за умови її доопрацювання, удосконалення, розширення та адаптації до власної політики банку, а також як частина більш глобальних баз даних.

Основною метою курсового проекту була побудова бази даних призначеної для обліку депозитних рахунків в комерційному банку. Спроектована база даних охоплює лише частину предметної області теми курсового проекту і тому, на мою думку, потребує подальшого доопрацювання в майбутньому. Завдання спроектованої бази даних можна розширити до обліку руху коштів по клієнтським рахункам, додати облік електронних операцій з пластикових карток клієнтів і т. д.

В даному курсовому проекті була повністю досягнута поставлена мета її реалізації: досліджена та вивчена предметна область, спроектована та реалізована інфологічна та даталогічна моделі задачі за допомогою Case – засобу ERwin і нарешті база даних була успішно реалізована на фізичному рівні за допомогою програмного засобу Microsoft SQL Server 2008 R2.

 

СПИСОК ЛІТЕРАТУРИ

 

1. Електронний ресурс [http: //www. sql. ru/forum/actualthread. aspx? tid=613592]

2. Власенко О. О. РОЗВИТОК УКРАЇНСЬКОГО РИНКУ ДЕПОЗИТІВ ДЛЯ ФІЗИЧНИХ ОСІБ // Фінанси України (укр. ). – 2006. – №3.

3. Банківські операції: Підручник-3-тє вид., переробл. і доп. /А. М. Мороза, М. І. Савлук, М. Ф. Пуховкіна та ін.; за заг. ред. А. М. Мороза-К.: КНЕУ, 2008. -608с.

4. Електронний ресурс [http: //msdn. microsoft. com/ru-ru/library/ms187810. aspx]

5. ЗУ про Про банки і банківську діяльність 2001р. , постанови НБУ

6. Електронний ресурс [http: //www. interface. ru/home. asp? artId=25178] Порівняння SQL Server і Oracle

 

 

 

 

 

Поделиться:





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



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