БД / Базы данных / Лабораторные работы / Лабораторная №2(ER_модель_Сущности_связи)
.docЛабораторная работа № 2.
Тема. Знакомство с ER-моделью. Представление сущностей и связей.
Цель лабораторной работы – получить представление об описании предметных областей.
Теоретическая часть. Основные понятия.
Модель «сущность-связь» (англ. “Entity-Relationship model”), или ER-модель, предложенная П. Ченом в 1976 г., является наиболее известным представителем класса семантических (концептуальных, инфологических) моделей предметной области.
ER-модель обычно представляется в графической форме, с использованием оригинальной нотации П. Чена, называемой ER-диаграмма, либо с использованием других графических нотаций (Crow's Foot, Information Engineering и др.).
Основные преимущества ER-моделей:
-
наглядность;
-
модели позволяют проектировать базы данных с большим количеством объектов и атрибутов;
-
ER-модели реализованы во многих системах автоматизированного проектирования баз данных (например, ERWin).
Основные элементы ER-моделей:
-
объекты (сущности);
-
атрибуты объектов;
-
связи между объектами.
Сущность - любой объект предметной области, имеющий атрибуты.
Базовые понятия и их обозначения на диаграмме:

Первичный ключ - атрибут или группа атрибутов, однозначно идентифицирующих объект. Первичный ключ может состоять из нескольких атрибутов, тогда на диаграмме подчеркивается каждый из них. Объект и его атрибуты соединяются ненаправленными дугами.

Связь между сущностями характеризуется:
-
типом связи (1:1, 1:N, N:М);
-
классом принадлежности. Класс может быть обязательным и необязательным. Если каждый экземпляр сущности участвует в связи, то класс принадлежности – обязательный, иначе – необязательный.
Один - к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот. Например: сотрудник может руководить только одним отделом, и у каждого отдела есть только один руководитель. Один - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида. Например: в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе. Многие - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот. Например: каждый счет может включать множество товаров, и каждый товар может входить в разные счета. Ромб связи и прямоугольник объекта соединяются ненаправленными дугами в сторону "ко многим" и направленными в сторону "к одному". Часто дуги подписываются (1, M, N).
















Связи Один-ко-Многим и их представление в таблицах.
Этот тип связи звучит следующим образом: Многие студенты учатся в одной группе.
В базах данных это самый распространенный тип связи.
В базе данных каждое множество объектов хранится в отдельной таблице. Столбцы соответствуют характеристикам объектов, которые нужно сохранить в базе данных.
Так таблица студенты может выглядеть следующим образом:
|
Номер |
Фамилия |
Имя |
Отчество |
Пол |
ДатаРождения |
|
123 |
Иванов |
Олег |
Петрович |
м |
06.11.1995 |
|
124 |
Орлова |
Кристина |
Станиславовна |
ж |
8.03.1994 |
|
125 |
Пестов |
Александр |
Сергеевич |
м |
23.07.1996 |
Таблица Группы:
|
НомерГруппы |
Специальность |
Количество |
|
1905 |
Математические методы в экономике |
19 |
|
1 |
Статистика |
23 |
В таком виде у нас отсутствует явно информация о связях – в каких группах учатся студенты. Для того, чтобы эту связь отобразить (указать, дополнить информацию в таблицах), необходимо в таблицу Студенты добавить столбец НомерГруппы и для каждого студента задать номер его группы. Добавленное поле называется Внешним ключом.
Студенты.
|
Номер |
Фамилия |
Имя |
Отчество |
Пол |
ДатаРождения |
НомерГруппы |
|
123 |
Иванов |
Олег |
Петрович |
м |
06.11.1995 |
1905 |
|
124 |
Орлова |
Кристина |
Станиславовна |
ж |
8.03.1994 |
1903 |
|
125 |
Пестов |
Александр |
Сергеевич |
м |
23.07.1996 |
1903 |
Теперь вся информация есть в базе данных и мы можем определить и студентов каждой группы и для каждого студента в какой группе он учится.
Правило 1:
Для представления связи 1:M в табличном виде необходимо в таблицу, которая участвует в связи с характеристикой Многие, добавить столбец, соответствующий первичному ключу связываемой таблицы, участвующей в связи с характеристикой 1.
Потренируйтесь на примерах:
Общежития – Студенты
Владельцы – Автомобили
Связи Один-ко-Одному и их представление в таблицах.
Связь 1:1 в какой-мере является вырожденной. В жизни не так много примеров таких связей, например Физическое лицо – Паспорт. Иногда такую связь используют, чтобы разбить таблицу с большим количеством столбцов на несколько.
Правило 2.
Для представления связи 1:1 в табличном виде можно в одну из таблиц добавить столбец, соответствующий первичному ключу связываемой таблицы. Лучше добавлять столбец в таблицу, в которой меньше строк.
Пример.
Таблица Физические лица:
|
НомерЛица |
ФИО |
ДатаРождения |
Пол |
НомерПаспорта |
|
1234 |
Афанасьев Степан Григорьевич |
01.08.1975 |
М |
883477 |
|
1 |
Эйрих Наталья Петровна |
17.09.1969 |
Ж |
699978 |
Таблица Паспорта:
|
НомерПаспорта |
Серия |
Дата Выдачи |
ОрганизацияВыдачи |
ГородВыдачи |
|
699978 |
67 |
01.011.2010 |
Советский РОВД |
Томск |
|
883477 |
99 |
11.02.2009 |
Кировский РОВД |
Томск |
Связи Многие-ко-Многим и их представление в таблицах.
Примеры связей:
Абитуриенты – Специальности. (Один абитуриент может подавать на несколько специальностей и на Одну специальность может подать много абитуриентов).
Преподаватели – Студенты
Этот тип связи требует добавления новой таблицы, для сохранения информации, о том какие объекты связаны друг с другом.
Абитуриенты:
|
К |
Фамилия |
Имя |
Отчество |
Пол |
ДатаРождения |
|
123 |
Иванов |
Олег |
Петрович |
м |
06.11.1995 |
|
124 |
Орлова |
Кристина |
Станиславовна |
ж |
8.03.1994 |
|
125 |
Пестов |
Александр |
Сергеевич |
м |
23.07.1996 |
Специальности:
|
Шифр |
Название |
|
4566 |
Математические методы в экономике |
|
5666 |
Прикладная математика и информатика |
|
8543 |
Прикладная информатика |
|
9 |
Математическое обеспечение и администрирование информационных систем |
АбитуриентыСпециальности:
|
КодАбитуриента |
Шифр |
|
123 |
4566 |
|
123 |
8543 |
|
124 |
9923 |
|
124 |
8543 |
Задание.
Предметной области Абитуриент соответствует следующая ER-диаграмма:



-
Создайте в Access таблицы для представления этой предметной области, соответствующие данной диаграмме.
-
Сколько таблиц надо будет создать?
-
Набор атрибутов придумайте сами.
-
Как называется атрибут, который должен быть обязательно в таблице?
-
Как будут представлены связи в табличном виде? (Подали и Готовят)
Алгоритм выполнения задания:
Первый этап:
Создаем таблицу абитуриенты в режиме конструктора со следующей структурой:

Второй этап:
Переходим в режим таблицы и вводим данные (например, такие):
|
КодАбитуриента |
Фамилия |
Имя |
Отчество |
Пол |
ДатаРождения |
|
1 |
Иванов |
Олег |
Петрович |
м |
06.11.1995 |
|
2 |
Орлова |
Кристина |
Станиславовна |
ж |
8.03.1994 |
|
3 |
Пестов |
Александр |
Сергеевич |
м |
23.07.1996 |
Третий этап:
Создаем точно также таблицу Факультеты:
Переходим в режим таблицы и вводим данные:

Четвертый этап:
Переходим в режим таблицы и вводим данные:

И т.д.
!!!!!!Дополнительная информация Мастер подстановок:
Последний элемент меню выбора типа данных Мастер подстановок” используется для связывания таблиц (указания, что значения данного столбца будут браться из столбца другой таблицы).
Этой возможностью пользуются когда, добавляют поле внешнего ключа (оно как раз и ссылается на первичный ключ в другой таблице).
Когда Вы зададите подстановку, в поле подстановок предлагается список значений, которые выбираются пользователем при вводе данных. Это облегчает ввод данных и обеспечивает согласованность данных в этом поле. Поле подстановок может получать список значений из таблицы или запроса, а также из постоянного набора значений, который задается пользователем.
Когда вы вызвали мастер подстановок, начинается следующий диалог:
В
ы
можете использовать одну из возможностей
ссылку на таблицу или ссылку на список
значений.
Выбираем первое и нажимаем Далее.

Выбираем из списка таблиц, ту с которой будем связывать нашу таблицу и нажимаем опять Далее. В следующем окне выбираем ключевое поле и поле, которое раскрывает его смысл:


В этом окне определяется поле, по которому список подстановки сортируется.


Мастер подстановок позволяет нам скрыть числовой ключевой столбец и показывать при выборе только его значение.
А
это последний шаг.

В результате работы мастера подстановок в базе появиться связь.

903
235
одАбитуриента
923