Хелпикс

Главная

Контакты

Случайная статья





2. Анализ предметной области. 3. Нормализация



2. Анализ предметной области

В соответствии с задачами, которые поставлены перед базой, выделим три сущности:

1. «Структура» - в этой сущности заключена информация о структуре предприятия (отдел, цех, название, номер, расположение, должности).

2. «Вакансии» - в этой сущности заключена информация о вакансиях (вакансия, подразделение, отдел, цех, количество, опыт работы, образование).

3. «Кандидат» - в этой сущности заключена информация о кандидатах (ФИО, паспортные данные, адрес, телефон, опыт работы, образование, вакансия, подразделение)

В нашем случае подразделение будет состоять из отдела и цеха.

 

Эти сущности взаимосвязаны следующим образом:

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

2. На одну вакансию может претендовать несколько кандидатов, так же один кандидат может претендовать на несколько вакансий, поэтому связь будет «Много ко многим», но мы будем искать кандидата по ФИО и вакансии, поэтому связь будет «Один ко многим».

 

Рис. 1. Структура сущностей

 

 

3. Нормализация

Первая нормальная форма требует:

1. простую структуру таблиц;

2. в таблицах не должно быть одинаковых по смыслу полей;

3. в таблице не должно быть составных полей;

4. в таблице не должно быть одинаковых записей.

Рассмотрим выполнение требований первой нормальной формы к каждой таблице.

1. В каждой таблице информация предоставляется в виде совокупности строк и столбцов.

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

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

4. Двух полностью одинаковых строк ни в одной таблице не должно быть. В каждой из таблиц есть поля, которые уникальны и не повторяются. Например, совокупность полей " Отдел" и " Цех" в таблице " Структура".

 

Рис. 2. Первая нормальная форма

 

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

 

Определение первичных ключей:

В таблице «Структура» в качестве первичного ключа можно выбрать совокупность полей «Отдел» и «Цех». В таблице «Вакансии» первичным ключом является совокупность полей «Вакансия», «Отдел», «Цех» и «Подразделение», так как они однозначно определяют запись. В таблице «Кандидат» в качестве первичного ключа можно выбрать совокупность полей «Паспортные данные», «Вакансия», «Отдел» и «Цех», а в таблице «Должности» первичным ключом является совокупность полей «Должность» и «Паспортные данные сотрудника».

Рис. 3. Определение PK

 

Анализ смысловых зависимостей:

В таблице «Структура» совокупность полей «Отдел» и «Цех» определяют атрибуты структуры предприятия, такие как «Номер», «Название», «Расположение».

В таблице «Вакансии» совокупность полей «Вакансия», «Подразделение», «Отдел» и «Цех» однозначно определяют «Количество требуемых работников», «Опыт работы треб. », «Образование треб. ».

В таблице «Кандидат» совокупность полей «Вакансия», «Паспортные данные», «Отдел» и «Цех» определяют «ФИО», «Адрес», «Телефон», «Опыт работы», «Образование».

В таблице «Должности» совокупность полей «Должность», «Паспортные данные сот. » определяют «ФИО сот. », «Адрес», «Телефон», «Отдел», «Цех».

 

Рис. 4. Вторая нормальная форма.

 

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

В таблице «Вакансии» исключим поле «Подразделение», так как оно может быть определено через поля «Отдел» и «Цех».

Остальные таблицы соответствуют третьей нормальной форме.

 

Рис. 5. Третья нормальная форма.

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.