Практическая работа №2
Тема. Построение моделей БД с использованием ER-диаграмм
Цель работы. Выполнить проектирование базы данных, используя ER-диаграммы.
Контрольные вопросы
1 В чем состоит отличие понятия типа сущности и элемента сущности и набора сущностей?
2 Каковы способы представления сущности?
3 Каковы фундаментальные виды связей?
4 В чем заключается формализация связи ?
5 Что такое подтип и супертип?
Практическое задание:
1
Люди
Квартиры
Люди
Рисунок 1.1 – Сущности
Можно ввести две сущности – Люди, квартиры. Квартира будет как отдельная сущность, которая имеет свои характеристики по которым идет переселение жителей.(Рис. 1.1)
2. Определить необходимый набор атрибутов каждой сущности, выделив идентифицирующие атрибуты.
Квартиры
Рисунок 1.2 – Существа и их атрибуты
3. Классифицировать атрибуты каждой сущности (описательные указывающие, вспомогательные).
Таблица 1.1 - Классификация атрибутов
Наименование сущности |
Наименование атрибута |
Классификация атрибута |
Люди |
Код человека |
указующий |
ФИО |
описательный |
|
Личные данные |
описательный |
|
Домашние животные |
описательный |
|
Квартира |
Номер квартиры |
указующий |
Номер этажа |
описательный |
|
Кол-во Комнат |
описательный |
|
Площадь |
указующий |
4. Определить сущности вида подтип/супертип, где это необходимо.
На данном этапе нет супертипов и подтипов сущностей. При необходимости определим позже.
5. Определить связи между сущностями.
Рисунок 1.3 - Связи между сущностями
6. Проанализировав структуру связей, исключить избыточные.
Несколько человек должны поживать в какой ни будь квартире
Рисунок 1.4 – Структура связей
7. Определить множественность и условность связей. Дать формулировку связей с точки зрения каждой участвующей сущности.
Сущность «Люди» и сущность «квартира» имеют связь многие ко многим. В данном случае сущности со многими ролями может соответствовать любое число сущностей с другой ролью
Каждый человек должен проживать в какой-либо квартире.
8.
Рисунок 1.5 - ER-диаграмма
9.
Преобразовали множество сущностей в отношение с тем же кол-вом атрибутов.
Связь «Проживают» преобразовали в отношение, содержащее указующие атрибуты сущностей Люди и Квартира. В реляционной БД связи многих ко многим нету, для этого её нужно преобразовать в связь один к одному.
Л
Код Человека
ФИО
Личные данные
Домашние животные
Код человека Номер
квартиры
м
Проживают
м Квартира
Номер Квартиры
Площадь
Номер Этажа
Жильцы(кол-во)
м
Тип сущности – набор однородных личностей, предметов, идей и т.д выступающих как целое
Экземпляр сущности –Конкретный атрибут набора.
Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися.
Обычно сущности представляются в виде таблиц, хотя во время проектирования они могут выступать в виде прямоугольников внутри которых написано название сущности, в ER диаграммах сущности представлены в виде прямоугольников с перечнем атрибутов
Один к одному, один ко многим, многие ко многим
Цель формулировки связи состоит в том, чтобы позволить установить связь экземпляра одной сущности с экземпляром другой. Это выполняется размещением вспомогательных атрибутов в соответствующих сущностях на модели. Когда это выполнено, говорят, что связь формализована.
Для формализации связи "один к одному" вспомогательные атрибуты могут быть добавлены к любой сущности (но не к обоим).
Для формализации связи "один ко многим" вспомогательные атрибуты должны быть добавлены к сущности на стороне "многого", поскольку размещение такого вспомогательного атрибута на стороне "один" будет нарушать третье правило атрибутов.
Для формализации связи "многие ко многим" создают отдельную ассоциативную сущность, которая содержит ссылки на идентификаторы каждого из участвующих экземпляров.
Супертип – это класс объектов, который делится на взаимоисключающие подгруппы меньшего размера. Супертип может иметь собственные свойства или просто использоваться как имя группы.
Подтип – это класс объектов, представляющий разбитую группу в рамках супертипа. Каждый подтип неявно наследует все свойства и связи супертипа, кроме того, он может иметь свои собственные свойства и связи.
Практическая работа №3
Тема. Разработка данных контрольного примера
Цель. Составить контрольный пример для проверки работоспособности БД спроектированной в Пр№1
К |
Назначение |
|
Создание, открытие, сохранение и печать модели |
|
Вызов диалога Report Browser для генерации отчетов |
|
Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов, уровень определений |
|
Изменение масштаба просмотра модели |
|
Генерация схемы БД, выравнивание схемы с моделью и выбор сервера (доступны только на уровне физической модели) |
|
Переключение между областями модели Subject Area |
Для непосредственной работы с элементами модели в программе имеется палитра инструментов (Erwin Toolbox), представляющая собой «плавающее окошко» (рис. 1.2). При необходимости палитру инструментов можно убирать с экрана и вызывать нажатием комбинации клавиш «CTRL-T».
Практическое задание
Разработка данных контрольного примера
В данных контрольного примера отразим требования описания предметной области:
Таблица 1 – Человек
|
Атрибут 1 |
Атрибут 2 |
Атрибут 3 |
Атрибут 4 |
Код Человека |
ФИО человека |
Личные данные |
Домашние животные |
Номер квартиры |
1 |
Сиваков В.В |
Сер.Паспорта 1998 |
Кот породистый чеширский |
1 |
2 |
Климинов И.Н |
Сер.Паспорта 1996 |
Кот Пёс |
2 |
3 |
Тимошенко Ю.Е. |
Сер.Паспорта 1998 |
Нет |
3 |
Таблица 2 – Квартира
|
Атрибут 1 |
Атрибут 2 |
Атрибут 3 |
Номер квартиры |
Кол-во комнат |
Площадь |
Номер этажа |
1 |
2 |
90 |
1 |
2 |
7 |
200 |
5 |
3 |
1 |
45 |
3 |
Ответы на контрольные вопросы
Что означает «адекватность предметной области»
Адекватность предметной области – Означает что состояние БД в каждый момент времени должно соответствует состоянию предметной области. Изменения состояния предметной области обязательно приводит к соответствующему состоянию БД
Какие виды целостности Вам известны, дать определения
Сущностная целостность или целостность по первичному ключу по своему определению значение первичного ключа в таблице должно быть уникальным т.к. основной принцип Р.Б.Д. звучит что доступ к данным в таблице осуществляется по цепочке. Имя БД à Имя таблицы à Имя столбца à первичный ключ (значение).
Ссылочная целостность – это целостность поддерживается в связях между таблицами. Для того чтобы содержимое двух связанных таблиц правильно отражало предметную область. На операции изменяющие содержимое таблиц должны накладываться определенные ограничения (ограничения целостности). Это относится к трем операциям:
- удаление записей (из главной таблицы)
- изменение записей (в главной таблице)
- Вставка записей во второстепенные таблицы.
