Разработка структуры БЗД по описанию предметной области
Задача № 4:
Ø Сотрудник(ФИО);
Ø его табельный номер;
Ø шифр вида оплаты;
Ø плановый аванс;
Ø месячный оклад;
Ø процент премирования;
Ø отдел его работы;
Ø начальник его отдела;
Ø домашний адрес начальника;
Ø домашний телефон начальника.
Структура БД:
Сотрудник (ФИО) | Его табельный номер | Шифр вида оплаты | Плановый аванс | Месячный оклад | Процент премирования | Отдел его работы | Начальник его отдела | Домашний адрес начальника | Домашний телефон начальника |
Решение: Выделение ИЭл и ИОб. Выделим ИЭлементы и рассмотрим несколько возможных вариантов организации их в ИОбъекты:
Вариант 1. БзД в виде одной таблицы «Сотрудники предприятия …» (одного ИОб).
«Сотрудники предприятия…»:
Ø Сотрудник(ФИО);
Ø его табельный номер;
Ø шифр вида оплаты;
Ø плановый аванс;
Ø месячный оклад;
Ø процент премирования;
Ø отдел его работы;
Ø начальник его отдела;
Ø домашний адрес начальника;
Ø домашний телефон начальника.
Вариант 2. БзД в виде четырех таблиц (четырех ИОб).
«Сотрудники»:
· Сотрудник (ФИО);
· его табельный номер;
· шифр вида оплаты;
· отдел его работы;
«Отделы»:
· отдел его работы;
· начальник его отдела;
«Вид оплаты»:
· шифр вида оплаты;
· плановый аванс;
· месячный оклад;
· процент премирования;
«Начальники»:
· начальник его отдела;
· домашний адрес начальника;
· домашний телефон начальника.
По приведенным вариантам видно, что при одном и том же количестве ИЭл в предметной области, может быть выделено большое количество различных ИОб. Какой же вариант предпочтительнее? Тот, в котором меньшее число дублированных ИЭл, так как такой вариант позволит упростить изменение ИЭл и внесение новых экземпляров в ИОб данной БзД. Другая сторона предпочтительности такого выделения ИОб (таблиц) – использование в каждой из них функциональной зависимости (X ®Yi, где X – ключ таблицы, а Yi, – её описательные атрибуты, причем каждое значение ключа xÎX определяет одно значение описательного атрибута yÎ Yi).
Для того, чтобы в предметной области рационально выделить ИОб, надо учесть требование функциональной зависимости и для остальных ИОб. Таким требованиям удовлетворяют ИОб, приведенные в
Варианте 2.
Для удобства работы с таблицами целесообразно уменьшить имена атрибутов (полей) ИОб:
1) Определение таблицы «Сотрудники» (ИОб1):
Название ИЭл из предметной области | Имя ИЭл (атрибута/поля) ИОб1 | Тип поля |
Сотрудник (ФИО); | ФИО | Текстовый 20* |
его табельный номер; | Номер | Числовой |
шифр вида оплаты; | Оплата | Числовой |
отдел его работы; | Отдел | Текстовый 20* |
Таким образом, ИОб1 Сотрудники имеет следующую структуру:
(ФИО*, номер, оплата, отдел*).
Приведем пример таблицыСотрудники:
Иванов И.И | ИТ | ||
Петров П.П | Технический | ||
Сидоров С.С | 6 | Финансовый |
Экземпляры ИОб1
Поле Поле Поле Поле «ФИО» «Номер» «Оплата» «Отдел»
2) Определение таблицы Отделы (ИОб2):
Название ИЭл из предметной области | Имя ИЭл (атрибута/поля) ИОб2 | Тип поля |
Отдел его работы | Отдел | Текстовый 20* |
Начальник его отдела | Начальник | Текстовый 20* |
Таким образом, ИОб2 Отделы имеет следующую структуру:
(Отдел*, Начальник*)
Приведем пример таблицыОтделы:
ИТ | Малютин И.И. |
Технический | Архипова П.П. |
Финансовый | Кудрявцев С.С. |
3) Определение таблицы Вид оплаты (ИОб3):
Название ИЭл из предметной области | Имя ИЭл (атрибута/поля) ИОб3 | Тип поля |
шифр вида оплаты; | Оплата | Числовой* |
плановый аванс; | Аванс | Денежный |
месячный оклад; | Оклад | Денежный |
процент премирования; | Премия | Процент |
Таким образом, ИОб3Вид оплаты имеет следующую структуру:
(Оплата*, аванс, оклад, премия)
Приведем пример таблицыВид оплаты:
2,000 | 10,000 | ||
3,000 | 17,000 | ||
5,000 | 19,000 |
4) Определение таблицы Начальники (ИОб4):
Название ИЭл из предметной области | Имя ИЭл (атрибута/поля) ИОб4 | Тип поля |
начальник его отдела | Начальник | Текстовый 20* |
домашний адрес начальника | Адрес | Текстовый 20 |
домашний телефон начальника | Телефон | Текстовый 20 |
Таким образом, ИОб4Начальники имеет следующую структуру:
(Начальник*, адрес, телефон)
Приведем пример таблицыНачальники:
Малютин И.И. | Ленина 34 | 33-33-33 |
Архипова П.П. | Согласия 77 | 44-44-44 |
Кудрявцев С.С. | Советская 65 | 55-55-55 |