Uploaded by olgalexabr

Разработка структуры БД

advertisement
Практическое занятие. Разработка структуры базы данных
Учебные вопросы:
1. Постановка задачи
2. Разработка инфологической модели предметной области
3. Преобразование инфологической модели в логическую структуру базы данных
4. Оптимизация логической структуры базы данных
1. Постановка задачи
В интересах повышения информированности должностных лиц факультета
создается автоматизированная информационная система на основе персонального компьютера (компьютерной сети), реализуемая по технологии баз данных.
Предполагается, что в базе данных будут содержаться сведения о студентах.
Должностные лица (декан, заместитель декана) будут выступать пользователями этой базы данных.
Предметная область в решаемой задаче – курс или учебная группа). Объектами учета являются студенты курса или руппы.
Должностными лицами может быть востребована следующая информация
относительно указанных объектов учета, выражаемая в форме запросов.
Декан:
Фамилия
Дата рождения
Форма 1
Учебная группа
Форма 2
Фамилия
Дисциплина
Дисциплина
Оценка
Фамилия
преподавателя
Фамилия преподавателя
Кафедра
Аудитория
Кафедра
Форма 3
Телефон
Заместитель декана:
Форма 4
Фамилия
Дата
рождения
Учебная
группа
Вид
спорта
Спортивный
разряд
Дата
присвоения
Перечень запросов может быть гораздо шире. В рамках учебного примера
целесообразно ограничиться только приведенными запросами.
2. Разработка инфологической модели предметной области
Приведенные запросы служат основой построения информационнологической модели (в графическом виде). Пример построения такой модели показан на рис.1.
Множественность ветвей «Успеваемость» и «Спорт» свидетельствует о том,
что любой студент изучает несколько дисциплин, а также может иметь квалификацию (разряд) по нескольким видам спорта. Если студент не имеет спортивного
разряда, то это не меняет сущности информационно-логической модели. В этом
случае позиции «Вид спорта», «Спортивный разряд» и «Дата присвоения» для него будут пустыми. В дальнейшем, по мере совершенствования спортивного мастерства данного студента они могут заполняться и даже неоднократно.
Таким образом, в качестве объектов учета в базе данных выступают студенты
учебной группы. Их характеристики (атрибуты) показаны в виде «листьев» дерева
информационно-логической модели.
Далее необходимо описать сами атрибуты. Это описание целесообразно
представить в виде следующей таблицы.
Атрибут
Фамилия
Дата рождения
Учебная группа
Дисциплина
Оценка
Фамилия преподавателя
Кафедра
Аудитория
Телефон
Вид спорта
Разряд
Дата присвоения
Тип
Текст
Дата
Текст
Текст
Число
Текст
Текст
Текст
Текст
Текст
Дата
Дата
Размер
15 символов
10 символов
4 символа
15 символов
1 разряд
15 символов
10 символов
4 символа
4 символа
10 символов
3 символа
10 символов
Обязательность
Обязателен
Обязателен
Обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Не обязателен
Повторяемость
Не повторяется
Не повторяется
Не повторяется
Повторяется
Повторяется
Повторяется
Повторяется
Повторяется
Повторяется
Повторяется
Повторяется
Повторяется
3. Преобразование инфологической модели в логическую
структуру базы данных
Выбор системы управления базами данных определяет логическую структуру базы. В случае реляционной системы управления данные в базе будут храниться в виде одной или нескольких таблиц. В последнем случае необходимо обеспечить связи между таблицами.
Если непосредственно преобразовать граф информационно-логической модели в табличную форму, то таблица, являющаяся универсальным отношением,
будет выглядеть следующим образом (рис.2).
Полученное универсальное отношение не находится в НФБК. Поэтому следует воспользоваться методами нормализации.
2
Студент
Дата
рождения
Фамилия
Дисциплина
Оценка
Учебная
группа
Успеваемость
Фамилия
преподавателя
Кафедра
Спорт
Аудитория
Телефон
Вид спорта
Разряд
Дата
присвоения
Рис.1. Информационно-логическая модель предметной области
Фамилия
студента
Дата
рождения
Учебная
группа
Наименование
дисциплины
Оценка
Фамилия
преподавателя
Наименование
кафедры
Ауд.
Рис.2. Структура универсального отношения
Тлф.
Вид
спорта
Разряд
Дата
присвоения
4. Оптимизация логической структуры базы данных
Метод декомпозиции без потерь
Универсальное отношение находится в 1НФ (все атрибуты являются атомарными). Ключом этого отношения является <Фамилия студента, Наименование
дисциплины, Вид спорта>. Поскольку не каждый атрибут полностью зависит от
ключа, то универсальное отношение не удовлетворяет 2НФ. Следует выполнить
преобразование универсального отношения.
Полностью от указанного ключа не зависит ни один атрибут. От ключа
<Фамилия студента, Наименование дисциплины> зависит атрибут Оценка.
Выполнив операцию проекции по указанным атрибутам, получим отношение
Успеваемость
Успеваемость
Фамилия
Наименование
студента
дисциплины
Оценка
Рассуждая аналогично, получим другие отношения в 2НФ:
Спортивные разряды
Фамилия
Вид
Разряд
Дата
студента
спорта
присвоения
Студенты
Фамилия
Дата
Учебная
студента
рождения
группа
Дисциплины
Наименование
Фамилия
Наименование Ауд.
дисциплины
преподавателя
кафедры
Тлф.
Проверка на наличие транзитивных зависимостей показывает, что таковые
отсутствуют в отношениях Успеваемость, Спортивные разряды и Списочный
состав. В отношении Дисциплины имеются такие зависимости Наименование
дисциплины  Фамилия преподавателя  Ауд и Наименование дисциплины  Фамилия преподавателя  Тлф. Следовательно, это отношение не соответствует 3НФ. Атрибуты Ауд и Тлф «сильнее» зависят от атрибута Фамилия
преподавателя. Проекция отношения Дисциплины по атрибутам Наименование дисциплины, Фамилия преподавателя и Наименование кафедры дает отношение Дисциплины1, в котором транзитивные зависимости отсутствуют.
Дисциплины1
Наименование
дисциплины
Фамилия
преподавателя
Наименование
кафедры
Проекция отношения Дисциплины по атрибутам Фамилия преподавателя,
Ауд и Тлф, дает отношение Преподавательские, в котором ключом является атрибут Фамилия преподавателя (непервичный ключ):
Преподавательские
Фамилия
Ауд.
преподавателя
Тлф.
В этом отношении присутствует транзитивная зависимость от непервичного
ключа Фамилия преподавателя  Ауд  Тлф. Поэтому отношение Преподавательские не соответствует НФБК. Выделив более «сильную» связь, получим
два отношения Преподавательские1 и Телефоны:
Преподавательские1
Фамилия
Ауд.
преподавателя
Телефоны
Ауд.
Тлф.
Таким образом, в результате применения метода декомпозиции без потерь,
получены следующие отношения:
Успеваемость
Фамилия
Наименование Оценка
студента
дисциплины
Спортивные разряды
Фамилия
Вид
Разряд
Дата
студента
спорта
присвоения
Студенты
Фамилия
Дата
Учебная
студента
рождения
группа
Дисциплины1
Наименование
Фамилия
Наименование
дисциплины
преподавателя
кафедры
Преподавательские1
Фамилия
Ауд.
преподавателя
Телефоны
Ауд.
Тлф.
Все они находятся в НФБК, что позволяет считать процесс нормализации завершенным.
Метод «сущность-связь»
1. Формирование ИЛМ в виде ER-диаграммы
ER-диаграмма, соответствующая рассматриваемой предметной области, приведена на рис.3. Она содержит три сущности: Студент, Спорт, и Дисциплина.
Сущность Студент имеет атрибуты: ФамилияСтудента# (ключ), ДатаРождения, УчебнаяГруппа.
Сущность Спорт имеет атрибуты: ВидСпорта# (ключ), Разряд, ДатаПрисвоения.
Сущность Дисциплина имеет атрибуты: НаименованиеДисциплины#
(ключ), ФамилияПреподавателя, НаименованиеКафедры, Аудитория, Телефон.
5
Студент
1
1 ФамилияСтудента#,
ДатаРождения, УчебнаяГруппа
Имеет
спортивный
разряд
M
Спорт
ВидСпорта#, Разряд,
ДатаПрисвоения
Получил
оценку
Оценка
M
Дисциплина
НаименованиеДисциплины# ФамилияПреподавателя,
НаименованиеКафедры, Аудитория, Телефон
Рис.3. ER-диаграмма
ER-диаграмма содержит две связи: Имеет Спортивный разряд и Получил
оценку.
Связь Имеет Спортивный разряд – бинарная и имеет степень 1:M (один
студент может иметь сразу несколько спортивных разрядов). Сущность Студент
имеет класс принадлежности к этой связи необязательный (т.е. могут быть студенты, не имеющие ни одного спортивного разряда), а сущность Спорт – обязательный класс принадлежности (т.е. нет смысла учитывать некоторый вид спорта,
по которому нет ни одного студента-разрядника). Ключом связи Имеет Спортивный разряд является набор ФамилияСтудента#, ВидСпорта#.
Связь Получил оценку – бинарная и имеет степень 1:M (один студент может
быть оценен по нескольким дисциплинам). Сущность Студент имеет класс принадлежности к этой связи необязательный (студент может не иметь оценок по некоторым дисциплинам), сущность Дисциплина – необязательный класс принадлежности (по некоторым дисциплинам не все студенты могут иметь оценки).
Ключом связи Получил оценку является набор ФамилияСтудента#, Наименование дисциплины#. Связь имеет свой атрибут – Оценка.
2. Преобразование ER-диаграммы в первоначальную схему БД
Связь Имеет Спортивный разряд преобразуется в отношения схемы БД в
соответствии с правилом 7 табл.1 (см. лекцию 04). В результате получаются отношения:
Студенты (ФамилияСтудента#, ДатаРождения, УчебнаяГруппа);
Спортивные разряды (ВидСпорта#, Разряд, ДатаПрисвоения, ФамилияСтудента#).
Связь Получил оценку преобразуется в отношения схемы БД в соответствии
с правилом 8 табл.1 (см. лекцию). В результате получаются отношения:
Студенты1 (ФамилияСтудента#, ДатаРождения, УчебнаяГруппа);
Успеваемость (Наименование дисциплины#, Оценка, ФамилияСтудента#).
6
Дисциплина (Наименование дисциплины#, ФамилияПреподавателя,
НаименованиеКафедры, Аудитория, Телефон).
Отношения Студенты и Студенты1 идентичны, поэтому есть смысл пользоваться только отношением Студенты.
3. Анализ каждого отношения первоначальной схемы БД на предмет
нахождения в НФБК с последующей декомпозицией найденных
ненормализованных отношений
Из полученных отношений только одно отношение Дисциплина не соответствует НФБК. Это вызвано тем, что в нем имеются две F-зависимости ФамилияПреподавателяАудитория, Телефон и АудиторияТелефон. Следовательно, отношение следует подвергнуть декомпозиции по атрибутам данных Fзависимостей.
В результате первой декомпозиции из отношения Дисциплина получаются
следующие отношения:
Дисциплина1 (Наименование дисциплины#, ФамилияПреподавателя,
НаименованиеКафедры).
Преподавательские (ФамилияПреподавателя#, Аудитория, Телефон).
Затем следует провести декомпозицию отношения Преподавательские. Результатом являются отношения
Преподавательские1 (ФамилияПреподавателя#, Аудитория).
Телефоны (Аудитория#, Телефон).
Окончательный состав отношений БД, полученный методом «сущностьсвязь», имеет вид
Студенты (ФамилияСтудента#, ДатаРождения, УчебнаяГруппа);
Спортивные разряды (ВидСпорта#, Разряд, ДатаПрисвоения, ФамилияСтудента#).
Успеваемость (Наименование дисциплины#, Оценка, ФамилияСтудента#).
Дисциплина1 (Наименование дисциплины#, ФамилияПреподавателя,
НаименованиеКафедры).
Преподавательские1 (ФамилияПреподавателя#, Аудитория).
Телефоны (Аудитория#, Телефон).
Все приведенные отношения находятся в НФБК.
Задания для самостоятельного выполнения
Задание 1. Провести формирование логической структуры базы данных по
методу декомпозиции без потерь, используя в качестве исходных данных отношение РАСПИСАНИЕ.
Задание 2. Провести формирование логической структуры базы данных по
методу «сущность-связь» для примера проектирования схемы БД, учитывающей
сведения о преподавателях, курсах, группах, времени и месте занятий.
ER-диаграмма, соответствующая этой предметной области, приведена на
рис.4.
7
ПРЕПОДАВАТЕЛЬ
1
ПРЕП#, ФАМ, ПАУД,
ТЕЛ, ДОЛЖНОСТЬ,
АДРЕС
ОТВЕЧАЕТ
ЗА
ЧИТАЕТ НА
НЕДЕЛЕ
ДЕНЬ_НЕД,
ЧАСЫ, МЕСТО
N
ГРУППА
ГРУППА#, КОЛ_ЧЕЛ,
КОМ_ГР, НАЧ_КУРСА
КУРС
ШИФР#, НАИМЕНОВАНИЕ,
КОЛ_ЧАСОВ
Рис.4. ER-диаграмма
8
Download