Описание организации информационной базы
Логическая структура базы данных приведена к третьей нормальной форме, т.е в ней отсутствуют функциональная и транзитивная зависимости. Логическая модель базы данных представлена на рисунке 2.3
Рисунок 2.3 − Логическая структура БД
Для обеспечения корректности использования данных в БД и сохранения их целостности введены ключевые поля такие как «идентификатор сотрудника», «идентификатор должности» и «идентификатор заслуги». Вид ссылочной целостности для каждой связи CASCADE, т.е. если запись удаляется из родительской таблицы, то связанные с ней записи в дочерних таблицах удаляются автоматически.
В случае если должность является свободной, т.е. временно ее никто не занимает то в таблице «Штат» в записи, соответствующей этой должности в поле «идентификатор сотрудника» записываться ноль, аналогичное действие осуществляется в случае если сотрудник временно не находиться ни на какой должности − в поле «идентификатор должности» таблицы «Штат» записывается ноль.
В поле «ранг должности» в таблице «Должности» заноситься ранг должности согласно иерархической иерархии должностей предприятия, т.е. рядовой сотрудник имеет ранг равный единицы, начальник какого либо подразделения − ранг равен 2, начальник нескольких подразделений − 3, и т.д.
Правила валидации и значения данных по умолчанию
Таблица 2.1 Правила валидации и значения по умолчанию
Сущность | Атрибут | Правило валидации | Значение по умолчанию |
Должности | идентификатор должности | Числовое значение | Генерируется автоматически |
Штат | год постановки на должность | Числовое значение | Генерируется в момент постановки на должность |
Сотрудники | Идентификатор сотрудника | Числовое значение | Генерируется автоматически |
Физическая модель БД, представлена на рисунке 2.4
Рисунок 2.4 − Физическая модель БД
Объемы памяти, занимаемые стандартными типами полей СУБД Access, используемыми в БД, представлены в таблице 2.2
Таблица 2.2 − Объем типов данных СУБД Access.
Тип данных | Объем, байт |
Text(1) | 1 |
Byte | 1 |
Integer | 4 |
Longinteger | 6 |
Date/Time | 8 |
Double | 8 |
Примем среднее число должностей предприятия равным 200, соответственно среднее количество записей в таблицах «Должности», «Штат» и сотрудники будет равно 200. Среднее число заслуг на одного сотрудника примем равным 3, соответственно среднее число записей в таблице «Заслуги» будет составлять 200*3=600.
Таблица 2.3 − Расчет объема базы данных.
Название таблицы | Количество записей | V одной записи, байт | V таблицы, байт |
Dolg | 200 | 6+20+20+80+6=132 | 26400 |
Stat | 200 | 6+6+6=18 | 3600 |
Sotrudnik | 200 | 6+20+20+6+6=38 | 7600 |
Zasl | 600 | 6+6+40+6=58 | 34800 |
Общий объём базы данных (за 10 лет):
Vобщ=1,2*(26400+3600+7600+34800)= 86880 байт= 89 Мб