Реферат: Проектирование базы данных для отдела продаж автосалона методом нисходящего проектирования
Степень детализации функций может быть различной, но иерархическая схема должна давать представление о составе и структуре взаимосвязанных функций и общем алгоритме обработки данных.
ER -модель
Модель Сущность-Связь (ER-модель) (англ. entity-relationship model или entity-relationship diagram ) — это модель данных, позволяющая описывать концептуальные схемы. Она предоставляет графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является мета-моделью данных, то есть средством описания моделей данных.
ER-модель удобна при прототипировании (проектировании) информационных систем, баз данных, архитектур компьютерных приложений, и других систем (далее, моделей). С её помощью можно выделить ключевые сущности, присутствующие в модели, и обозначить отношения, которые могут устанавливаться между этими сущностями. Важно отметить что сами отношения также являются сущностями (выделяются в отдельные графические блоки), что позволяет устанавливать отношения на множестве самих отношений.
На этапе перехода к реализации данной ER-диаграммы в виде реальной информационной системы или программы, происходит отображение ER-модели в более детальную модель данных реляционной (объектной, сетевой, логической, или др.) базы данных, которая называется физической моделью данных по отношению к исходной ER-диаграмме.
Основные понятия ER-диаграмм:
1) Сущность – класс однотипных объектов информация о которых должна быть учтена в моделях
2) Экземпляр сущности – представитель сущности
3) Атрибут сущности - именованная характеристика, являющаяся некоторым свойством сущности
4) Ключ сущности – неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности
5) Связь – некоторая ассоциация между двумя сущностями
Разделяют три типа связей:
a) один-к-одному – экземпляр первой сущности связан только с одним экземпляром второй сущности
b) один-ко-многим - экземпляр первой сущности связан с несколькими экземплярами второй сущности. Сущность со стороны «один» называется родительской, а со стороны «много» - дочерней
c) много-ко-многим – каждый экземпляр первой сущности может быть связан с несколькими экземплярами другой сущности. Является временным видом связи.
Каждая связь обладает одной из двух модальностей:
a) Может
b) Должен
В ER-диаграммах, как и в реляционных моделях БД существует понятие нормальных форм.
1) Первая НФ – устраняются повторяющиеся атрибуты и группы атрибутов, т.е. выявление неявных сущностей.
2) Вторая НФ – устраняются атрибуты зависящие от части уникального идентификатора. Такая часть уникального идентификатора определяет отдельную сущность
3) Третья НФ – устраняются атрибуты, которые зависят от атрибутов не входящих в уникальный идентификатор
Рассмотрим построение ER-диаграммы на примере выполняемой работы:
Представим предметную область как взаимодействие нескольких сущностей: «Спортсмен», «Тренер», «Вид спорта», «Соревнования», «Организатор» и «Клуб». Сущность «Клуб» и сущность «Спортсмен» взаимодействуют посредством связи «Состоит в». Связь имеет мощность «один-ко-многим» - т.е. один клуб может содержать у нескольких спортсменов. Для связи сущностей используется атрибут «Состоит в клубе». Далее сущность «Тренер» и сущность «Клуб» взаимодействует посредством связи «Работает в». В данном случае мощность связи «один-ко-многим». Связь сущностей осуществляется через атрибут «Работает в». Сущность «Тренер» и сущность «Вид спорта» взаимодействуют посредством связи «Владеет». Связь имеет мощность «один-к-одному», т.к. одна тренер может владеть (в данном контексте – тренировать) только одним видом спорта. Связь через атрибут «Тренирует по». Сущность «Соревнование» «устраивается по» «Вид спорта». Связь этих сущностей имеет мощность «один-ко-многим», т.е. по одному и тому же виду спорта может быть устроено несколько соревнований. Сущность «Организатор» и сущность «Соревнование» взаимодействуют посредством связи «Спонсировать», где связь имеет мощность «многие-ко-многим», т.к. одно и то же соревнование могут спонсировать разные источники и в то же время источники могут спонсировать много соревнований. Сущность «Организатор» взаимодействует с сущностью «Спортсмен» посредством связи «Награждает» где мощность связи «многие-ко-многим», аналогично предыдущему. Сущность «Клуб» и сущность «Спортсмен» взаимодействуют посредством связи «Выставляет на соревнование». Связь имеет мощность «один-ко-многому», т.к. один клуб может выставить на соревнование нескольких спортсменов. Сущность «Тренер» и сущность «Спортсмен» взаимодействуют посредством связи «Тренирует». Связь имеет мощность «многие-ко многим», т.к. Спортсмен может иметь несколько тренеров, и тренер может иметь нескольких спортсменов. Сущность «Спортсмен» и сущность «Ссоревнование» взаимодействуют посредством связи «Учавствует от клуба». Связь имеет мощность «один-ко-многому».
Даталогическая модель
Модель предметной области должна быть представлена в терминах модели конкретной СУБД – в моем случае MS Access. Данная стадия носит название логического моделирования БД. Результатом выполнения этой стадии является концептуальная схема БД. Не все виды связей могут быть реализованы в логичекой модели. На данном этапе требуется преобразовать ER-диаграмму в реляционную схему.
Первый шаг преобразования – превращение каждой сущности в таблицу (отношение). Каждое свойство становится столбцом таблицы.
Второй шаг – преобразование связей во внешние ключи.
После выполнения этих двух шагов я получил следующую схему:
Физическая модель
После получения концептуальной схемы можно перейти к созданию самой БД.
В данном случае БД представлена семью таблицами.