Проектирование структуры базы данных
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Выделим две сущности: Группы и Преподаватели.

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

Сущность «Преподаватели» имеет атрибуты: ФИО, Год рождения, учёная степень, Адрес. Ни один из этих атрибутов не уникален для каждого конкретного преподавателя. К тому же для разных преподавателей могут совпадать сразу совокупность значений таких атрибутов, как ФИО, год рождения и Учёная степень. Поэтому выделим отдельный атрибут ID_Преподавателя, однозначно идентифицирующий каждый экземпляр сущности «Преподаватели». От атрибутов, не входящих в состав уникального идентификатора, функционально не зависят другие атрибуты.

Сущность «Группа» имеет атрибуты: Название группы, Имя куратора, Должность, Оклад, ID_Преподавателя (являющегося куратором данной группы). Так как название группы уникально, то это атрибут будет являться уникальным идентификатором для сущности «Группы». Все остальные атрибуты функционально зависят от уникального идентификатора.

· «Имя куратора». В каждой студенческой группе только один куратор.

· «Должность». У каждого куратора, а значит и группы, может быть только одна должность.

· «Оклад». У каждой должности только один оклад.

· «ID_Преподавателя». В каждой группе только один куратор, а значит и один преподаватель является куратором в данной группе.

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

Определим степени связей между сущностями.

Связь между сущностью «Группы» и «Преподаватели» имеет тип «Многие к одному», так как каждый преподаватель может быть куратором в нескольких группах, а у каждой группы может быть только один куратор.

Связь между сущностью «Группы» и «Должности» имеет тип «Многие к одному», так как одна и та же должность куратора может быть в разных группах и у каждой группы может быть только один куратор, значит и одна должность куратора.

Диаграмма связей между сущностями представлена на рисунке 2.16.3.

 

Рис. 2.16.3. Диаграмма связей между сущностями

 

Структура спроектированной базы данных приведена на рисунке 2.16.4.

 

Рис. 2.16.4. Структура БД

 

Определим таблицы базы данных и укажем типы данных и ограничения для каждого поля.

 

Таблица Группы (Groups)

Наименование поля Тип данных Ограничения
Название группы (Name_group) Строка (20) Первичный ключ
Имя куратора (Name_Kurat) Строка (30) NOT NULL
Должность (Job_title) Строка (20) NOT NULL Внешний ключ
ID_Преподавателя (ID_teacher) Целое число NOT NULL Внешний ключ

 

Таблица Преподаватели (Teachers)

Наименование поля Тип данных Ограничения
ID_Преподавателя (ID_teacher) Целое число Первичный ключ
ФИО (FIO) Строка (30) NOT NULL
Год рождения (Year_birth) Целое число NOT NULL
Учёная степень (Degree) Строка (20)  
Адрес (Address) Строка (20)  

 

Таблица Должности (Job_titles)

Наименование поля Тип данных Ограничения
Должность (Jobtitle) Строка (20) Первичный ключ
Оклад (Salary) Целое число NOT NULL

 

Дата: 2019-05-29, просмотров: 391.