Создание базы данных "Бухгалтерия"
Конструирование базы данных для бухгалтерского учета при начислении зарплаты сотрудникам. Функциональная структура, концептуальная, логическая и физическая модель БД. Выделение информационных объектов. Тексты SQL-запросов, результаты их выполнения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.10.2013 |
Размер файла | 3,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Описание предметной области
1.1 Функциональная структура
1.2 Диаграмма потоков данных
1.3 Выделение информационных объектов и их атрибутов
2. Концептуальная модель
3. Логическое моделирование
4. Выбор СУБД
5. Физическая модель
6. Проектирование и реализация информационной системы
6.1 Описание средств, использованных при реализации
6.2 Тексты SQL-запросов и результаты их выполнения
Заключение
Список литературы
Приложение A Макетные данные
Введение
Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД).
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.
В современной действительности сложно представить себе предприятие, на котором не уделялось бы достойного внимания бухгалтерии, начислению заработной платы. Учет различных поощрений, взысканий, количества отработанных дней для большого числа сотрудников является довольно трудоемким.
Целью этой работы является создание базы данных, которая будет наглядно и в полной мере отображать все аспекты работы бухгалтерии при начислении заработной платы.
1. Описание предметной области
Данная база данных предназначена для бухгалтерского учета при начислении заработной платы сотрудникам предприятия. БД позволяет вести учет договоров, когда-либо заключаемых на предприятии, хранит полную информацию о каждом сотруднике (ФИО, должность, адрес проживания, телефон и т.п.), позволяет вести контроль их рабочей деятельности. База данных позволяет также сформировать отчет по всем параметрам, интересующим как сотрудников (форма оплаты труда, оклад за каждый отработанный день, взыскания и поощрения полученные во время работы), так и органов контроля; это позволяет вести отчетность на бумаге.
1.1 Функциональная структура
Функции БД «Бухгалтерия» изображены на функциональной структуре (рисунок 1.1).
БД «Бухгалтерия» имеет возможности ведения учета:
· сотрудников;
· договоров;
· поощрений;
· взысканий;
· выставлять счет.
Причем, имеется возможность:
· редактирования данных (добавления, изменения, удаления ) в строках или кортежах таблиц;
· поиска информации по созданным таблицам;
· получения интересующей информации по определенным полям посредством написания запросов
Рисунок 1.1 - Функциональной структура БД «Бухгалтерия»
1.2 Диаграмма потоков данных
Функциональная структура системы представляет собой набор диаграмм потоков данных (далее - ДПД), которые описывают смысл операций и ограничений. ДПД отражает функциональные зависимости значений, вычисляемых в системе, включая входные значения, выходные значения и внутренние хранилища данных. ДПД - это граф, на котором показано движение значений данных от их источников через преобразующие их процессы к их потребителям в других объектах. ДПД содержит процессы, которые преобразуют данные. Потоки данных, которые переносят данные. Активные объекты, которые производят и потребляют данные, и хранилища данных, которые пассивно хранят данные.
Процесс преобразует значения данных. Процессы самого нижнего уровня представляют собой функции без побочных эффектов. Процесс может иметь побочные эффекты, если он содержит нефункциональные компоненты, такие как хранилища данных или внешние объекты.
Поток данных соединяет выход объекта (или процесса) со входом другого объекта (или процесса). Он представляет промежуточные данные вычислений. Поток данных изображается в виде стрелки между производителем и потребителем данных, помеченной именами соответствующих данных; примеры стрелок, изображающих потоки данных, представлены на рисунке ДПД.
Хранилище данных - это пассивный объект в составе ДПД, в котором данные сохраняются для последующего доступа. Хранилище данных допускает доступ к хранимым в нем данным в порядке, отличном от того, в котором они были туда помещены. Агрегатные хранилища данных, как например, списки и таблицы, обеспечивают доступ к данным в порядке их поступления, либо по ключам.
Рисунок 1.2 - Диаграмма потоков данных БД «Бухгалтерия»
1.3 Выделение информационных объектов и их атрибутов
В результате детального анализа предметной области, изучения функциональной структуры и построения схемы потоков данных были выделены следующие объекты:
1. Сотрудник
· Табельный номер
· ФИО
· Отдел
· Должность
2. Должность
· Id Должности
· Должность
· Форма оплаты
· Сумма\день
3. Договор
· Id Договора
· Дата начала
· Id Сотрудника
· Дата окончания
4. Личные данные
· id сотрудника
· Пол
· Телефон
· Семейное положение
· Адрес
5. График работы
· id Графика
· Месяц
· Отработано дней
6. Счет
· id Сотрудника
· id Графика
· Поощрения
· Взыскания
· Дата
7. Поощрения
· id Поощрения
· Наименование поощрения
· Сумма
8. Взыскания
· id Взыскания
· Наименование взыскания
· Сумма
2. Концептуальная модель
Конструирование базы данных связано в конечном итоге с построением ее логической структуры, а именно: взаимосвязанных нормализованных реляционных таблиц, для формирования которых используется система управления базами данных (СУБД).
Однако основой для построения логической структуры является концептуальное моделирование, т.е. переход от описания реального мира к модели этого мира. Синтез концептуальной модели производится при помощи ряда методик. Одной из наиболее популярных семантических моделей данных является модель “Сущность-Связь” или “Объект-Отношение”.
При построении модели сущность-связь на начальном этапе каждый информационный объект заменяем сущностью, при этом каждое свойство объекта становится атрибутом сущности.
Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности.
Рисунок 2.1 - Концептуальная модель БД «Бухгалтерия»
Построение концептуальной модели заключается в выделении объектов и установлении между ними связей. Список объектов для предметной области “ Бухгалтерия ” будет выглядеть так: сотрудник, должность, договор, личные данные, график работы, счет, поощрения, взыскания. Каждый из этих объектов обладает собственными свойствами.
данные учет информационный логический
3. Логическая модель
По концептуальной модели необходимо построить логическую модель. При этом атрибуты добавляются, в сущности, соответственно связям, показанным на концептуальной модели.
Добавленные в сущности-потомки атрибуты являются внешними ключами для сущностей-предков, в которых данные атрибуты являются первичными ключами.
Экземпляры сущностей связанные соотношением 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. Физическая модель
Физическая модель данных представлена реляционными таблицами, в которых в виде кортежей реляционных отношений хранится информация.
Таблица 5.1 Типы данных
Тип |
Наименование типа |
Размер (байты) |
Содержание |
|
Текстовый |
varchar |
каждый символ по 1 |
Буквы, цифры, спец. символы(%, &, #) |
|
Числовой |
integer |
4 |
Используется, чтобы выполнять арифметические операции над значениями из этого поля |
|
Дата |
date |
8 |
Даты до 31 декабря 9999 года |
Для создания таблицы «operating_schedule» (График работы):
CREATE TABLE operating_schedule
(id_schedule int primary key NOT NULL,
monthh varchar2(40),CHECK (monthh IN('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь')),
number_days int
);
Для создания таблицы «posts» (Должность):
CREATE TABLE posts
(
id_post int primary key NOT NULL,
posti varchar2(40),
method_payment varchar2(45),CHECK (method_payment IN('Повременная','Сдельная','Смешанная','Повременно-премиальная')),
suma int
);
Для создания таблицы «promotion» (Поощрения):
CREATE TABLE promotion
(
id_promotion int primary key NOT NULL,
naim_promotion varchar2(40),
promotion_summ int
);
Для создания таблицы «penalty» (Взыскания):
CREATE TABLE penalty
(
id_penalty int primary key NOT NULL,
naim_penalty varchar2(40),
penalty_summ int
);
Для создания таблицы «staff» (Сотрудник):
CREATE TABLE staff
(
employee_number int primary key NOT NULL,
FIO varchar2(60),
department varchar2(40),
id_post int,
FOREIGN KEY (id_post) REFERENCES posts(id_post)
);
Для создания таблицы «staff_posts» (Сотрудник\Должность):
CREATE TABLE staff_posts
(
id_staff int NOT NULL,
id_post int NOT NULL,
FOREIGN KEY (id_staff) REFERENCES staff(employee_number),
FOREIGN KEY (id_post) REFERENCES posts(id_post)
);
Для создания таблицы «personal_data» (Личная информация):
CREATE TABLE personal_data
(
id_staff int NOT NULL,
pol varchar2(3),
phone int,
marital_status varchar2(40),CHECK (marital_status IN('{Холост','Женат','Замужем','Не замужем')),
address varchar2(100),
FOREIGN KEY (id_staff) REFERENCES staff(employee_number)
);
Для создания таблицы «contract» (Договор):
CREATE TABLE contract
(
id_contract int primary key NOT NULL,
start_date date,
expiration_date date,
id_staff int,
FOREIGN KEY (id_staff) REFERENCES staff(employee_number)
);
Для создания таблицы «accounts» (Счет):
CREATE TABLE accounts
(
id_account int primary key NOT NULL,
id_staff int NOT NULL,
id_schedule int NOT NULL,
FOREIGN KEY (id_staff) REFERENCES staff(employee_number),
FOREIGN KEY (id_schedule) REFERENCES operating_schedule(id_schedule)
);
Для создания таблицы «accounts_promotion» (Счет\Поощрения):
CREATE TABLE accounts_promotion
( id_account int NOT NULL,
id_promotion int NOT NULL,
FOREIGN KEY (id_account) REFERENCES accounts(id_account),
FOREIGN KEY (id_promotion) REFERENCES promotion(id_promotion));
Для создания таблицы «accounts_penalty» (Счет\Взыскания):
CREATE TABLE accounts_penalty
( id_account int NOT NULL,
id_penalty int NOT NULL,
FOREIGN KEY (id_account) REFERENCES accounts(id_account),
FOREIGN KEY (id_penalty) REFERENCES penalty(id_penalty)
);
6. Проектирование и реализация информационной системы
6.1 Описание средств, использованных при реализации
Создание базы данных.
Для создания базы данных «Бухгалтерия», были созданы таблицы с помощью средств, предлагаемых СУБД Oracle 11g. Создаются каркасы таблиц, отмечаются ключевые поля, устанавливаются типы данных для каждого поля, а потом таблицы заполняются данными (приведены в приложении A). После того как таблицы созданы, необходимо их связать по ключевым полям. На последующем этапе были сформулированы запросы.
При создании запроса в СУБД Oracle 11g было использовано приложение PLSQL Developer . Это объясняется удобством и простотой языка SQL, который представляет достаточно богатый набор средств для формирования запросов.
6.2 Тексты SQL-запросов и результаты их выполнения
Ниже приведены все SQL-запросы, использованные в процессе создания информационной системы.
Простые запросы
1. В каком отделе работает - Долматов Алексей Сергеевич ?
2. Вывести полную информацию о клиенте табельный номер которого = 4.
3. Сколько будет вычет из зарплаты за 5 опозданий?
4. Сколько будет вычтено за прогул?
5. Выдать информацию о Кулинове Дмитрие Андреевиче
6. Найти все договора заключенные после 25.12.2011.
7. Найти id договора и id сотрудника, которые были наняты до 12.05.2011.
8. Какие договора оформлены после 12.05.2011, но до 25.12.2011?
9. На какой должности можно получать больше 1000 рублей в день?
10. Вывести всех сотрудников связанных с IT.
11. Вывести всех сотрудников работающих в отделе АСУ или IT.
12. Вывести срок окончания договоров с сотрудниками.
13. Вывести полную информацию о договорах, заключенных меньше чем на год.
14. Вывести информацию о сотрудниках живущих на Никольского
15. Вывести наименование поощрения и его размер в одном столбце через пробел
16. Вывести максимальный размер поощрения.
17. Посчитать максимальное количество рабочих дней в месяце, для месяцев в которых раньше минимальное количество рабочих дней было < 20
18. Вывести ФИО сотрудницы и её телефон, если она не замужем.
19. Вывести всю информацию о сотрудниках - мужчинах.
20. Вывести адрес и телефон Сотрудника, номер трудового договора которого № 3
21. Какие сотрудники работал почти без в июне месяце?
22. Вывести id счета, ФИО клиента и его зарплату за отработанные месяцы.
23. Вывести ФИО сотрудников отработавших максимальное количество дней за 1 месяц.
24. Вывести максимальную сумму взыскания которая меньше минимальной суммы поощрения.
25. Есть ли взыскания которые больше суммы всех поощрений, и какой размер штрафа?
26. Найти личные данные сотрудника, дата окончания договора с которым = 01.01.2013.
27. Пример использования левого внешнего соединения: ФИО и дату окончания договоров.
28. Вывести табельный номер сотрудника, его ФИО и отдел в котором он работает, если его договор не был заключен в период с 12.05.2011 по 25.12.2011?
29. Вывести ФИО, должность и заработную плату Разработчик БД за 2 месяца с учетом выписанных поощрений.
30. Вывести ФИО, должность и заработную плату директора и, к примеру, Петренко Николай Васильевич за 2 месяца с учетом выписанных поощрений и взысканий.
данные учет информационный логический
Заключение
В результате выполнения курсового проекта спроектирована и полностью проанализирована предметная область «Бухгалтерия». На основе выделенных информационных объектов и их атрибутов построена концептуальная и логическая модель, т.е. проведено проектирование баз данных: концептуальное, логическое и физическое. Проектирование баз данных - процесс решения класса задач, связанных с созданием баз данных.
Достигнутые основные цели проектирования баз данных. Это:
· Обеспечение хранения в БД всей необходимой информации.
· Обеспечение возможности получения данных по всем необходимым запросам.
· Сокращение избыточности и дублирования данных.
· Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.
Физическая модель данных представлена реляционными таблицами, вся информация которых содержится в базе данных, реализованной на СУБД Oracle 11g. Также спроектирована и реализована информационная система, описанная созданием базы и запросов на языке SQL.
Список литературы
1. Дж. Грофф, П. Вайнберг: «Энциклопедия SQL», Питер, 2004 год;
2. Г.А. Черноморов «Базы данных в среде промышленных СУБД» - Новочеркасск : ЮРГТУ, 2006;
3. Дейт К. «Введение в системы баз данных». К.; М.; Спб; Издат. Дом «Вильямс». 2000.
4. Г. Хансен, Д. Хансен «Базы данных: разработка и управление» //Пер. с англ. - М.: ЗАО «Издательство БИНОМ», - 2003.-704 с.:ил
5. М.Я. Выгодский: «Проектирование баз данных», Москва, 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» (Счет\Взыскания):
Размещено на Allbest.ru
Подобные документы
Выделение информационных объектов и их инфологическая модель. Логическая структура реляционной базы данных. Разработка таблиц в системе управления базами данных Access. Создание запросов, форм и отчетов в СУБД Access. Разработка приложения пользователя.
курсовая работа [2,8 M], добавлен 05.02.2018Анализ возможностей системы управления базами данных "Microsoft Access 2003". Создание базы данных, предназначенной для отражения деятельности аэропорта. Концептуальная и физическая модель базы данных. Создание таблиц, запросов, отчетов и главной формы.
курсовая работа [1,8 M], добавлен 26.06.2013Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.
курсовая работа [906,6 K], добавлен 20.01.2010Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 16.04.2017Внешний, концептуальный и внутренний уровень архитектуры ANSI/SPARC. Логическая и физическая модель. Основные требования к функциям системы. SQL скрипты, триггеры, последовательности, запросы базы данных "Бухгалтерия (учет материальных ценностей)".
курсовая работа [1,7 M], добавлен 03.12.2014Разработка информационно-логической схемы базы данных для горнолыжного курорта. Выделение объектов и информационных процессов в данной области. Реляционная модель базы данных. Разработка интерфейса пользователя. Создание форм, отчетов и запросов.
курсовая работа [4,3 M], добавлен 17.03.2014Выделение сущностей базы данных и связей между ними. Организация ее объектов. Логическая и физическая модель БД. Определение требований к информационной системе. Проектирование транзакций и пользовательского интерфейса. Разработка отчетов и запросов.
курсовая работа [2,4 M], добавлен 17.10.2014Концептуальная модель, спецификация атрибутов. Диаграмма "сущность-связь". Пакет Sybase PowerDesigner. Разработка SQL-скрипта создания разрабатываемой базы данных. Создание и заполнение базы данных. Выполнение запросов на чтение, модификацию и удаление.
курсовая работа [2,3 M], добавлен 24.02.2014Особенности систем управления базами данных (СУБД): основные понятия, реляционные базы, основные этапы их проектирования. Концептуальная (логическая) модель БД "Экспресс поставки", её физическая модель, создание в Access и SQL запроса к БД при её работе.
курсовая работа [1,2 M], добавлен 19.11.2012Выбор средств разработки базы данных для информационного функционирования аэропорта. Выделение и нормализация сущностей. Логическая схема и физическая структура базы данных. Спецификация и тестирование функций, процедур, триггеров, представлений.
курсовая работа [1,5 M], добавлен 07.06.2013