Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова Чернишова.docx
Скачиваний:
45
Добавлен:
22.03.2015
Размер:
3.95 Mб
Скачать

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

4.1. Опис структурних таблиць

Всі таблиці за своєю структурою відповідають створеному коду, адже пов’язані поля мають однаковий формат. Структури таблиць (проекти)в конструкторі виглядають наступним чином (Рис. 4.1):

Амортизація

Надходження

Основні засоби

Ремонт

Склад

Вибуття

Рис. 4.1 Структури таблиць

Заповнювала таблиці я в конструкторі. Результат (Рис.4.2):

Рис. 4.2 Приклад заповнення таблиці

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

Для створення запитів в даному курсовому проекті використовувався конструктор запитів та мову Transact-SQL. Конструктор запитів SQL Server Management Studio складається з трьох частин (з рухомими границями між ними): області об‘єднання таблиць (зверху), області полів (посередині) і області, яка генерує SQL-код запиту (знизу).

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

У середній частині відображаються поля, які будуть включені в таблицю запиту, а також їх властивості.

Курсовий проект містить наступні запити (основні):

-Запити з обчисленнями.

-Запити, які виконують сортування.

-Запити вибірки за умовами.

-Групувальні запити.

-Підзапити та інші.

Запит 1. Надати інформацію про дату вибуття основного засобу зі складу:

SELECT Sklad.Cod_skladu, Osn_zasoby.Cod_Oz, Osn_zasoby.Nazva_Oz, Osn_zasoby.Cod_skladu AS Expr1, Vybuttya.Cod_Oz AS Expr2, Vybuttya.Data_vybuttya

FROM Osn_zasoby INNER JOIN

Sklad ON Osn_zasoby.Cod_skladu = Sklad.Cod_skladu INNER JOIN

Vybuttya ON Osn_zasoby.Cod_Oz = Vybuttya.Cod_Oz

Результати даного запиту зазначені наРис. 4.3:

Рис. 4.3 Результати даного запиту

Запит 2. Надати інформацію про дату надходження основного засобу на склад в період між 01.01.2010-01.01.2012 та відсортувати за зростанням код основного засобу:

SELECT Nadhodzennya.Cod_Oz, Nadhodzennya.Data_nadhodzennya, Osn_zasoby.Cod_Oz AS Expr1, Osn_zasoby.Nazva_Oz

FROM Nadhodzennya INNER JOIN

Osn_zasoby ON Nadhodzennya.Cod_Oz = Osn_zasoby.Cod_Oz

WHERE (Nadhodzennya.Data_nadhodzennya BETWEEN CONVERT(DATETIME, '2010-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2012-01-01 00:00:00', 102))

ORDER BY Nadhodzennya.Cod_Oz, Expr1

Результати даного запиту зазначені наРис. 4.4:

Рис. 4.4 Результати даного запиту

Запит 3. Надати інформацію про кількість основних засобів на складі, згрупувати за назвою основного засобу та його кількістю:

SELECT Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ

FROM Sklad INNER JOIN

Osn_zasoby ON Sklad.Cod_skladu = Osn_zasoby.Cod_skladu

Group By Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ

Результати даного запиту зазначені наРис. 4.5:

Рис. 4.5 Результати даного запиту

Запит 4. Надати інформацію про кількість основних засобів на складі, згрупувати за назвою основного засобу та його кількістю:

SELECT Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ

FROM Sklad INNER JOIN

Osn_zasoby ON Sklad.Cod_skladu = Osn_zasoby.Cod_skladu

Group By Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ

Результати даного запиту зазначені наРис. 4.6:

Рис. 4.6 Результати даного запиту

Запит 5. Надати інформацію про валовий прибуток від продажу всієї кількості основних засобів на підприємтсві за первинною варістю ОЗ:

SELECT Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ, Osn_zasoby.Zina_Oz, Sklad.Kilkist_OZ * Osn_zasoby.Zina_Oz AS Vartist

FROM Osn_zasoby INNER JOIN

Sklad ON Osn_zasoby.Cod_skladu = Sklad.Cod_skladu Результати даного запиту зазначені на Рис. 4.7:

Рис. 4.7 Результати даного запиту

Запит 6. Надати інформацію про кількість основного засобу «Шини» на складі підприємства:

Select Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ

From .Osn_zasoby, .Sklad

WHere Nazva_Oz In (Select Nazva_Oz From Osn_zasoby Where Cod_Oz = 10)

Результати даного запиту зазначені наРис. 4.8:

Рис. 4.8 Результати даного запиту

Запит 7. Надати інформацію про назви, коди та методи амортизації тих основних засобів, які потребують саме капітального ремонту:

SELECT Remont.Vyd_remontu, Osn_zasoby.Nazva_Oz, Amortizazia.Cod_methody_amortizazii, Amortizazia.Nazva_methody

FROM Remont INNER JOIN

Amortizazia ON Remont.Cod_methody_amortizazii = Amortizazia.Cod_methody_amortizazii INNER JOIN

Osn_zasoby ON Remont.Cod_Oz = Osn_zasoby.Cod_Oz

WHERE (Remont.Vyd_remontu = 'Капітальний’)

ORDER BY Osn_zasoby.Nazva_Oz

Результати даного запиту зазначені на Рис. 4.9:

Рис. 4.9 Результати даного запиту

Запит 8. Надати інформацію про запас основних засобів від 200 до 500, коди цих основних засобів та термін зберігання:

SELECT*

FROM Sklad

WHERE (Kilkist_OZ > 200) AND (Kilkist_OZ < 500 )

Результати даного запиту зазначені на Рис. 4.10:

Рис. 4.10 Результати даного запиту

Запит 9. Надати інформацію про дату надходження основних засобів «Шини» та «Деревина»:

SELECT Nadhodzennya.Data_nadhodzennya, Osn_zasoby.Nazva_Oz

FROM Nadhodzennya Inner join

Osn_zasoby ON Nadhodzennya.Cod_Oz=Osn_zasoby.Cod_Oz

WHERE Nazva_Oz in ('Шини', 'Деревина')

Результати даного запиту зазначені на Рис. 4.11:

Рис. 4.11 Результати даного запиту

Запит 10. Надати інформацію про дату вибуття основних засобів через причину «Застаріле», а також повідомити їх назву:

SELECT Vybuttya.Data_vybuttya, Osn_zasoby.Nazva_Oz

FROM Vybuttya Inner join

Osn_zasoby ON Vybuttya.Cod_Oz=Osn_zasoby.Cod_Oz

WHERE Prychyna_vybytty NOT like 'Застаріле'

Результати даного запиту зазначені на Рис. 4.12:

Рис. 4.12 Результати даного запиту

Запит 11. Надати інформацію про кількість видів основного засобу «Шини»:

SELECT Osn_zasoby.Nazva_Oz AS Осн_засоби_Nazva, Sklad.Cod_skladu AS Код_складу,

COUNT(Sklad.Kilkist_OZ)AS Кількість_ОЗ

FROM Sklad INNER JOIN

Osn_zasoby ON Osn_zasoby.Cod_skladu = Sklad.Cod_skladu

WHERE Osn_zasoby.Nazva_Oz = 'Шини'

GROUP BY Osn_zasoby.Nazva_Oz, Sklad.Cod_skladu

Результати даного запиту зазначені на Рис. 4.13

Рис. 4.13 Результати даного запиту

У запитах я багато разів використовувала псевдоніми для розуміння та зручного користування БД кінцевим користувачем:

Також я використовувала різні можливості оператора JOIN у запитах (Рис. 4.14): SELECT Sklad.Cod_skladu, Osn_zasoby.Cod_Oz, Osn_zasoby.Nazva_Oz

FROM Sklad LEFT OUTER JOIN

Osn_zasoby ON Sklad.Cod_skladu = Osn_zasoby.Cod_skladu

SELECT Osn_zasoby.Nazva_Oz, Sklad.Kilkist_OZ, Sklad.Cod_skladu

FROM Sklad LEFT JOIN

Osn_zasoby ON Osn_zasoby.Cod_skladu = Sklad.Cod_skladu

Рис. 4.14 Використання оператора JOIN

Згідно з результатами, всі запити були проведені успішно. Також мною було створено необхідне для роботи представлення (Рис. 4.15):

Рис. 4.15 Результат представлення

В базі даних також реалізовано чотири тригери. Тригер - це збережена процедура особливого типу, яку користувач не викликає особисто, а використання якої обумовлено настанням визначеної події: додаванням INSERT, вилученням рядка в заданій таблиці DELETE; зміною даних у певному стовпці заданої таблиці UPDATE.

У спроектованій базі даних тригер контролює оновлення, додавання та вилучення даних з таблиць.

Результат виконання можна побачити на Рис. 4.16:

Тригер 1:

CREATE TRIGGER [Додано ЗАПИС]

ON [dbo].[Osn_zasoby]

AFTER insert

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

Print 'Запис_додано_успішно’

-- Insert statements for trigger here

END

GO

Insert INTO [Oblik_Vika_0].[dbo].[Osn_zasoby]

(Cod_Oz, Nazva_Oz)

Values (110, 'Cкло')

Go

Тригер 2:

CREATE TRIGGER [Видалити ЗАПИС]

ON [dbo].[Osn_zasoby]

AFTER delete

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

Print 'Запис_видалено_успішно'

-- Insert statements for trigger here

END

GO

Delete [Osn_zasoby] Where Cod_Oz=110

Тригер 3:

CREATE TRIGGER [Оновити ЗАПИС]

ON [dbo].[Amortizazia]

AFTER Update

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

Print '_Запис_оновлено_успішно_'

-- Insert statements for trigger here

END

GO

Update Osn_zasoby

Set Nazva_Oz='Шини'

Where Cod_Oz=110

Тригер 4: CREATE TRIGGER [Оновити дату]

ON [dbo].[Amortizazia]

AFTER Update

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

Print 'ЗАПИС оновлено успішно'

-- Insert statements for trigger here

END

GO

Update Amortizazia

Set Data_narah_A='2015-01-01' Where Cod_methody_amortizazii=25

Рис.4.6 Результати дії тригеру

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

ВИСНОВКИ

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

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

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

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

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

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  1. Бутинець Ф.Ф. та ін. Інформаційні системи бухгалтерського обліку. -Житомир: ПП «Рута», 2002р. – С. 329-332.

  2. Виговська Н.Г. Удосконалення обліку амортизації: стан, проблеми, перспективи. / Житомирський інженерно-технологічний інститут – Житомир 2001р. – 340с.

  3. Герасименко С.С., Єпіфанов А.О. Бухгалтерський облік: актуальні проблеми та рішення. −Суми: ДВНЗ «УАБС НБУ», 2010р. − 162с.

  4. Грабова Н.М., Кривоносов Ю.Г. Облік основних господарських операцій в бухгалтерських проводках. – К.: А.С.К., 2002р. – С. 9-11.

  5. Круш П.В., Клименко О.В. Капітал, основні та оборотні засоби підприємства: Навч. посібник. – К.: Центр учбової літератури, 2008р.– 328 с. 3. Борщ Н. Амортизація: податковий та бухгалтерський облік. 3-видання, перероблене і доповнене. – Х.: «Фактор», 2003р.- 132с.

  6. Ситник Н.В. Проектування баз і сховищ даних: Навч.посібник. – К.: КНЕУ, 2004р. – 348 с.

  7. Ткаченко Н.М. Бухгалтерський фінансовий облік на підприємствах України. — К.: АСК, 2002р. – С. 163-165.