Слайд 1 Учебная дисциплина
СИСТЕМЫ УПРАВЛЕНИЯ БАЗЫ ДАННЫХ
Лекция 4. Элементы модели "сущность -связь"
Руководитель
занятия:
преподаватель спецдисциплин
Еремина И.И.
ГАПОУ "Камский строительный колледж имени Е.Н.Батенчука"
Слайд 2Проектировании структуры базы данных Семантическое моделирование
Семантическое моделирование представляет собой моделирование структуры
данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность – связь (ER – Entity - Relationship).
Слайд 4В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация
Мартина, нотация IDEF1X, нотация Баркера и др.).
Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями. По сути, все варианты диаграмм сущность-связь исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.
Слайд 5ER-диаграммами (близко к нотации Баркера)
Основные понятия ER-диаграмм
Определение 1. Сущность-это класс однотипных
объектов, информация о которых должна быть учтена в модели.
Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.
Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная".
Каждая сущность в модели изображается в виде прямоугольника с наименованием:
Слайд 6Определение 2. Экземпляр сущности - это конкретный представитель данной сущности.
Например,
представителем сущности "Сотрудник" может быть "Сотрудник Иванов".
Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности.
Определение 3. Атрибут сущности-это именованная характеристика, являющаяся некоторым свойством сущности.
Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными).
Примерами атрибутов сущности "Сотрудник" могут быть такие атрибуты как "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п.
Атрибуты изображаются в пределах прямоугольника, определяющего сущность:
Слайд 7Определение 4. Ключ сущности - это неизбыточный набор атрибутов, значения которых
в совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа нарушается его уникальность.
Сущность может иметь несколько различных ключей.
Ключевые атрибуты изображаются на диаграмме подчеркиванием:
Слайд 8Определение 5. Связь - это некоторая ассоциация между двумя сущностями. Одна
сущность может быть связана с другой сущностью или сама с собою.
Связи позволяют по одной сущности находить другие сущности, связанные с нею.
Например, связи между сущностями могут выражаться следующими фразами - "СОТРУДНИК может иметь несколько ДЕТЕЙ", "каждый СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ".
Графически связь изображается линией, соединяющей две сущности:
типы связи
Слайд 9Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан
с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.
Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской правая (со стороны "много") – дочерней.
Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности.
Слайд 10Каждая связь может иметь одну из двух модальностей связи:
Модальность "может"
означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром.
Модальность "должен" означает, что экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности.
Связь может иметь разную модальность с разных концов.
Описанный графический синтаксис позволяет однозначно читать диаграммы, пользуясь следующей схемой построения фраз:
<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>.
Каждая связь может быть прочитана как слева направо, так и справа налево.
Слева направо: "каждый сотрудник может иметь несколько детей".
Слайд 11Пример разработки простой ER-модели
При разработке ER-моделей мы должны получить следующую информацию
о предметной области:
1. Список сущностей предметной области.
2. Список атрибутов сущностей.
3. Описание взаимосвязей между сущностями.
ER-диаграммы удобны тем, что процесс выделения сущностей, атрибутов и связей является итерационным. Разработав первый приближенный вариант диаграмм, мы уточняем их, опрашивая экспертов предметной области. При этом документацией, в которой фиксируются результаты бесед, являются сами ER-диаграммы.
Слайд 12Пример разработки простой ER-модели
Перед нами стоит задача разработать информационную систему по
заказу некоторой оптовой торговой фирмы. В первую очередь мы должны изучить предметную область и процессы, происходящие в ней. Для этого мы опрашиваем сотрудников фирмы, читаем документацию, изучаем формы заказов, накладных и т.п.
Кандидаты на сущности и атрибуты (непонятные термины будем выделять знаком вопроса):
Покупатель-явный кандидат на сущность.
Накладная-явный кандидат на сущность.
Товар-явный кандидат на сущность
(?)Склад-а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность.
(?)Наличие товара–это, скорее всего, атрибут, но атрибут какой сущности?
Слайд 13Пример разработки простой ER-модели
Возникает очевидная связь между сущностями - "покупатели могут
покупать много товаров" и "товары могут продаваться многим покупателям".
Первый вариант диаграммы выглядит так:
Слайд 14Пример разработки простой ER-модели
После уточнения, диаграмма будет выглядеть следующим образом:
Слайд 15Выводы
Реальным средством моделирования данных является не формальный метод нормализации отношений, а
так называемое семантическое моделирование.
В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER-Entity-Relationship).
Диаграммы сущность-связь позволяют использовать наглядные графические обозначения для моделирования сущностей и их взаимосвязей.
Различают концептуальные и физические ER-диаграммы. Концептуальные диаграммы не учитывают особенностей конкретных СУБД. Физические диаграммы строятся по концептуальным и представляют собой прообраз конкретной базы данных. Сущности, определенные в концептуальной диаграмме становятся таблицами, атрибуты становятся колонками таблиц (при этом учитываются допустимые для данной СУБД типы данных и наименования столбцов), связи реализуются путем миграции ключевых атрибутов родительских сущностей и создания внешних ключей.