Создание базы данных 'Бухгалтерия'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,7 Мб
  • Опубликовано:
    2013-10-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание базы данных 'Бухгалтерия'

Содержание

Введение

1.  Описание предметной области

1.1     Функциональная структура

1.2    Диаграмма потоков данных

1.3  Выделение информационных объектов и их атрибутов

2.  Концептуальная модель

3.      Логическое моделирование

.        Выбор СУБД

.        Физическая модель

.        Проектирование и реализация информационной системы

.1 Описание средств, использованных при реализации

.2 Тексты SQL-запросов и результаты их выполнения

Заключение

Список литературы

Приложение A Макетные данные

Введение

Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД).

Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.

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

Целью этой работы является создание базы данных, которая будет наглядно и в полной мере отображать все аспекты работы бухгалтерии при начислении заработной платы.

.       
Описание предметной области

Данная база данных предназначена для бухгалтерского учета при начислении заработной платы сотрудникам предприятия. БД позволяет вести учет договоров, когда-либо заключаемых на предприятии, хранит полную информацию о каждом сотруднике (ФИО, должность, адрес проживания, телефон и т.п.), позволяет вести контроль их рабочей деятельности. База данных позволяет также сформировать отчет по всем параметрам, интересующим как сотрудников (форма оплаты труда, оклад за каждый отработанный день, взыскания и поощрения полученные во время работы), так и органов контроля; это позволяет вести отчетность на бумаге.

1.1    Функциональная структура

Функции БД «Бухгалтерия» изображены на функциональной структуре (рисунок 1.1).

БД «Бухгалтерия» имеет возможности ведения учета:

·        сотрудников;

·        договоров;

·        поощрений;

·        взысканий;

·        выставлять счет.

Причем, имеется возможность:

·        редактирования данных (добавления, изменения, удаления ) в строках или кортежах таблиц;

·        поиска информации по созданным таблицам;

·        получения интересующей информации по определенным полям посредством написания запросов

Рисунок 1.1 - Функциональной структура БД «Бухгалтерия»

1.2    Диаграмма потоков данных

Функциональная структура системы представляет собой набор диаграмм потоков данных (далее - ДПД), которые описывают смысл операций и ограничений. ДПД отражает функциональные зависимости значений, вычисляемых в системе, включая входные значения, выходные значения и внутренние хранилища данных. ДПД - это граф, на котором показано движение значений данных от их источников через преобразующие их процессы к их потребителям в других объектах. ДПД содержит процессы, которые преобразуют данные. Потоки данных, которые переносят данные. Активные объекты, которые производят и потребляют данные, и хранилища данных, которые пассивно хранят данные.

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

Поток данных соединяет выход объекта (или процесса) со входом другого объекта (или процесса). Он представляет промежуточные данные вычислений. Поток данных изображается в виде стрелки между производителем и потребителем данных, помеченной именами соответствующих данных; примеры стрелок, изображающих потоки данных, представлены на рисунке ДПД.

Хранилище данных - это пассивный объект в составе ДПД, в котором данные сохраняются для последующего доступа. Хранилище данных допускает доступ к хранимым в нем данным в порядке, отличном от того, в котором они были туда помещены. Агрегатные хранилища данных, как например, списки и таблицы, обеспечивают доступ к данным в порядке их поступления, либо по ключам.

Рисунок 1.2 - Диаграмма потоков данных БД «Бухгалтерия»

1.3 Выделение информационных объектов и их атрибутов

В результате детального анализа предметной области, изучения функциональной структуры и построения схемы потоков данных были выделены следующие объекты:

.        Сотрудник

·        Табельный номер

·        ФИО

·        Отдел

·        Должность

.        Должность

·        Id Должности

·        Должность

·        Форма оплаты

·        Сумма\день

.        Договор

·        Id Договора

·        Дата начала

·        Id Сотрудника

·        Дата окончания

.        Личные данные

·        id сотрудника

·        Пол

·        Телефон

·        Семейное положение

·        Адрес

.        График работы

·        id Графика

·        Месяц

.        Счет

·        id Сотрудника

·        id Графика

·        Поощрения

·        Взыскания

·        Дата

.        Поощрения

·        id Поощрения

·        Наименование поощрения

·        Сумма

.        Взыскания

·        id Взыскания

·        Наименование взыскания

·        Сумма

.       
Концептуальная модель

Конструирование базы данных связано в конечном итоге с построением ее логической структуры, а именно: взаимосвязанных нормализованных реляционных таблиц, для формирования которых используется система управления базами данных (СУБД).

Однако основой для построения логической структуры является концептуальное моделирование, т.е. переход от описания реального мира к модели этого мира. Синтез концептуальной модели производится при помощи ряда методик. Одной из наиболее популярных семантических моделей данных является модель “Сущность-Связь” или “Объект-Отношение”.

При построении модели сущность-связь на начальном этапе каждый информационный объект заменяем сущностью, при этом каждое свойство объекта становится атрибутом сущности.

Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности.

Рисунок 2.1 - Концептуальная модель БД «Бухгалтерия»

Построение концептуальной модели заключается в выделении объектов и установлении между ними связей. Список объектов для предметной области “ Бухгалтерия ” будет выглядеть так: сотрудник, должность, договор, личные данные, график работы, счет, поощрения, взыскания. Каждый из этих объектов обладает собственными свойствами.

данные учет информационный логический

.       
Логическая модель

По концептуальной модели необходимо построить логическую модель. При этом атрибуты добавляются, в сущности, соответственно связям, показанным на концептуальной модели.

Добавленные в сущности-потомки атрибуты являются внешними ключами для сущностей-предков, в которых данные атрибуты являются первичными ключами.

Экземпляры сущностей связанные соотношением N:N требуют создать таблицы связки, этих сущностей, которая содержит первичные ключи этих сущностей.

Рисунок 3.4 - Логическая модель БД «Бухгалтерии»

4.     
Выбор СУБД

Для реализации базы данных была выбрана СУБД Oracle 11g . Это объясняется следующими возможностями данной СУБД:

         Поддержка языка SQL, который достаточно прост в обращении и позволяет без особых затрат времени извлекать любую информацию из базы данных;

         Real Application Cluster (RAC) обеспечивает работу одного экземпляра базы данных на нескольких узлах grid, позволяя управлять нагрузкой и гибко масштабировать систему в случае необходимости;

         Automatic Storage Management (ASM) позволяет автоматически распределять данные между имеющимися ресурсами систем хранения данных, что повышает отказоустойчивость системы и снижает общую стоимость владения (TCO);

         Производительность. Oracle Database 11g позволяет автоматически управлять уровнями сервиса и тиражировать эталонные конфигурации в рамках всей сети;

         Простые средства разработки. Новый инструмент разработки приложений HTML DB позволяет простым пользователям создавать эффективные приложения для работы с базами данных в короткие сроки;

         Самоуправление. Специальные механизмы Oracle Database 11g позволяют самостоятельно перераспределять нагрузку на систему, оптимизировать и корректировать SQL-запросы, выявлять и прогнозировать ошибки;

         Большие базы данных. Максимальный размер экземпляра базы данных Oracle может достигать 8 экзабайт;

         Недорогие серверные системы. Oracle Database 11g может использовать недорогие однопроцессорные компьютеры или модульные системы из "серверов-лезвий";

         Обеспечение транзакционной целостности, связана с организацией одновременного доступа значительного количества пользователей к данным размещенным на физическом носителе. Доступ производится в процессе выполнения транзакций представляющей собой логическую связь последовательных запросов и операций манипулирования данных;

         Буферирование. На обработку первого запроса уходит больше времени, чем на все последующие запросы это характеризуется тем, что их повторное использование позволяет исключить физический ввод данных с дискового устройства и уменьшает время выполнения запроса, ограничение объема буфера приводит к перманентному вытеснению из него раннее считанных блоков.

Ряд вышеперечисленных возможностей, выделяет СУБД Oracle 11g как наиболее подходящую для реализации базы данных по предоставляемым возможностям.

.       
Физическая модель

Физическая модель данных представлена реляционными таблицами, в которых в виде кортежей реляционных отношений хранится информация.

Таблица 5.1 Типы данных

Тип

Наименование типа

Размер (байты)

Содержание

Текстовый

varchar

каждый символ по 1

Буквы, цифры, спец. символы(%, &, #)

Числовой

integer

4

Используется, чтобы выполнять арифметические операции над значениями из этого поля

Дата

date

8

Даты до 31 декабря 9999 года


Для создания таблицы «operating_schedule» (График работы):

CREATE TABLE operating_schedule

(id_schedule int primary key NOT NULL,varchar2(40),CHECK (monthh IN('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь')),_days int

);

Для создания таблицы «posts» (Должность):

CREATE TABLE posts

( _post int primary key NOT NULL,varchar2(40),_payment varchar2(45),CHECK (method_payment IN('Повременная','Сдельная','Смешанная','Повременно-премиальная')), int

);

Для создания таблицы «promotion» (Поощрения):

( _promotion int primary key NOT NULL,_promotion varchar2(40),_summ int

);

Для создания таблицы «penalty» (Взыскания):

CREATE TABLE penalty

( _penalty int primary key NOT NULL,_penalty varchar2(40),_summ int

);

Для создания таблицы «staff» (Сотрудник):

CREATE TABLE staff

( _number int primary key NOT NULL,varchar2(60),varchar2(40),_post int,KEY (id_post) REFERENCES posts(id_post)

);

Для создания таблицы «staff_posts» (Сотрудник\Должность):

CREATE TABLE staff_posts

( _staff int NOT NULL,_post int NOT NULL,KEY (id_staff) REFERENCES staff(employee_number),KEY (id_post) REFERENCES posts(id_post)

);

Для создания таблицы «personal_data» (Личная информация):

CREATE TABLE personal_data

( _staff int NOT NULL,varchar2(3),int,_status varchar2(40),CHECK (marital_status IN('{Холост','Женат','Замужем','Не замужем')),varchar2(100),KEY (id_staff) REFERENCES staff(employee_number)

);

Для создания таблицы «contract» (Договор):

CREATE TABLE contract

( _contract int primary key NOT NULL,_date date,_date date,_staff int,KEY (id_staff) REFERENCES staff(employee_number)

);

Для создания таблицы «accounts» (Счет):

CREATE TABLE accounts

( _account int primary key NOT NULL,_staff int NOT NULL,_schedule int NOT NULL,KEY (id_staff) REFERENCES staff(employee_number),KEY (id_schedule) REFERENCES operating_schedule(id_schedule)

);

Для создания таблицы «accounts_promotion» (Счет\Поощрения):

CREATE TABLE accounts_promotion

( id_account int NOT NULL,_promotion int NOT NULL,KEY (id_account) REFERENCES accounts(id_account),KEY (id_promotion) REFERENCES promotion(id_promotion));

Для создания таблицы «accounts_penalty» (Счет\Взыскания):

CREATE TABLE accounts_penalty

( id_account int NOT NULL,_penalty int NOT NULL,KEY (id_account) REFERENCES accounts(id_account),KEY (id_penalty) REFERENCES penalty(id_penalty)

);

.       
Проектирование и реализация информационной системы

.1 Описание средств, использованных при реализации

Создание базы данных.

Для создания базы данных «Бухгалтерия», были созданы таблицы с помощью средств, предлагаемых СУБД Oracle 11g. Создаются каркасы таблиц, отмечаются ключевые поля, устанавливаются типы данных для каждого поля, а потом таблицы заполняются данными (приведены в приложении A). После того как таблицы созданы, необходимо их связать по ключевым полям. На последующем этапе были сформулированы запросы.

При создании запроса в СУБД Oracle 11g было использовано приложение PLSQL Developer . Это объясняется удобством и простотой языка SQL, который представляет достаточно богатый набор средств для формирования запросов.

.2 Тексты SQL-запросов и результаты их выполнения

Ниже приведены все SQL-запросы, использованные в процессе создания информационной системы.

Простые запросы

.        В каком отделе работает - Долматов Алексей Сергеевич ?


.        Вывести полную информацию о клиенте табельный номер которого = 4.


.        Сколько будет вычет из зарплаты за 5 опозданий?


.        Сколько будет вычтено за прогул?


.        Выдать информацию о Кулинове Дмитрие Андреевиче

 

.       
Найти все договора заключенные после 25.12.2011.


.        Найти id договора и id сотрудника, которые были наняты до 12.05.2011.

 

.        Какие договора оформлены после 12.05.2011, но до 25.12.2011?


.       
На какой должности можно получать больше 1000 рублей в день?


.        Вывести всех сотрудников связанных с IT.


.        Вывести всех сотрудников работающих в отделе АСУ или IT.


.       
Вывести срок окончания договоров с сотрудниками.


.        Вывести полную информацию о договорах, заключенных меньше чем на год.


.       
Вывести информацию о сотрудниках живущих на Никольского


.        Вывести наименование поощрения и его размер в одном столбце через пробел


.        Вывести максимальный размер поощрения.


.       
Посчитать максимальное количество рабочих дней в месяце, для месяцев в которых раньше минимальное количество рабочих дней было < 20


.        Вывести ФИО сотрудницы и её телефон, если она не замужем.


.        Вывести всю информацию о сотрудниках - мужчинах.


.       
Вывести адрес и телефон Сотрудника, номер трудового договора которого № 3


.        Какие сотрудники работал почти без в июне месяце?


.        Вывести id счета, ФИО клиента и его зарплату за отработанные месяцы.


.       
Вывести ФИО сотрудников отработавших максимальное количество дней за 1 месяц.


.        Вывести максимальную сумму взыскания которая меньше минимальной суммы поощрения.


.        Есть ли взыскания которые больше суммы всех поощрений, и какой размер штрафа?


.        Найти личные данные сотрудника, дата окончания договора с которым = 01.01.2013.

 

27.    Пример использования левого внешнего соединения: ФИО и дату окончания договоров.


.        Вывести табельный номер сотрудника, его ФИО и отдел в котором он работает, если его договор не был заключен в период с 12.05.2011 по 25.12.2011?


.        Вывести ФИО, должность и заработную плату Разработчик БД за 2 месяца с учетом выписанных поощрений.


.       
Вывести ФИО, должность и заработную плату директора и, к примеру, Петренко Николай Васильевич за 2 месяца с учетом выписанных поощрений и взысканий.

данные учет информационный логический

Заключение

В результате выполнения курсового проекта спроектирована и полностью проанализирована предметная область «Бухгалтерия». На основе выделенных информационных объектов и их атрибутов построена концептуальная и логическая модель, т.е. проведено проектирование баз данных: концептуальное, логическое и физическое. Проектирование баз данных - процесс решения класса задач, связанных с созданием баз данных.

Достигнутые основные цели проектирования баз данных. Это:

·        Обеспечение хранения в БД всей необходимой информации.

·        Обеспечение возможности получения данных по всем необходимым запросам.

·        Сокращение избыточности и дублирования данных.

·        Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.

Физическая модель данных представлена реляционными таблицами, вся информация которых содержится в базе данных, реализованной на СУБД Oracle 11g. Также спроектирована и реализована информационная система, описанная созданием базы и запросов на языке SQL.

Список литературы

1. Дж. Грофф, П. Вайнберг: «Энциклопедия SQL», Питер, 2004 год;

2. Г.А. Черноморов «Базы данных в среде промышленных СУБД» - Новочеркасск : ЮРГТУ, 2006;

. Дейт К. «Введение в системы баз данных». К.; М.; Спб; Издат. Дом «Вильямс». 2000.

. Г. Хансен, Д. Хансен «Базы данных: разработка и управление» //Пер. с англ. - М.: ЗАО «Издательство БИНОМ», - 2003.-704 с.:ил

. М.Я. Выгодский: «Проектирование баз данных», Москва, 2005.

Приложение A

Макетные данные:

Таблица 9.1 «operating_schedule» (График работы):


Таблица 9.2 «posts» (Должность):


Таблица 9.3 «promotion» (Поощрения):


Таблица 9.4 «penalty» (Взыскания):


Таблица 9.5 «staff» (Сотрудник):

 

Таблица 9.6 «staff_posts» (Сотрудник\Должность):


Таблица 9.7 «personal_data» (Личная информация):


Таблица 9.8 «contract» (Договор):


Таблица 9.9 «accounts» (Счет):


Таблица 9.10 «accounts_promotion» (Счет\Поощрения):


Таблица 9.11 «accounts_penalty» (Счет\Взыскания):

Похожие работы на - Создание базы данных 'Бухгалтерия'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!