- •Санкт-Петербург
- •1. Исходная постановка задачи (Вариант 15)
- •2. Проектирование базы данных
- •2.1. Сущности
- •2.2. Связи
- •2.3. Диаграмма «сущность»-«связь»
- •Экзамен (№Группы, название предмета)
- •Экзамен (№Группы, название предмета)
- •3.1. Cтруктуры таблиц
- •3.2. Постоянные связи между отношениями
- •4. Содержимое таблиц, на котором производилась отладка системы.
- •5. Схема иерархии интерфейса.
- •6. Описание экранных форм.
- •7. Описание запросов.
- •8. Описание отчетов.
- •18 Февраля 2005 г. Страница 1 из 1
- •18 Февраля 2005 г. Страница 1 из 1
- •18 Февраля 2005 г. Страница 1 из 1
- •18 Февраля 2005 г. Страница 1 из 1
2.3. Диаграмма «сущность»-«связь»
Полученные выше результаты можно свести к ER-диаграмме:
Получение отношений
По правилам генерации отношений из ER-диаграмм получаем следующие отношения:
Из связи «Учится» получаем отношения
Студент (№Зачетки, ФИО, №Группы, Адрес_проп, Адрес_прож, Иногородний) и
Группа (№Группы, Факультет, Название кафедры)
Из связи «Специализируется» получаем отношения
Группа (№Группы, Факультет, Название кафедры, Код специальности) и
Специальность (Код специальности, Название).
Из связи «Результаты экзаменов» получаем отношения
Студент (№Зачетки, ФИО, Адрес_проп, Адрес_прож, Иногородний),
Предмет (Название предмета) и
Результаты экзаменов (№Зачетки, Название предмета)
Из связи «Экзамен» получаем отношения
Группа (№Группы, Факультет, Кафедра)
Предмет (Название предмета)
Экзамен (№Группы, название предмета)
Из связи «Зачет» получаем отношения
Группа (№Группы, Факультет, Кафедра)
Предмет (Название предмета)
Зачет (№Группы, название предмета)
В результате получаем следующие предварительные отношения:
Студент (№Зачетки, ФИО, №Группы, Адрес_проп, Адрес_прож, Иногородний)
Группа (№Группы, Факультет, Название кафедры)
Группа (№Группы, Факультет, Название кафедры, Код специальности)
Специальность (Код специальности, Название)
Студент (№Зачетки, ФИО, Адрес_проп, Адрес_прож, Иногородний)
Предмет (Название предмета)
Результаты экзаменов (№Зачетки,Название предмета)
Экзамен (№Группы, название предмета)
Зачет (№Группы, название предмета)
Оставим нужные:
Студент (№Зачетки, ФИО, №Группы, Адрес_проп, Адрес_прож, Иногородний)
Группа (№Группы, Факультет, Название кафедры, Код специальности)
Специальность (Код специальности, Название)
Предмет (Название предмета)
Результаты экзаменов (№Зачетки,Название предмета)
Экзамен (№Группы, название предмета)
Зачет (№Группы, название предмета)
Теперь разместим в этих отношениях пока еще не попавшие в них атрибуты предметной области.
Студент (№Зачетки, №Группы, ФИО, Адрес_проп, Адрес_прож, Иногородний)
Группа (№Группы, Код специальности, Факультет, Название кафедра)
Специальность (Код специальности, Название специальности)
Предмет (Название предмета)
Результаты экзаменов (№Зачетки, Название предмета, Оценка)
Экзамен (№Группы, Название предмета, Дата экзамена, Аудитория экзамена)
Зачет (№Зачетки, Название предмета, Зачет)
Все атрибуты распределены. Отношение Предмет является избыточным, т. к. его единственный атрибут “Название предмета”, мы можем получить из отношений Результаты экзаменов, Экзамен и Зачет, мы можем его удалить, при этом никакие связи между отношениями не нарушатся.
Видно, что Студент, Группа, Специальность, Предмет, Результаты экзаменов, Экзамен и Зачет находятся в НФБК. Проверим отношение Студент. В нем можно выделить следующие функциональные зависимости:
Nзачетки => ФИО
Nзачетки =>Nгруппы
Nзачетки => Адрес_проп
Nзачетки => Адрес_прож
Nзачетки =>Иногородний
Адрес_проп =>Иногородний
Мы можем выполнить декомпозицию без потерь при естественном соединении, получим два отношения:
Студент(Nзачетки, ФИО,Nгруппы, Адрес_проп, Адрес_прож)
Прописка(Адрес_проп, Иногородний)
Теперь оба отношения находятся в НФБК.
Проектирование можно считать законченным.