Опис організаційно-економічної сутності задачі

Автор работы: Пользователь скрыл имя, 21 Декабря 2015 в 03:18, курсовая работа

Описание работы

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

Файлы: 1 файл

Курсовая.docx

— 732.07 Кб (Скачать файл)

ON UPDATE NO ACTION

go

ALTER TABLE Region_2

ADD CONSTRAINT R_10 FOREIGN KEY (id_country) REFERENCES Country_3(id_country)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

ALTER TABLE Shar_8

ADD CONSTRAINT R_15 FOREIGN KEY (id_act) REFERENCES Shares_7(id_act)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

ALTER TABLE Shar_8

ADD CONSTRAINT R_16 FOREIGN KEY (Id_sharer) REFERENCES sharer_1(Id_sharer)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

ALTER TABLE sharer_1

ADD CONSTRAINT R_11 FOREIGN KEY (id_city) REFERENCES City_5(id_city)

ON DELETE NO ACTION

ON UPDATE NO ACTION

go

  

 

Додаток Г


 


 

 

 

Додаток Д

Виконання запитів в СКБД Microsoft Access

Інформація про акціонерів:

Лістинг Д.1. Код запиту для надання інформацію про акціонерів.

SELECT [sharer/1].Surname, [sharer/1].Name, [sharer/1].Midlename, [sharer/1].Telephone, [Shar/8].numb_shar, [Shares/7].Type_of_sharer, [City/5].city, [Region/2].Region, [Country/3].Country

FROM [Country/3] INNER JOIN ([Region/2] INNER JOIN ([City/5] INNER JOIN ([Shares/7] INNER JOIN ([sharer/1] INNER JOIN [Shar/8] ON [sharer/1].Id_sharer = [Shar/8].Id_sharer) ON [Shares/7].id_act = [Shar/8].id_act) ON [City/5].id_city = [sharer/1].id_city) ON [Region/2].id_region = [City/5].id_region) ON [Country/3].id_country = [Region/2].id_country

WHERE [shar/8].date= (SELECT Max([Shar/8].Date)

FROM [Shar/8]

WHERE [Shar/8].id_sharer=[sharer/1].id_sharer and  [Shar/8].id_act=[shares/7].id_act);

Результат виконання:

Рис. Д.1. Виконання запиту для  надання інформацію про акціонерів

Обчислення нарахування дивідендів за привілейованими акціями.

Лістинг Д.2. Виконання запиту на обчислення нарахувань для акціонерів за привілейованими акціями.

SELECT [sharer/1].Surname, [sharer/1].Name, [sharer/1].Midlename, [Shar/8].numb_shar AS Numb, [Shares/7].Type_of_sharer, [Company/4].Date, ([Company/4].Count_div * [Numb]/

(SELECT Sum( [Emission/10].[Sharers])/(Select DISTINCT COUNT ([Company/4].Date) FROM [Company/4] WHERE [Company/4].id_use=1;)

FROM [Emission/10],[Company/4]

Where [Company/4].id_use=1 and [Emission/10].Date<=[Company/4].Date;)) AS Дивиденты, [Currency/6].Currency

FROM [sharer/1], [shar/8], [Shares/7], [Company/4], [Currency/6]

WHERE [sharer/1].id_sharer=[shar/8].id_sharer and [shar/8].id_act=[Shares/7].id_act and [Company/4].id_cur=[Currency/6].id_cur and  [Company/4].Date>=[shar/8].Date and [shar/8].id_act=1 and [Company/4].id_use=1and [shar/8].date=(SELECT Max([Shar/8].Date)

FROM [Shar/8]

WHERE [Shar/8].id_act=1 and [Shar/8].id_sharer=[sharer/1].id_sharer and [Shar/8].Date<=[Company/4].Date;)

ORDER BY [Company/4].Date;

Результат виконання:

Рис. Д.2. Результат запиту на обчислення нарахувань для акціонерів за привілейованими акціями.  

Обчислення та нарахування дивідендів за звичайними акціями.

Лістинг Д.3. Виконання запиту на обчислення нарахувань для акціонерів за звичайними акціями. 

SELECT [sharer/1].Surname, [sharer/1].Name, [sharer/1].Midlename, [shar/8].numb_shar AS Numb, [Shares/7].Type_of_sharer, [Company/4].Date, (([Остаток].Ost)*(1-[Shares/7].procent/100)* [Numb]/ (SELECT Sum( [Emission/10].[Sharers])/(Select DISTINCT COUNT ([Company/4].Date) FROM [Company/4] WHERE [Company/4].id_use=1;) FROM [Emission/10],[Company/4] Where [Company/4].id_use=1 and [Emission/10].Date<=[Company/4].Date and [Emission/10].id_act=2 ;)) AS Дивиденты, [Currency/6].Currency

FROM [sharer/1], [shar/8], [Shares/7], [Company/4], [Currency/6], Остаток

WHERE [sharer/1].id_sharer=[shar/8].id_sharer and [shar/8].id_act=[Shares/7].id_act and [Company/4].id_cur=[Currency/6].id_cur and [Company/4].Date>=[shar/8].Date and [shar/8].id_act=2 and [Company/4].id_use=1 and [Остаток].date=[Company/4].Date and [shar/8].date=( SELECT Max([Shar/8].Date) FROM [Shar/8] WHERE [Shar/8].id_act=2 and [Shar/8].id_sharer=[sharer/1].id_sharer and [Shar/8].Date<=[Company/4].Date; );

 

Результат виконання: 

Рис. Д.3. Результат запиту на обчислення нарахувань для акціонерів за звичайними акціями.

Виконання запитів в MySQL

 

Інформація про акціонерів:

Лістинг Д.4. Код запиту для надання інформації про акціонерів.

select

  `sharer/1`.`Surname` AS `Surname`,  `sharer/1`.`Name` AS `Name`,

  `sharer/1`.`Midlename` AS `Midlename`,

  `sharer/1`.`Telephone` AS `Telephone`,

  `shar/8`.`numb_shar` AS `numb_shar`,

  `shares/7`.`Type_of_sharer` AS `Type_of_sharer`,

  `city/5`.`city` AS `city`,

  `region/2`.`Region` AS `Region`,

  `country/3`.`Country` AS `Country`

from (`country/3` join (`region/2` join (`city/5`  join (`shares/7`

   join (`sharer/1`  join `shar/8` on  ((`sharer/1`.`Id_sharer` = `shar/8`.`Id_sharer`))) on ( (`shares/7`.`id_act` = `shar/8`.`id_act`))) on ((`city/5`.`id_city` = `sharer/1`.`id_city`))) on ( (`region/2`.`id_region` = `city/5`.`id_region`))) on ( (`country/3`.`id_country` = `region/2`.`id_country`)))

where(`shar/8`.`Date` = (select  max(`shar/8`.`Date`) from `shar/8` )

where ((`shar/8`.`Id_sharer` = `sharer/1`.`Id_sharer`) and(`shar/8`.`id_act` = `shares/7`.`id_act`)   )) )

Результат виконання:

Рис. Д.4. Виконання запиту для  надання інформацію про акціонерів

Обчислення нарахування дивідендів за привілейованими акціями.

Лістинг Д.5. Виконання запиту на обчислення нарахувань для акціонерів за привілейованими акціями

select

  `sharer/1`.`Surname` AS `Surname`,

  `sharer/1`.`Name` AS `Name`,

  `sharer/1`.`Midlename` AS `Midlename`,

  `shar/8`.`numb_shar` AS `numb_shar`,

  `shares/7`.`Type_of_sharer` AS `Type_of_sharer`,

  `company/4`.`Date` AS `Date`,

  (    (`company/4`.`Count_div` * `shar/8`.`numb_shar`) / (select

      (

        sum(`emission/10`.`Sharers`) / (select distinct

          count(`company/4`.`Date`)

        from `company/4`

        where

          (`company/4`.`id_use` = 1))      )

    from (`emission/10`

      join `company/4`)

    where

      (

        (`company/4`.`id_use` = 1) and

        (`emission/10`.`Date` <= `company/4`.`Date`)

      ))

  ) AS `Divided`,

  `currency/6`.`Currency` AS `Currency`

from ((((`sharer/1`   join `shar/8`)   join `shares/7`)

  join `company/4`)

  join `currency/6`)

where

  (    (`sharer/1`.`Id_sharer` = `shar/8`.`Id_sharer`) and

    (`shar/8`.`id_act` = `shares/7`.`id_act`) and

    (`company/4`.`id_cur` = `currency/6`.`id_cur`) and

    (`company/4`.`Date` >= `shar/8`.`Date`) and

    (`shar/8`.`id_act` = 1) and

    (`company/4`.`id_use` = 1) and

    (      `shar/8`.`Date` = (select         max(`shar/8`.`Date`)

      from `shar/8`

      where( (`shar/8`.`id_act` = 1) and (`shar/8`.`Id_sharer` = `sharer/1`.`Id_sharer`) and(`shar/8`.`Date` <= `company/4`.`Date`) ))    )  )

order by   `company/4`.`Date`

 

Результат виконання:

Рис. Д.5. Результат запиту на обчислення нарахувань для акціонерів за привілейованими акціями  

Обчислення та нарахування дивідендів за звичайними акціями.

Лістинг Д.6. Виконання запиту на обчислення нарахувань для акціонерів за звичайними акціями 

select

  `sharer/1`.`Surname` AS `Surname`,  `sharer/1`.`Name` AS `Name`,  `sharer/1`.`Midlename` AS `Midlename`,

  `shar/8`.`numb_shar` AS `numb_shar`,  `shares/7`.`Type_of_sharer` AS `Type_of_sharer`,

  `company/4`.`Date` AS `Date`,

  ( ( (

        `ost`.`Ostat` * (

          1 - (`shares/7`.`Procent` / 100)

        )) * `shar/8`.`numb_shar`

    ) / (select

      ( sum(`emission/10`.`Sharers`) / (select distinct

          count(`company/4`.`Date`)

        from `company/4`

        where

          (`company/4`.`id_use` = 1))      )

    from (`emission/10`

      join `company/4`)

    where ((`company/4`.`id_use` = 1) and (`emission/10`.`Date` <= `company/4`.`Date`) and  (`emission/10`.`id_act` = 2) ))  ) AS `Dividid`,

  `currency/6`.`Currency` AS `Currency`

from (((((`sharer/1`   join `shar/8`)   join `shares/7`)

  join `company/4`)   join `currency/6`)  join `ost`)

where((`sharer/1`.`Id_sharer` = `shar/8`.`Id_sharer`) and    (`shar/8`.`id_act` = `shares/7`.`id_act`) and

    (`company/4`.`id_cur` = `currency/6`.`id_cur`) and

    (`company/4`.`Date` >= `shar/8`.`Date`) and

    (`shar/8`.`id_act` = 2) and

    (`company/4`.`id_use` = 1) and

    (`ost`.`date` = `company/4`.`Date`) and

    (      `shar/8`.`Date` = (select

        max(`shar/8`.`Date`)

      from `shar/8`

      where((`shar/8`.`id_act` = 2) and   (`shar/8`.`Id_sharer` = `sharer/1`.`Id_sharer`) and (`shar/8`.`Date` <= `company/4`.`Date`)))))

Результат виконання:

Рис. Д.6. Результат запиту на обчислення нарахувань для акціонерів за звичайними акціями.

Виконання запитів в SQL Server

Інформація про акціонерів

Лістинг Д.7. Код запиту для надання інформацію про акціонерів

SELECT dbo.[sharer/1].Surname, dbo.[sharer/1].Name, dbo.[sharer/1].Midlename, dbo.[sharer/1].Telephone,dbo.[Shar/8].numb_shar,dbo.[Shares/7].Type_of_sharer, dbo.[City/5].city, dbo.[Region/2].Region,  dbo.[Country/3].Country

FROM dbo.[Country/3] INNER JOIN  dbo.[Region/2] INNER JOIN  dbo.[City/5] INNER JOIN dbo.[Shares/7] INNER JOIN dbo.[sharer/1] INNER JOIN dbo.[Shar/8] ON dbo.[sharer/1].Id_sharer = dbo.[Shar/8].Id_sharer ON dbo.[Shares/7].id_act = dbo.[Shar/8].id_act ON dbo.[City/5].id_city = dbo.[sharer/1].id_city ON dbo.[Region/2].id_region = dbo.[City/5].id_region ON dbo.[Country/3].id_country = dbo.[Region/2].id_country

WHERE     (dbo.[Shar/8].Date =(SELECT MAX(Date) AS Expr1

FROM dbo.[Shar/8] AS [Shar/8_1]

WHERE (Id_sharer = dbo.[sharer/1].Id_sharer) AND (id_act = dbo.[Shares/7].id_act)))

 

Результат виконання:

Рис. Д.7. Виконання запиту для  надання інформацію про акціонерів

Обчислення нарахування дивідендів за привілейованими акціями.

Лістинг Д.8. Виконання запиту на обчислення нарахувань для акціонерів за привілейованими акціями

SELECT dbo.[sharer/1].Surname AS Фамилия, dbo.[sharer/1].Name AS Имя, dbo.[sharer/1].Midlename AS Отчество, dbo.[Shar/8].numb_shar AS Количество, dbo.[Shares/7].Type_of_sharer AS Тип, [Company/4_1].Date AS Дата, [Company/4_1].Count_div * dbo.[Shar/8].numb_shar /(SELECT     SUM(dbo.[Emission/10].Sharers) /

(SELECT DISTINCT COUNT(Date)

FROM  dbo.[Company/4]

WHERE (id_use = 1))

FROM  dbo.[Emission/10] INNER JOIN dbo.[Company/4] AS [Company/4_2] ON dbo.[Emission/10].Date <= [Company/4_2].Date

WHERE ([Company/4_2].id_use = 1)) AS Дивиденды, dbo.[Currency/6].Currency AS Валюта

FROM dbo.[Currency/6] INNER JOIN dbo.[Company/4] AS [Company/4_1] ON dbo.[Currency/6].id_cur = [Company/4_1].id_cur INNER JOIN dbo.[sharer/1] INNER JOIN dbo.[Shar/8] ON dbo.[sharer/1].Id_sharer = dbo.[Shar/8].Id_sharer INNER JOIN dbo.[Shares/7] ON dbo.[Shar/8].id_act = dbo.[Shares/7].id_act ON [Company/4_1].Date >= dbo.[Shar/8].Date

WHERE (dbo.[Shar/8].id_act = 1) AND ([Company/4_1].id_use = 1) AND (dbo.[Shar/8].Date =(SELECT     MAX(Date)

FROM dbo.[Shar/8] AS [Shar/8_1]

WHERE (id_act = 1) AND (Id_sharer = dbo.[sharer/1].Id_sharer) AND (Date <= [Company/4_1].Date)))

ORDER BY Дата

 

Результат виконання:

Рис. Д.8. Обчислення нарахувань для акціонерів за привілейованими акціями.  

Обчислення та нарахування дивідендів за звичайними акціями.

Лістинг Д.9. Запиту на обчислення нарахувань для акціонерів за звичайними акціями. 

SELECT dbo.[sharer/1].Surname, dbo.[sharer/1].Name, dbo.[sharer/1].Midlename, dbo.[Shar/8].numb_shar AS Numb, dbo.[Shares/7].Type_of_sharer, [Company/4_1].Date, dbo.Остаток.Ost * (1 - (0. + dbo.[Shares/7].Procent) / 100) * dbo.[Shar/8].numb_shar /(SELECT  SUM(dbo.[Emission/10].Sharers) /(SELECT DISTINCT COUNT(Date) FROM dbo.[Company/4] WHERE (id_use = 1))

FROM dbo.[Emission/10] INNER JOIN dbo.[Company/4] AS [Company/4_2] ON dbo.[Emission/10].Date <= [Company/4_2].Date

WHERE ([Company/4_2].id_use = 1) AND (dbo.[Emission/10].id_act = 2)) AS Дивиденды, dbo.[Currency/6].Currency

FROM dbo.[Currency/6] INNER JOIN dbo.[Company/4] AS [Company/4_1] ON dbo.[Currency/6].id_cur = [Company/4_1].id_cur INNER JOIN dbo.[sharer/1] INNER JOIN dbo.[Shar/8] ON dbo.[sharer/1].Id_sharer = dbo.[Shar/8].Id_sharer INNER JOIN dbo.[Shares/7] ON dbo.[Shar/8].id_act = dbo.[Shares/7].id_act ON [Company/4_1].Date >= dbo.[Shar/8].Date INNER JOIN dbo.Остаток ON [Company/4_1].Date = dbo.Остаток.Дата

WHERE (dbo.[Shar/8].id_act = 2) AND ([Company/4_1].id_use = 1) AND (dbo.[Shar/8].Date =(SELECT     MAX(Date) FROM dbo.[Shar/8] AS [Shar/8_1]

WHERE (id_act = 2) AND (Id_sharer = dbo.[sharer/1].Id_sharer) AND (Date <= [Company/4_1].Date)))

Результат виконання:

Рис. Д.9. Результат запиту на обчислення нарахувань для акціонерів за звичайними акціями.


Информация о работе Опис організаційно-економічної сутності задачі