Пусть эта база данных содержит следующую информацию:
1. Перечень дисциплин, по которым обучаются студенты.
2. Сведения о студентах (фамилия, имя, отчество, номер группы, дата рождения, получает или нет стипендию).
3. Сведения о преподавателях (фамилия, имя, отчество, должность, преподаваемая дисциплина, заработная плата, дата рождения, телефон).
Можно выделить три таблицы, которые не будут обладать избыточностью: Студенты, Дисциплины и Преподаватели.
Поля таблицы Студенты:код студента, фамилия, имя, отчество, номер группы, дата рождения, стипендия, оценки.
Поля таблицы Дисциплины: код дисциплины, название дисциплины.
Поля таблицы Преподаватели: код преподавателя, фамилия, имя, отчество, дата рождения, телефон, заработная плата, должность.
Коды в таблицах введены для однозначной идентификации соответствующих данных, для обеспечения связности и для экономии памяти в случае неизбежного повтора данных.
Рассмотрим связи между полученными объектами. Очевидно, что типы связей будут выглядеть так (считая, что каждый преподаватель преподаёт только одну дисциплину):
|
|
Студенты ∞-∞ Дисциплины 1-∞ Преподаватели
Чтобы избежать множественных связей, введём вспомогательную таблицу Оценки.
Поля таблицы Оценки: код студента, код дисциплины, оценки.
Таким образом, получается следующая схема данных (рис. 1).
Рис. 1. Схема данных базы данных «Деканат ТФ»