Автор работы: Пользователь скрыл имя, 21 Декабря 2015 в 03:18, курсовая работа
Актуальність обраної теми полягає у тому, що автоматизація нарахування дивідендів дозволяє зменшити ризик помилки та час на розрахування дивідендів для кожного акціонера, а також вирішує проблему звітності, оскільки потрібну інформацію для звіту можна отримати в потрібному вигляді, у формі таблиці, в самих СКБД. Зберігання усіх даних у базі спрощує пошук потрібної інформації для співробітників підприємства, оскільки кожен співробітник, за потреби, може отримати потрібні йому дані, не виходячи зі свого кабінету, що економить час та прискорює роботу підприємства.
На рис. 2.1 зображена ER-модель майбутньої бази даних, яка побудована за допомогою CASE-засобу CA ERWin у формі логічної моделі.
Фізичні моделі, що побудовані за даною логічною діаграмою наведені в додатку А.
Приведена схема побудована на наступних припущеннях:
1. Загальна кількість акцій компанії зареєстрована у таблиці Емісій;
2. Нарахування дивідендів акціонерам проходить в той же день, що були видані дивіденди;
3. Усі зміни кількості акцій у акціонера занесені у таблицю Акцій.
Звіт про таблиці та поля фізичної моделі у трьох СКБД наведено в додатку Б, у якому всі звіти побудовані за допомогою макросу CA Report Template Builder. За такою моделью і побудуємо базу даних в обраних СКБД.
Найважливішим етапом практичної реалізації проекту бази даних є етап розробки її структури. Оптимально розроблена та реалізована структура бази даних дає можливість максимально ефективного керування інформацією, забезпечує зручність в можливій модифікації бази даних, необхідність якої може виникнути в майбутньому.
На основі перетворення інфологічної моделі предметної області створено реляційну модель конкретної бази даних, що складається з десяти таблиць, інформація про які була надана в таблиці 2.2. та додатку Б.
На етапі реалізації проекту бази даних кожна сутність, представлена в логічній моделі стає окремою таблицею із своїм ім'ям. Всі атрибути сутностей перетворюються на стовпці відповідних таблиць, а компоненти унікального ідентифікатора кожної сутності перетворюються в первинний ключ відповідної таблиці. Якщо унікальний ідентифікатор сутності має зв'язки з атрибутами інших сутностей, то створюється зовнішній ключ, який забезпечує цілісність даних у БД. Для всіх цих операцій було використано інструмент «Forward Engineering» CASE-засобу CA Erwin Process Modeler.
Для генерації баз даних у кожній СКБД було створено порожню базу для того, щоб перенести таблиці з фізичної моделі. Для СКБД MS Access та SQL Server було виконане підключення до цільової бази даних безпосередньо з інструменту «Forward Engineering», та згенеровано усі таблиці автоматично без втручання користувача. Для СКБД MySQL вказаним інструментом було згенеровано скрипт, який був виконаний у програмній оболонці MySQL Maestro.
Щоб реалізувати проект бази даних «Облік наявності і руху акцій власної емісії на акціонерному товаристві і розрахунок дивідендів акціонерам» було обрано три СКБД "MySQL", "Access" , "SQL Server".
Наступним етапом реалізації бази даних є створення таблиць та запитів в кожну СКБД. Для цього було сгенеровано звіт за допомогою програми ERWin, в якій відображені усі поля таблиць з іх властивостями (тип даних для кожного стовпчика, допустимість значення null в полі значення,та атрибути,які відіграють роль зовнішнього та первинного ключа). Звіти наведені у додатку Б.
Після цього у кожній СКБД було створено порожню базу даних, яку потім буде обрано для перенесення в неї таблиць. В результаті роботи Forward Engineer було сгенеровано код створення таблиць для кожної СКБД, при виконанні яких у відповідних порожніх СКБД з’являться таблиць як у фізичній моделі. Лістинги коду, який був сгенерований для кожної СКБД наведено в додатку В.
Після перенесення бачимо, що схеми даних є повною відподністю побудованих моделей, усі поля і звязки співпадають з описаними раніше.
Схеми даних наведено в додатку Г.
Для перевірки зробленої роботи з дослідження предметної області, розробки її інфологічної моделі, а також формування реляційної моделі бази даних та її безпосереднього проектування доцільно перевірити результати виконаної роботи. Успішною перевірка буде в разі правильного внесення даних через форми, а також правильного відображення цих даних через вихідні форми та звіти.
В ролі даних контрольного прикладу декілька разів виконаємо заповнення полів кожної з форм бази даних у логічній послідовності. Після вводу цих даних перевіримо правильність роботи бази, переглянувши звіти, що сформовані згідно до форм, в яких, власне і відображається облік нарахування дивідендів акціонерам, що і представляє собою головну мету даного курсового проекту. Перевірку можна виконати порахувавши власноруч суму нарахування для декількох акціонерів з привілейованими та звичайними акціями.
Всі запити виконані правильно та будуть співпадати з власними розрахунками (на момент розрахунку вважалось, що процент оподаткування звичайних акцій становить 10%, а привілейовані акції не оподатковуються) та працюють корекно. Покажемо це на прикладі обліку емісії та видачі коштів на дивіденди підприємства.
Емісія:
1. Access
Лістинг 3.1. Код запиту на емісію в СКБД Access
SELECT [Emission/10].Date, [Emission/10].Sharers, [Shares/7].Type_of_sharer
FROM [Shares/7] INNER JOIN [Emission/10] ON [Shares/7].id_act = [Emission/10].id_act;
Результат:
Рис. 3.1. Виконання запиту на емісію в СКБД Access
2. MySQL
Лістинг 3.2. Код запиту на емісію в СКБД MySQL
select `emission/10`.`Date` AS `date`, `emission/10`.`Sharers` AS `sharers`, `shares/7`.`Type_of_sharer` AS `type_of_sharer`
from (`emission/10` left join `shares/7` on
( (`emission/10`.`id_act` = `shares/7`.`id_act`) ))
Результат:
Рис. 3.2. Виконання запиту на емісію в СКБД MySQL
3.SQL Server
Лістинг 3.3. Код запиту на емісію в СКБД SQL Server
SELECT dbo.[Emission/10].Date, dbo.[Emission/10].Sharers, dbo.[Shares/7].Type_of_sharer
FROM dbo.[Emission/10] INNER JOIN
dbo.[Shares/7] ON dbo.[Emission/10].id_act = dbo.[Shares/7].id_act
Результат:
Рис. 3.3. Виконання запиту на емісію в СКБД SQL Server
Видача коштів на дивіденди:
Лістинг 3.4. Код запиту на облік видачі коштів в СКБД Access
SELECT [Company/4].Number, [Company/4].Date AS Дата, [Use/9].Use, [Company/4].[Count_div], [Currency/6].Currency AS Валюта
FROM [Use/9] INNER JOIN ([Currency/6] INNER JOIN [Company/4] ON [Currency/6].id_cur = [Company/4].id_cur) ON [Use/9].id_use = [Company/4].id_use;
Результат:
Рис. 3.4. Виконання запиту на облік видачі коштів в СКБД Access
Лістинг 3.5. Код запиту на облік видачі коштів в СКБД MySQL
select
`company/4`.`Number` AS `Number`,
`company/4`.`Date` AS `Date`,
`use/9`.`use` AS `Use`,
`company/4`.`Count_div` AS `Count_div`,
`currency/6`.`Currency` AS `Currency`
from (`use/9`
join (`currency/6`
join `company/4` on
( (`currency/6`.`id_cur` = `company/4`.`id_cur`)
)) on ( (`use/9`.`id_use` = `company/4`.`id_use`) ))
Результат:
Рис. 3.5. Виконання запиту на видачу коштів в СКБД MySQL
Лістинг 3.6. Код запиту на облік видачі коштів в СКБД SQL Server
SELECT dbo.[Company/4].Number, dbo.[Company/4].Date, dbo.[Use/9].[Use], dbo.[Company/4].Count_div, dbo.[Currency/6].Currency
FROM dbo.[Company/4] INNER JOIN
dbo.[Currency/6] ON dbo.[Company/4].id_cur = dbo.[Currency/6].id_cur INNER JOIN
dbo.[Use/9] ON dbo.[Company/4].id_use = dbo.[Use/9].id_use
Результат:
Рис. 3.6. Виконання запиту на видачу коштів в СКБД SQL Server
Виконання та правильність роботи інших запитів та код запиту ви можете побачити в додатку Д.
В результаті виконання курсової роботи за темою «Облік наявності і руху акцій власної емісії на акціонерному товаристві і розрахунок дивідендів акціонерам» було створено базу даних на трьох різних СКБД, для автоматизації процесу розрахунку дивідендів акціонерам. При проектуванні СКБД був вивчений метод розрахунки дивідендів акціонерам підприємства, в залежності від того яку кількість та вид акцій він має та розглянуто інші аспекти, пов’язані з дивідендами, та їх призначенням, було вивчено економічний матеріал стосовно оподаткування акцій. Також було покращено вміння роботи з такими СКБД як: Microsoft Access, MySQL, SQL Server, підвищено рівень знання мови SQL, складання вкладених запитів для отримання потрібної інформації.
Проект бази даних, який був розроблений, дозволяє спростити роботу економістів підприємства, прибрати помилки, які могли бути допущені людиною при розрахунку дивідендів для кожного акціонера, збільшити швидкість розрахунку дивідендів для акціонерів, а також спростити зберігання даних для підприємства, об’єднавши всі потрібні дані, які потребуються для вирішення таких задач в одній базі даних. Цей проект дозволяє прослідковувати призначення усіх дивідендів підприємства, які були занесені в базу даних, а також отримати інформацію про кожного з членів акціонерного товариства підприємства, за потреби.
Отже, після виконання даної курсової роботи можна зробити висновок про те, що бази даних значно спрощують роботу багатьох сфер, пов’язаних з економікою (зокрема нарахування дивідендів) тим, що автоматизують всі розрахунки та дозволяють зберігати всі дані в одному місці, що є потрібним для сучасних підприємств.
Додаток А
Фізична Модель
Додаток Б
Таблиця Б.1.
Звіт про таблиці та поля фізичної моделі БД, побудований макросом CA Report Template Builder для СКБД Microsoft Access
Table Name |
|||||
City/5 |
|||||
Column Name |
Column Datatype |
Column Null Option |
Column Is PK |
Column Is FK | |
id_city |
Long Integer |
NOT NULL |
Yes |
No | |
id_region |
Long Integer |
NULL |
No |
Yes | |
City |
Text(20) |
NULL |
No |
No | |
Company/4 |
|||||
Column Name |
Column Datatype |
Column Null Option |
Column Is PK |
Column Is FK | |
Number |
Long Integer |
NOT NULL |
Yes |
No | |
Date |
Date/Time |
NULL |
No |
No | |
Count_div |
Long Integer |
NULL |
No |
No | |
id_cur |
Long Integer |
NULL |
No |
Yes | |
id_use |
Text(18) |
NULL |
No |
Yes | |
Country/3 |
|||||
Column Name |
Column Datatype |
Column Null Option |
Column Is PK |
Column Is FK | |
id_country |
Long Integer |
NOT NULL |
Yes |
No | |
Country |
Text(20) |
NULL |
No |
No | |
Currency/6 |
|||||
Column Name |
Column Datatype |
Column Null Option |
Column Is PK |
Column Is FK | |
id_cur |
Long Integer |
NOT NULL |
Yes |
No | |
Currency |
Text(20) |
NULL |
No |
No | |
Emission/10 |
|||||
Column Name |
Column Datatype |
Column Null Option |
Column Is PK |
Column Is FK | |
Date |
Date/Time |
NOT NULL |
Yes |
No | |
id_act |
Long Integer |
NOT NULL |
Yes |
Yes | |
Sharers |
Long Integer |
NULL |
No |
No |
Информация о работе Опис організаційно-економічної сутності задачі