ГОСТ Емтиханга дайындалуга / Новые лекции / Лекция 6
.docЛекция№6 Модели данных.
Семантическое моделирование.
Моделью данных называется интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные в некоторой организации.
Другими словами это описание схемы на высоком уровне, независимо от конкретной целевой СУБД.
Модель является представлением «реального мира», объектов и событий, а также существующих связей между ними. Это некоторая абстракция в которой акцент делается на самых важных и необходимых аспектах деятельности организации. Таким образом, модель данных – представляет саму организацию.
Модель данных можно рассматривать как сочетание трех компонентов;
-
структурная часть, то есть набор правил, по которым может быть построена БД.
-
Управляющая часть, определяющая типы допустимых операций с данными ;
-
Набор ограничений поддержки целостности данных, гарантирующих корректность используемых данных.
Цель построения модели заключается в представлении данных в понятном виде.
Применительно к трехуровневой архитектуре ANSI/SPARC можно выделить три связанных модели данных:
-
внешнюю модель данных, отображающую представление каждого существующего в организации типа пользователей, которую называют предметной областью;
-
концептуальную модель данных, отображающую логическое представление о данных не зависимо от типа выбранной СУБД;
-
внутреннюю модель данных, отображающую концептуальную схему определенным образом, понятным выбранной целевой СУБД.
Очень часто используются три категории моделей данных:
- объектные модели данных;
- модели данных на основе записей;
- физические модели данных.
Первые две используются для описания данных на концептуальном и внешнем уровнях, а последняя на внутреннем
Объектные модели данных.
При построении объектных моделей данных используются такие понятия, как сущности, атрибуты и связи.
Сущность – это отдельный элемент организации, который должен быть представлен в БД.
Атрибут – свойство, которое описывает некоторый аспект объекта и значение которого следует зафиксировать.
Связь – это ассоциативное отношение между сущностями.
Наиболее общие типы объектных моделей данных:
-
модель типа «сущность-связь» или ER-модель;
-
семантическая модель, то есть модель которая несет большую смысловую нагрузку, чем просто значения данных;
-
функциональная модель;
-
обектно-ориентированная модель.
Модель «сущность-связь» была разработана в 1976 г. с целью упрощения задачи проектирования БД. Данная модель данных представляет собой набор концепций, которые описывают структуру БД и связанные с ней транзакции обновления и извлечения данных.
Основные концепции модели «сущность-связь» включают типы сущностей, типы связей и атрибуты.
Типы сущностей – объект или концепция, которые характеризуются на данном предприятии как имеющие независимое существование.
Основной концепцией ER-моделирования является тип сущности, который представляет множество объектов реального мира с одинаковыми свойствами. Тип сущности характеризуется независимым существованием и может быть объектом с физическим (реальным) существованием или объектом с концептуальным (абстрактным) существованием.
Сущность- экземпляр типа сущности, который может быть идентифицирован уникальным образом.
Типы сущности можно классифицировать как сильные и слабые.
Слабый тип сущности – тип сущности, существование которого зависит от какого-то другого типа сущности.
Сильный тип сущности – тип сущности, существование которого не зависит от какого-то другого типа сущности.
Сильная сущность представлена на диаграмме в виде прямоугольника с именем сущности внутри него, слабый тип сущности – в виде прямоугольника с двойным контуром.
Атрибут – свойства типа сущности или типа связи.
Атрибуты сущности содержат значения, описывающие каждую сущность. Значения атрибутов представляют основную часть сведений, сохраняемых в БД.
Связь, которая соединяет две сущности, может иметь атрибуты, аналогичные атрибутам сущности.
Каждый атрибут связан с набором значений, который называется доменом. Домен определяет все потенциальные значения, которые могут быть присвоены атрибуту.
Атрибуты делятся на простые и составные, однозначные и многозначные, производные.
Простой атрибут – атрибут состоящий из одного компонента с независимым существованием.
Составной атрибут – атрибут, состоящий из нескольких компонентов, каждый из которых характеризуется независимым существованием.
Однозначный атрибут – атрибут, который содержит одно значение для одной сущности.
Многозначный атрибут – атрибут, который содержит несколько значений для одной сущности.
Производный атрибут – атрибут, который представляет значение, производное от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторому типу сущности.
На диаграмме атрибуты представлены в виде эллипсов, присоединенных линиями к соответствующей сущности.
Под ключом понимают элемент данных, который позволяет уникально идентифицировать отдельные экземпляры некоторого типа сущности.
Ключи могут быть:
-
потенциальный;
-
первичный;
-
составной.
Потенциальный ключ – атрибут или набор атрибутов, который уникально идентифицирует отдельные экземпляры типа сущности.
Первичный ключ – потенциальный ключ, который выбран в качестве первичного ключа.
Составной ключ – потенциальный ключ, который состоит из двух и более атрибутов.
Тип связи – является набором ассоциаций между двумя и более типами сущностей – участников. Каждому типу связи присваивается имя, которое должно описывать его функцию.
Связь – ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущностей.
Связь между сущностями на высоком уровне можно представить в виде ER-модели, на более низком уровне в виде семантической сети (объектной диаграммы).
Связь на диаграммах представляется в виде ромбиков с указанием на нем имени связи. Ромбик с двойным контуром указывает на связь сильной сущности со слабой сущностью, которая от него зависит.
Охваченные некоторой связью сущности называются участниками связи. Количество участников в некоторой связи называется степенью этой связи.
Рекурсивная связь ( или унарная связь) – когда одна и та же сущность участвует несколько раз и в разных ролях.
Структурные ограничения.
Показатель кардинальности – описывает количество возможных связей для каждой из сущностей-участниц.
Наиболее распространенными являются бинарные связи с показателем кардинальности 1:1, 1:М или М:М.
Степень участия определяет, зависит ли существование некоторой сущности от участия в связи с некоторой другой сущностью.
Существует два варианта участия сущности в связи: полное или частичное.
Степень участия является полной, если для существования некоторой сущности требуется существование другой сущности, связанной с ней определенной связью. В противном случае степень участия является частичной.
На диаграмме полное участие обозначается двойной линией, частичное – одинарной.
EER- модель
С появлением новых типов приложений БД, таких как инструменты проектирования (CAD), инструменты автоматизированной подготовки производства (CAM), инструменты автоматизированного проектирования и создания программ (CASE) основных понятий ER- моделирования оказалось недостаточно, в связи с этим в исходную модель добавлены концепции специализации/генерализации и категоризации, такая модель называется EER- модель ( или расширенная ER- модель).
Введенные концепции тесно связаны с понятиями подкласса, суперкласса и процессом наследования атрибутов.
Суперкласс – тип сущности, включающий разные подклассы, которые необходимо представить в модели данных.
Подкласс - тип сущности, который исполняет отдельную роль, а также является членом суперкласса.
Связь между суперклассом и подклассом относится к типу 1:1 и называется связью «суперкласс/подкласс».
Подкласс также является сущностью и поэтому может иметь свои собственные подклассы. Сущность, ее подклассы, подклассы данных подклассов – составляют иерархию типов ( другое название иерархия специализации, иерархия генерализации, иерархия принадлежности).
Специализация – это процесс увеличения различий между отдельными членами типа сущности за счет выделения их отличительных характеристик.
Генерализация – процесс сведений различий между сущностями к минимуму путем выделения общих характеристик.
На процедуры специализации и генерализации можно наложить определенные ограничения:
-
ограничения непересечения – если подклассы некоторой специализации не пресекаются, то каждая отдельная сущность может быть членом только одного из подклассов данной специализации. (Для представления непересекающейся специализации используется символ «d», который располагается в центре кружка, соединяющего подклассы данного суперкласса.) Если подклассы специализации пересекаются, в таком случае сущность может быть членом сразу нескольких подклассов специализации. (Для представления пересекающейся специализации используется символ «о», который располагается в центре кружка, соединяющего подклассы данного суперкласса);
-
ограничения участия – оно может быть полным или частичным. Специализация с полным участием означает, что каждая сущность суперкласса должна быть членом подкласса этой специализации. (Полное участие обозначается двойной линией между суперклассом и кружком специализации). Специализация с частичным участием означает, что сущность не обязательно должна быть членом любого подкласса. Ограничения пересечения и участия принято делить на четыре категории:
1. непересекающиеся полные;
2. непересекающиеся частичные;
3. пересекающиеся полные;
4. пересекающиеся частичные.
Категоризация – моделирование одного из подклассов со связью, которая охватывает несколько разных суперклассов.
Подкласс, создаваемый моделированием связи «суперкласс/подкласс», включающую несколько разных суперклассов, называют категорией.
Линия соединяющая подкласс – категорию с кружком категоризации помечется символом «» - принадлежность множеству, а в кружке категоризации помещается символ объединения «».
Основная литература: 1[259-344, 182-219]
1. Что называется моделью данных?
2. В чем заключается цель построения модели?
3. Дайте основные понятия объектной модели данных.
4. В чем заключаются основные концепции модели «сущность-связь»?
5. Для чего была введена EER- модель? Перечислите основные понятия существующие в этой модели.