- •230400.62 "Информационные системы и технологии"
- •Требования к выполнению расчетно-графической работы
- •Варианты предметных областей
- •Задание № 1 Назначение базы данных. Анализ предметной области. Техническое задание на разработку бд.
- •Учебный пример разработки базы данных
- •1.Основание для разработки
- •2.Назначение разработки
- •3.Требования к программе
- •Задание № 2 Концептуальная модель предметной области. Er-диаграмма. Язык концептуального моделирования (якм).
- •Учебный пример разработки базы данных
- •Задание № 3 Логическая модель данных. Правила целостности.
- •Учебный пример разработки базы данных
- •Задание № 4 Проектирование вторичных объектов бд
Учебный пример разработки базы данных
Проведённый анализ предметной области позволяет построить её концептуальную модель. То есть, выделить сущности с их атрибутами и определить смысловые связи между сущностями.
Концептуальная модель строиться либо в виде диаграммы «Сущность-Связь» (Entity-Relationship-диаграммы, ER-диаграммы), либо записывается на языке концептуального моделирования (ЯКМ). В рамках работы надо построить как ER-диаграмму, так и модель на ЯКМ.
Построение ER-диаграммы.
Рассмотрим для краткости лишь фрагмент предметной области.
К сущностям предметной области относятся: Читатели, Переплёты(экземпляры изданий).
Сущность Читатели имеет следующие атрибуты(свойства):
- Номер читательского билета
- Фамилия читателя
- Имя читателя
- Отчество читателя
- Адрес читателя
- Телефон читателя
Сущность Переплёты имеет следующие основные атрибуты:
- Номер (инвентарный номер) переплета
- Дата приобретения конкретного переплета
- Цена конкретного переплета
Между сущностью Читатели и сущностью Переплёты есть смысловая связь. Обычно её выражают глаголом. То есть, «Переплёты выдаются Читателям».
Изобразим это в виде диаграммы «Сущность-Связь» (ER-диаграммы).
Атрибут Номер_билета подчёркнут сплошной линией, это означает, что мы выбрали его в качестве первичного ключа для сущности Читатели. То есть, именно по нему мы будем отличать одного читателя от другого. Значения первичного ключа не могут повторяться. Также Номер_переплёта выбран первичным ключом для сущности Переплёты.
Связь Выдаются имеет размерность M:N, то есть «многие-ко-многим». Так как один переплёт может выдаваться многим читателям и один читатель может брать много переплётов.
Все связи «многие-ко-многим» необходимо «расшить», то есть представить подробно. Каждая связь «многие-ко-многим» представляется двумя связями «один-ко-многим» и ассоциацией. Ассоциация это полноправная сущность, в частности она может иметь свои атрибуты и ключи. Имя ассоциации образуют обычно как отглагольное существительное от имени связи. Например, имя связи – Выдаются, имя ассоциации – Выдача.
Получаем окончательный вариант ER-диаграммы.
Теперь, с помощью ассоциации Выдача мы всегда можем определить какой конкретный переплёт выдавался какому читателю и когда. Пунктиром подчёркнуты внешние ключи, то есть копии первичных ключей из родительских сущностей.
Обратим внимание, что ассоциация Выдача имеет составной первичный ключ, состоящий из трёх полей Номер_переплёта, Номер_билета, Дата_выдачи.
Здесь рассмотрен лишь фрагмент ER-диаграммы. Вам необходимо построить всю модель. ER-диаграмма должна включать не менее 7-9 сущностей.
Запись модели на ЯКМ.
Перепишем теперь нашу модель (фрагмент) в виде текста на ЯКМ.
Переплеты (Номер_переплета(Pk), Цена, Дата_приобретения)
Читатели (Номер_билета(Pk), Фамилия, Имя, Отчество, Адрес, Телефон)
Выдача (Номер_билета(Pk,Fk), Номер_переплета(Pk,Fk), Дата_выдачи(Pk), Срок, Дата_возврата)
Здесь поля, входящие в первичные ключи обозначены Pk (Primery key). Внешние ключи обозначены Fk (Foreign key). Вместо этого можно использовать подчёркивания, как в ER-диаграмме.
При такой записи связи между сущностями надо мысленно восстанавливать по первичным и внешним ключам.
