Разработка базы данных из предметной области "Предприятие"

Страницы работы

Содержание работы

СОДЕРЖАНИЕ

1 постановка задачи.. 3

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

2.1 Построение концептуальной модели 0-уровня. 4

2.2 Построение концептуальной модели 1-уровня. 5

3 ПРОЕКТИРОВАНИЕ Базы данных.. 6

3.1. Нормализация базы данных. 6

4 Логическая реализация Базы данных.. 9

5 Физическая реализация Базы данных.. 12

5.1 Скрипты.. 12

5.2 Триггеры.. 13

5.3 Заполнение таблиц. 13

6 Создание выборок.. 16

6.1 Вывод максимально зарплаты по отделам.. 16

6.2 Вывод начисленой зарплаты с учетом налогов. 16

7 МетаМОДЕЛЬ.. 18

7.1 Описание метамодели. 18

7.2 Скрипты метамодели. 19

7.3 Триггеры.. 20

7.4 Заполнение таблиц метамодели. 23

7.5 Результаты заполнения таблиц. 28

7.6 Sql запросы для метамодели. 32

7.6.1 Вывод максимально зарплаты по отделам.. 32

7.6.2 Вывод начисленой зарплаты с учетом налогов. 33

ВЫВОДЫ... 34

СПИСОК ЛИТЕРАТУРЫ... 35

1 постановка задачи

Отдел кадров и бухгалтерия некоторой компании:
— сотрудники: ФИО, паспортные данные, дом. и моб. телефоны; 
—   отдел: комната, раб. телефоны (в т.ч. местный), подчинённые сотрудники, должность, тип(ы) работы, задание(я), проект(ы), размер зарплаты, форма зарплаты (почасовая, фиксированная).

Реализовать возможность выполнения запросов и сами запросы:

- вывод максимально зарплаты по отделам;

- вывод начисленой зарплаты с учетом налогов.

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

2.1 Построение концептуальной модели 0-уровня

На первом этапе предпроектного исследования выяснено, что основная задача разрабатываемой системы - сопровождение процесса начисления зароботной платы сотрудникам предприятия.

Концептуальная модель 0-уровня приведена на рис. 1.1 показана в виде DFD диаграммы построенной с помощью CASE Studio. При её построении использовались такие элементы:

Ø поток данных – некая информация, которую нужно обработать(стрелка);

Ø процесс – превращение входных потоков данных в выходные в соответствии с алгоритмом (круг);

Ø  внешняя сущность– внешний относительно предметной области источник или приёмник данных (прямоугольник);

Ø хранилище данных – прообраз БД (параллельные линии).

Рисунок 2.1.1 — Концептуальная модель 0-уровня

2.2 Построение концептуальной модели 1-уровня

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

1.  Сотрудник обращается со свои запросом в нужный ему отдел, его принимает бухгалтер либо сотрудник отдела кадров соотвественно.

2.  Запрос сотрудника обрабатывается с использованием базы данных. 

Рисунок 2.2.1 — Концептуальная модель 1-го уровня

3 ПРОЕКТИРОВАНИЕ Базы данных

3.1. Нормализация базы данных

Изначально есть 2 отношения: сотрудники (ФИО, паспортные данные, дом. и моб. телефоны) и отдел (комната, раб. телефоны (в т.ч. местный), подчинённые сотрудники, должность, тип(ы) работы, задание(я), проект(ы), размер зарплаты, форма зарплаты (почасовая, фиксированная)). Для их связи между собой в каждую сущность добавляется атрибут «Код сотрудника» который будет первичным ключем.

Отношения «Сотрудники» и «Отдел» находится в I нормальной форме, нету повторяющихся строк и столбцов и порядок их прохождения не важен.

Отношение «Отдел» поддается аномалиям удаления и аномалиям вставки, если в какомто отделе не будет сотрудников то мы не сможем добавить информацию про него также мы не сможем занести в базу новый отдел пока в нем не будет хотябы одного сотрудника. Аналогично и с должностями. Если избавится еще и от транзитивных зависимостей мы перейдем сразу к III нормальной форме. Пошагово дальнейший процесс нормализации выглядит следующим образом:

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

2) Сущность «Сотрудники» разобьем на 2 сущности: «Люди» и «Сотрудники». В первой будит информация о человеке: код сотрудника, паспортные данные, телефоны; во вторую занесем код сотрудника и коды должности и отделов. Расделение производится для того, чтобы в случае увольнения сотрудника не потерять все данные о нем. Стоит заметить тот факт, что на одной и тойже должность может числится несколько сотрудников (например в отделе может быть несколько экономистов).

3) Для выполнения операций с зароботной платой создадим сущность «Зарплата». В этой сущности атрибутами будут являтся коды сотридника и должности, различные налоги которые платит сотрудник из своей зарплаты  и также количество отработаных часов (для сотрудников с почасовой оплатой).

Таким образом мы привели наши сущности к III нормальной форме.

Запишем атрибуты каждой сущности, а также их описание, в таблицы:

Таблица 1 Атрибуты отношения Люди

Похожие материалы

Информация о работе