Конструктивные элементы нотации Мартина
УТВЕРЖДАЮ
Заведующий кафедрой № 31
д.т.н., доцент Е.А. Машинцов
(ученая степень, ученое звание воинское звание, подпись, фамилия)
“______” _________________ 201_
Автор:
(ученая степень, ученое и воинское звание, фамилия, имя, отчество)
ЛЕКЦИЯ
по дисциплине: Базы данных___________________________________________
(наименование учебной дисциплины)
Тема 3: Понятийный аппарат баз данных __________________________________
Лекция 3.1: Модель «Сущность-связь»________________________ ____________
(наименование темы лекции)
Обсуждена на заседании кафедры
(предметно-методической комиссии)
“____” ________________ 201_ г.
Протокол № _________
Химки – 2014 г.
I. Учебные и воспитательные цели
Учебные цели: изучение процедур концептуального, логического и физического проектирования баз данных.
Воспитательные цели: формирование у курсантов (студентов) научного мировоззрения, высоких морально-психологических качеств, привития любви к своей профессии, стремления к повышению своего профессионального мастерства, творческого подхода к выполнению поставленных задач.
II. Учебно-материальное обеспечение:аудитория на курс, оборудованная меловой или интерактивной доской, мультимедийным проектором с экраном.
Время 2 часа.
III. Расчет учебного времени
Содержание занятия | Время, мин. |
Вступительная часть | |
Учебные вопросы: | |
1. Характеристика модели «сущность-связь» | |
2. Обзор нотаций, используемых при построении диаграмм «сущность-связь» | |
Заключительная часть |
IV. Литература для самостоятельной работы обучающихся:
Основная
1. Дейт К.Дж. Введение в системы баз данных / К.Дж. Дейт. – К.;М.;СПб: Вильямс, 2001. – 1096 с.
2. Точилкина Т.Е. Принципы создания информационных систем и моделирования бизнес-процессов с использованием пакета программ AllFusion Modeling Suite. Часть II. Моделирование данных и проектирование баз данных с ERwin Data Modeler. Учебное пособие. – М.: изд. Академии бюджета и казначейства, 2009. - 167 с.
3. Карпова Т.С. Базы данных: модели, разработка, реализация / Т.С. Карпова. – СПб.: Питер, 2001. – 304 с.
4. Михеева В.Д. Microsoft Access 2002 / В.Д. Михеева, И.А. Харитонова – СПб.: БХВ, 2002.
Дополнительная
1.Точилкина Т.Е, Катков И.Л., Лебедев В.М., Мещерякова Н.А. Принципы создания информационных систем и моделирования бизнес-процессов с использованием пакета программ AllFusion Modeling Suite. Часть I. Автоматизированная информационная система моделирования бизнес-процессов AllFusion Process Modeler. Учебно-методическое пособие. – М.: изд. Академии бюджета и казначейства, 2007. - 145 с.
2. Карпова, И.П. Базы данных: Учебное пособие / И.П. Карпова. - СПб.: Питер, 2013. - 240 c.
3. Кириллов, В.В. Введение в реляционные базы данных. / В.В. Кириллов, Г.Ю. Громов. – СПб.: БХВ-Петербург, 2012. - 464 c.
4. Кошелев, В.Е. Базы данных в ACCESS 2007: Эффективное использование / В.Е. Кошелев. - М.: Бином-Пресс, 2009. - 592 c.
5. Кузин, А.В. Базы данных: Учебное пособие для студ. высш. учеб. заведений / А.В. Кузин, С.В. Левонисова. - М.: ИЦ Академия, 2012. – 320 c.
6. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009. – 528 c.
7. Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. – 463 c.
IV. ТЕКСТ ЛЕКЦИИ
Введение
Модель «сущность-связь» (ER-модель) (англ. entity-relationship model, ERM) – модель данных, позволяющая описывать концептуальные схемы предметной области.
ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.
Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).
ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER-диаграмма) (англ. entity-relationship diagram, ERD).
Понятия ER-модель и ER-диаграмма часто ошибочно не различают, хотя для визуализации ER-моделей предложены и другие графические нотации (см. ниже).
1. Характеристика модели «сущность-связь»
Модель описания концептуальных схем предметной области «сущность–связь» (entity-relationship model) была предложена Питером Ченом (Peter Chen) в статье P. P. Chen, «The Entity-Relationship Model - Towards a Unified View of Data», ACM Transactions on Database Systems, январь 1976, с. 9-36.
Питер Чен Пин-Шен – американский ученый в области информатики, предложивший в 1976 году ER-модель данных (модель сущность-связь)
В этой статье Чен заложил основу модели, которая с тех пор расширялась и модифицировалась самим Ченом и многими другими.
Кроме того, модель «сущность–связь» вошла в состав множества CASE-инструментов, которые также внесли свой вклад в ее эволюцию. На сегодняшний день не существует единого общепринятого стандарта для модели «сущность-связь», зато есть набор общих конструкций, которые лежат в основе большинства вариантов этой модели. Описанию этих общих конструкций и демонстрации их применения и посвящена данная глава.
Символы, применяемые для графического представления модели «сущность-связь», весьма различны. Разработаны не только традиционные символы, но и символы языка UML (Unified Model Language, унифицированный язык моделирования) – средства проектирования, завоевывающего все большую популярность среди программистов ООП и включающего в себя модель «сущность–связь».
Модель «сущность-связь» является средством моделирования предметной области на этапе концептуального проектирования. Часто ее называют ER-моделью (Entity – сущность, Relation – связь). В ней моделирование структуры данных предметной области базируется на использовании графических средств – ER–диаграмм (диаграмм «сущность – связь»). В наглядном виде они представляют связи между сущностями.
Основные понятия ER–диаграммы: сущность, атрибут, связь.
Сущность (entity) – это некоторый объект реального мира, который может существовать независимо.
Примеры сущностей: СТУДЕНТ, ПРОДУКТ, ЭЛЕКТРОПРИБОР и др.
Атрибут (attribut) – это свойство сущности.
Например, атрибутами сущности СТУДЕНТ могут быть Возраст, Адрес проживания, Успеваемость по дисциплине и др.
Сущность имеет экземпляры сущности, отличающиеся друг от друга значениями атрибутов и допускающие однозначную идентификацию.
Например, экземпляров сущности СТУДЕНТ: Иванов Иван Иванович, Петров Петр Петрович, Сидоров Сидор Сидорович и т.д.
Рассмотрим сущность КНИГА. Эта сущность характеризуется такими атрибутами, как Автор, Наименование, Цена, Издательство, Тираж, Количество страниц.
Примечание!
Описание этой сущности и ее атрибутов может быть выполнено в виде:
КНИГА(Автор, Наименование, Цена, Издательство, Тираж, Количество страниц)
Экземпляры сущности КНИГА отличаются значениями указанных атрибутов и однозначно идентифицируются атрибутом Наименование. Атрибут, который уникальным образом идентифицирует экземпляры сущности, называются ключом. Может быть составной ключ, представляющий комбинацию нескольких атрибутов.
Предположим, что проектируется база данных, предназначенная для хранения информации о деятельности некоторого банка. Этот банк имеет филиалы. Филиалы управляются менеджерами. Клиенты имеют в филиалах счета разных типов – текущие, срочные, до востребования, депозитные, карточные. Филиалы обрабатывают эти счета. Описываемую предметную область назовем БАНК. В ней могут быть выделены четыре сущности: филиал, счет, клиент.
На ER–диаграмме сущность изображается прямоугольником, в котором указывается ее имя. Например,
МЕНЕДЖЕР |
В реальном мире существуют связи между сущностями.
Связь (relationship)представляет собой взаимодействие между сущностями.
Она характеризуется мощностью, которая показывает, сколько сущностей участвует в связи. Связь между двумя сущностями называется бинарной, а связь между более чем с двумя сущностями – тернарной.
В рассматриваемой предметной области БАНК можно выделить три связи.
1. МЕНЕДЖЕР – Управляет – ФИЛИАЛ
2. ФИЛИАЛ – Обрабатывает – СЧЕТ
3. КЛИЕНТ – Имеет – СЧЕТ
На ER – диаграмме связь изображается ромбом. Например,
Управляет |
Важной характеристикой связи является тип связи (кардинальность). Рассмотрим типы связей 1-3.
Так как менеджер управляет одним филиалом, то каждый экземпляр сущности МЕНЕДЖЕР может быть связан не более чем с одним экземпляром сущности ФИЛИАИ. В этом случае связь 1 имеет тин «один-к-одному» (1:1). На рис. 1 представлена ER–диаграмма для связи типа 1:1.
Рисунок 1 - ER–диаграмма связи 1:1
Так как филиал обрабатывает несколько счетов, а счет обрабатывается только одним филиалом, то каждый экземпляр сущности ФИЛИАЛ может быть связан более чем с одним экземпляром сущности СЧЕТ, а каждый экземпляр сущности СЧЕТ может быть связан не более чем с одним экземпляром сущности ФИЛИАЛ. В этом случае связь 2 имеет тип «один – ко – многим» (1:М).
На рис. 2 представлена ER – диаграмма для связи типа 1:М.
Рисунок 2 - ER–диаграмма связи 1:М
Так как счет может совместно использоваться несколькими клиентами и клиент может иметь несколько счетов, то каждый экземпляр сущности СЧЕТ может быть связан с несколькими экземплярами сущности КЛИЕНТ и каждый экземпляр сущности КЛИЕНТ может быть связан с несколькими экземплярами сущности СЧЕТ. В этом случае связь 3 имеет тип «многие – ко - многим» (М:N). На рис. 3 представлена ER–диаграмма для связи типа М:N.
Рисунок 3 - ER–диаграмма связи М:N
Рассмотрим понятие класс принадлежности сущности.
Если каждый экземпляр сущности А связан с экземпляром сущности В, то класс принадлежности сущности А является обязательным. Этот факт отмечается на ER – диаграмме черным кружочком, помещенным в прямоугольник, смежным с прямоугольником сущности А.
Если не каждый экземпляр сущности А связан с экземпляром сущности В, то класс принадлежности сущности А является необязательным. Этот факт отмечается на ER – диаграмме черным кружочком, помещенным на лини связи прямоугольника сущности А.
В качестве примера на рис. 4 изображены возможные ER – диаграммы для связи М:N с учетом класса принадлежности сущности.
Рисунок 4 - ER–диаграммы связи М:N с учетом класса принадлежности сущности
На ER–диаграмме 1 класс принадлежности обеих сущностей необязательный.
На ER–диаграмме 2 класс принадлежности сущности КЛИЕНТ обязательный, а сущности СЧЕТ необязательный.
На ER–диаграмме 3 класс принадлежности сущности КЛИЕНТ необязательный, а сущности СЧЕТ обязательный.
На ER–диаграмме 4 класс принадлежности обеих сущностей обязательный.
Предположим, что в рассматриваемой предметной области БАНК класс принадлежности всех четырех сущностей является обязательным. Тогда ER-модель предметной области БАНК будет иметь вид, представленный на рисунке 5.
Каждая из четырех сущностей приведенной ER – модели может быть описана своим набором атрибутов (рис. 6).
ER–модель в совокупности с наборами атрибутов сущностей может служить примером концептуальной модели предметной области или концептуальной схемы базы данных.
В связи с наглядностью представления концептуальных схем баз данных ER–модели получили широкое распространение в CASE–средствах. Эти средства предназначены для автоматизированного проектирования реляционных баз данных.
Рисунок 5 – Пример ER–модели предметной области БАНК
МЕНЕДЖЕР | ФИЛИАЛ | |
Номер менеджера | Номер филиала | |
Стаж работы | Адрес филиала | |
Специальность | ||
СЧЕТ | КЛИЕНТ | |
Номер счета | Номер клиента | |
Тип счета | ФИО клиента | |
Остаток на счете | Социальное положение | |
Адрес клиента |
Рисунок 6 – Набор атрибутов сущностей предметной области БАНК
Примечание. Ключевые атрибуты выделены жирным шрифтом.
Широко распространены CASE-системы, позволяющие выполнять ER-диаграммы в соответствии со стандартами, например, со стандартом IDEF1X. К таким CASE-средствам относятся, например, ERWin, Design/IDEF, Power Designer.
CASE-средства позволяют строить ER-диаграммы в реальном масштабе времени, что дает возможность наглядно изучать концептуальную модель данных и перестраивать ее соответственно поставленным целям и имеющимся ограничениям.
2-й учебный вопрос: Обзор нотаций, используемых при построении диаграмм «сущность-связь»
Важнейшая цель информационной модели заключается в выработке непротиворечивой интерпретации данных и взаимодействий между ними с тем, что необходимо для интеграции, совместного использования и управления целостностью данных.
Появление понятий концептуальной схемы данных привело к методологии семантического моделирования данных, т.е. к определению значений данных в контексте их взаимосвязей с другими данными.
В 1983 году в рамках проекта военного ведомства США «Интегрированные системы информационной поддержки» (ICAM) была создана методология семантического моделирования данных IDEF1X (расширение методологии IDEF1), позволяющая логически объединять в сеть неоднородные вычислительные системы.
Методология IDEF1X – один из подходов к семантическому моделированию данных, основанный на концепции Сущность-связи (Entity-Relationship), это инструмент для анализа информационной структуры систем различной природы.
Методология IDEF1X предназначена для построения концептуальной схемы реляционной базы данных, которая была бы независимой от программной платформы её конечной реализации.
Эта информация является необходимым дополнением функциональной IDEF0-модели, детализирует объекты, которыми манипулируют функции системы.
Концептуально IDEF1X-модель можно рассматривать как проект логической схемы базы данных для проектируемой системы
IDEF1X использует понятия сущностей, атрибутов, отношений и ключей. Языки графического изображения моделей, используемые этими методологиями, также во многом схожи. Однако, IDEF1X не рассматривает объекты реального мира, а лишь их информационное отображение, так как к моменту разработки базы данных все информационные ресурсы организации должны быть изучены, необходимый набор данных для отражения её деятельности определен и проверен на полноту. Поскольку IDEF1X предназначена для разработки реляционных баз данных, она дополнительно оперирует рядом понятий, правил и ограничений, такими как домены, представления, первичные, внешние и суррогатные ключи и другими, пришедшими из реляционной алгебры и в которых нет необходимости на этапах изучения и описания деятельности организации.
Стандарт и методология IDEF1X является специализированным инструментом, предназначенным для разработчиков реляционных баз данных.
Наибольшее распространение получили следующие нотации, используемые при построении ER-диаграмм:
нотация Чена,
нотация Мартина,
нотация IDEF1X,
нотация Баркера.
Нотация Чена
В таблице 4 приведены конструктивные элементы концептуальной схемы базы данных в нотации Чена.
Таблица 4
Связь соединяется с ассоциируемыми сущностями линиями. Возле каждой сущности на линии, соединяющей ее со связью, цифрами указывается класс принадлежности (рис. 6).
Рис. 6. Пример фрагмента концептуальной схемы в нотации Чена
Нотация Мартина
В таблице 5 приведены конструктивные элементы концептуальной схемы базы данных в нотации Мартина.
Таблица 5
Конструктивные элементы нотации Мартина
Элемент диаграммы | Обозначает |
Независимая сущность | |
Зависимая сущность | |
Родительская сущность а иерархической связи |
Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Ключевые атрибуты подчеркиваются. Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет кардинальность связи (таблица 6):
Таблица 6
Имя связи указывается на линии ее обозначающей (рис. 7).
Рис. 7. Пример фрагмента концептуальной схемы в нотации Мартина
Нотация IDEF1X
Обозначения конструктивных элементов концептуальной схемы базы данных нотации IDEF1X приведены в табл. 7– 9.
Таблица 7
Таблица 8
Таблица 9
Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Атрибуты, составляющие ключ сущности, группируются в верхней части прямоугольника и отделяются горизонтальной чертой (рис. 8).
Рис. 8. Пример фрагмента концептуальной схемы в нотации IDEF1X
Кроме того, в IDEF1X вводится понятие отношение категоризации, по смыслу эквивалентное рассмотренной нами иерархической связи. Обозначение отношения полной категоризации (сущности-категории составляют полное множество потомков родительской сущности) приведено на рис. 9.
Рис. 9. Отношение полной категоризации в нотации IDEF1X
Обозначение отношения неполной категоризации (сущности-категории составляют неполное множество потомков общей сущности) приведено на рис. 10.
Рис. 10. Отношение неполной категоризации в нотации IDEF1X
Нотация Баркера
Сущности обозначаются прямоугольниками, внутри которых приводится список атрибутов. Ключевые атрибуты отмечаются символом # (решетка). Связи обозначаются линиями с именами (рис. 11), место соединения связи и сущности определяет кардинальность связи (таблица 10).
Рис. 11. Пример фрагмента концептуальной схемы в нотации Баркера
Таблица 10
Для обозначения отношения категоризации вводится элемент «дуга» (рис. 12).
Рис. 12. Обозначение категоризаци в нотации Баркера