Семантическая модель «Сущность - Связь - Отображение»
Статья посвящена описанию семантической модели данных «Сущность-Связь-Отображение». В ней раскрываются назначение модели, ее основные структурные понятия, ограничения целостности и операции
Semantic model «Entity - Relationship - Mapping». .pdf В предыдущих работах автора рассматриваются различные аспекты предлагаемого подхода к семантическому моделированию. Настоящая публикация представляет собой наиболее полное и целостное изложение семантической модели «Сущность - Связь - Отображение» в ее текущем состоянии. Известная ранее как модель «Объект - Отображение» эта модель рассматривается сейчас как развитие расширенной модели «Сущность - Связь» (EER-модели), при котором сохраняются основные, практически востребованные конструкции, а также вводятся новые, не менее полезные элементы, существенно повышающие выразительные возможности модели.1. Назначение семантических моделейЦелью исследований автора является совершенствование семантической методики проектирования схем баз данных (БД) [1] и доведение ее до идеала, при котором выявление семантики предметной области (ПрО) и полная ее формализация осуществляется человеком один раз на первом этапе разработки информационной системы - анализе ПрО. Дальнейший перевод закономерностей ПрО, представленных в семантической схеме, на язык системы управления БД (СУБД) может происходить в достаточной степени формально одним из следующих способов:•·вручную человеком по фиксированным правилам семантической методики;•·полностью автоматически с использованием CASE-инструмента (Computer Aided Software Engineering - разработка программного обеспечения с помощью компьютера);•·в ходе человеко-машинной процедуры под управлением CASE-системы.Для достижения поставленной цели, как минимум, необходимо синтезировать мощную семантическую модель [1] и разработать для нее набор детальных правил трансформации схемы в реляционную модель. Программой-максимумом является реализация CASE-системы, позволяющей вводить в удобной для человека форме семантику ПрО и генерировать элементы схемы на языке конкретной СУБД.К модели-претенденту предъявляются следующие требования:1..Модель должна обладать достаточной общностью и ясностью для того, чтобы в ней можно было легко представить любые явления и законы моделируемого мира.2.Разрыв между этой моделью и моделями, реализуемыми в СУБД, не должен быть большим, желательно, чтобы можно было воспользоваться максимально формальными правилами преобразования структур и ограничений целостности из одной модели в другую.2. ER-модель и ее модификацииОдной из самых первых и самых распространенных семантических моделей данных является модель «Сущность - Связь» (Entity-Relationship Model - ER-модель). Первоначально предложенная Ченом в 1976 году [2] она предполагала пять основных структурных понятий схемы: множество сущностей, множество связей, множество значений, роль и атрибут (рис. 1).В дальнейшем ER-модель была пополнена понятиями «специализация» и «категоризация» для представления отношений обобщения между множествами сущностей, и таким образом образована расширенная ER-модель (Enhanced Entity-Relationship Model - EER-модель) [3] (рис. 2).Последующие модификации ER-модели (нотации Баркера и IDEF1X), хоть и удостоились реализаций в CASE-инструментах (Oracle Designer и ERwin соответственно), шли по пути сокращения выразительных возможностей представления семантики предметной области.Схематично модификации ER-модели Чена можно представить следующим образом (рис. 3).ER-модель ЧенаОсновным недостатком ER-моделей Баркера и IDEF1X является тот факт, что они предлагают бедный язык для описания семантики ПрО и, в силу этого, уже на начальной фазе формализации представлений о ПрО вынуждают человека принимать «чисто технические» решения. Но совмещение двух в принципе различных мыслительных процессов - выяснение семантики ПрО и определение схемы БД на весьма абстрактном языке СУБД - еще полбеды. Хуже то, что принимаемые в ходе этого технические решения (например, введение дополнительного множества сущностей и бинарных множеств связей вместо множества связей степени больше двух) должны быть по-хорошему проанализированы заново в реляционной схеме. В противном случае можно получить не самую эффективную схемуБД.Идеальная семантическая модель должна быть близка по своей концепции человеческому мировосприятию и не сковывать его потребности в описании семантики моделируемого мира.3. Модель восприятия мира человеком и понятия ER-моделиВ философии и логике сложилась довольно естественная модель человеческого восприятия мира [4]. В соответствии с ней люди без проблем выделяют многочисленные предметы и строят их абстракции в контексте тех или иных понятий. Сами понятия о предметах в свою очередь тоже являются предметами мысли, правда, абстрактными, обобщающими реальные предметы. Все, что можно сказать о предмете, называют его признаками. Признаком может быть наличие или отсутствие у предмета того или иного качества - свойства, значения характеристики или отношения предмета к другим предметам. Подобные взгляды на окружающий нас мир хорошо соответствуют основным понятиям ER-модели.Сущность (entity) - это абстрактное представление единичного объекта ПрО. Эта абстракция строится на основании некоторого понятия, существенного с точки зрения задач ПрО. Любое понятие характеризуется содержанием (условием, истинность которого говорит о том, что объект подпадает под это понятие) и объемом (классом объектов, удовлетворяющих условию содержания). Содержание понятия предполагает наличие определенных характеристик, общих для всех объектов объема, возможно различающихся значениями. Очевидно, что с точки зрения различных понятий можно построить несколько абстракций-сущностей одного и того же объекта. Понятие определяет множество сущностей (entity set), интенсионалом которого является содержание понятия, а экстенсионалом - его объем.Связь (relationship) - это единичный экземпляр отношения (в философско-логическом смысле) между сущностями. Абсолютно все, что говорилось о сущности и множестве сущностей, можно сказать о связи и множестве связей. Разница заключается лишь в том, что для последних используется не понятие о предметах (как у сущностей), а понятие об отношениях. Множество связей (relationship set) можно рассматривать как математическое отношение, определенное на n множествах сущностей, а связь - как кортеж этого отношения с n элементами-сущностями.Каждая сущность в такой связи играет определенную роль (role) - функцию, общую для всех сущностей этой роли. Таким образом, даже если в понятии об отношении неоднократно участвует одно и то же множество сущностей, в каждой связи сущности этого типа будут различаться своими ролями.Информацию об объекте или взаимоотношении между объектами получают путем наблюдения или измерения характеристик, существенных для того или иного понятия, и выражают множеством пар «атрибут - значение». Значения (value) классифицируются в различные множества значений (value set). Таким образом, множество значений в этой модели представляет собой то, что в других моделях иногда называют доменом, - областью допустимых значений атрибутов.Атрибут (attribute) в ER-модели формально определяется как отображение, ставящее в соответствие сущностям или связям некоторого множества одиночные значения или кортежи значений. Таким образом, областью определения атрибутивного отображения может быть множество сущностей или множество связей, а областью значений - множество значений или Декартово произведение множеств значений. Причем это отображение не обязано быть функциональным, образов у одного прообраза может быть несколько. В таком случае говорят о многозначных атрибутах.Как уже отмечалось, расширениями ER-модели Чена являются концепции специализации/генерализации и категоризации. При этом задаются отношения типа «подкласс - суперкласс» между множествами сущностей. Суперклассы и подклассы используются с целью исключения дублирования определения общих атрибутов и связей нескольких «родственных» типов сущностей (каждый подкласс специализации наследует все атрибуты и типы связей суперкласса). Специализация (specialization) представляет собой нисходящий подход к определению множества суперклассов и связанных с ними подклассов. Генерализация (generalization) представляет собой восходящий подход (противоположный специализации).В некоторых ситуациях может потребоваться смоделировать связь «суперкласс/подкласс», включающую сразу несколько разных суперклассов. В этом случае создаваемый подкласс будет называться категорией (category). Подкласс категории обладает выборочным наследованием (selective inheritance). Это означает, что каждая сущность категории наследует атрибуты и связи только одного суперкласса. Кроме уже указанных возможностей, обеспечивающихся механизмом наследования, специализации и категоризации позволяют восстановить в БД единство объекта предметной области, рассматриваемого как несвязанные его абстракции-сущности.4. Модель «Сущность - Связь - Отображение» как развитие ER-моделиАвтором предлагается модель «Сущность - Связь - Отображение» (прежнее название - «Объект - Отображение») [5], которая в каком-то смысле продолжает развитие ER-модели в сторону более детального описания закономерностей предметной области. Ее англоязычное название - Entity-Relationship-Mapping Model или ERM-model (рис. 4).Кратко перечислим нововведения (основные из них будут подробнее освещены в дальнейшем):1..Явно введено понятие «класс» как обобщение понятий «множество сущностей», «множество связей» и «множество значений» (в предыдущих версиях ER-модели оно отсутствовало). Именно классы будут образовывать области определения и области значений отображений.2..Специализации и категоризации подняты на уровень класса, что позволяет рассматривать иерархии обобщения не только множеств сущностей, но также и множеств связей, и множеств значений.3..Введено понятие «отображение». Определение каждого отображения включает помимо прочего указание ролей образов и прообразов, а также классов, объекты которых играют эти роли.4.Выделены частные случаи отображений - атрибутивные и реляционные отображения. Первые полностью соответствуют аналогам в модели Чена. Вторые определяются множествами связей, и в качестве образов и прообразов в них выступают сущности.5..Между отображениями вводятся отношения следствия и эквивалентности.6..Определена алгебра отображений - набор операций, задаваемых на множестве отображений. Каждая операция имеет одно или два отображения на входе и продуцирует одно отображение на выходе.7..Для специализаций введено понятие основания деления. В качестве такового выступают отображения.Ключевым моментом, повлекшим за собой возможности более глубокого анализа ПрО, является дальнейшая декомпозиция понятия «множество связей» (в ER-модели при этом рассматриваются только роли сущностей) и выделение так называемых семантически значимых отображений. Каждое множество связей степени n определяет 2й - 2 отображений между множествами сущностей.На самом деле отображения в моделировании данных присущи не только множествам связей, они пронизывают всю схему данных и очень тонко выражают семантику ПрО.5. Понятие отображенияСемантически значимое отображение (mapping) (в дальнейшем просто - отображение) - это структурное понятие ERM-модели, определяющее некоторый закон предметной области, по которому каждому объекту моделируемого мира может быть поставлен в соответствие (а может быть, и нет) один или более объектов. Законы, действующие в мире объектов, представляются в нашей модели в виде отображений, прообразами и образами которых являются сущности, связи и значения. Термин «семантически значимый» предполагает значимость с точки зрения семантики, изучающей семантические отношения, которые образуются между объектами и знаками, представляющими эти объекты в знаковой системе. Благодаря этому эпитету мы дистанцируемся от абстрактных (в частности математических) отображений и функций.Каждый факт соответствия ф одному объекту одного другого объекта представляет экземпляр отображения ф (или экземпляр ф-отображения); все экземпляры одного и того же отображения ф, соответствующие одному объекту, будем называть отображением ф этого объекта (или ф-отображением объекта).Рассмотрим объект х и отображение ф. Будем называть образом (image) объекта х при отображении ф (или, кратко, ф-образом объекта х) объект у, поставленный в соответствие объекту х одним из экземпляров отображения ф (краткая запись у = ф(х)).Все отображение ф объекта х порождает совокупность образов, которую будем называть областью ф-образов объекта х (обозначение - {ф(х)}). В каждом конкретном случае эта совокупность:•·может быть пустой (отображение ф неприменимо к объекту х) или•·содержать один объект, или•содержать много объектов.Объект x в таком случае будем рассматривать как прообраз (preimage) объекта у при отображении ф (или, кратко, ф-прообразом объекта у).ф-отображение объекта х характеризует кардинальное число (cardinal number) объекта х при отображении ф (обозначение - КЧф (х)) - мощность его областиобразов при этом отображении.Совокупность всех объектов, имеющих ненулевые кардинальные числа при отображении ф назовем реальной областью определения отображения (РООО) ф, а совокупность всех ф-образов этих объектов - реальной областью значений отображения (РОЗО) ф. Одним из самых главных отличий отображений объектов реального мира от функций в математике является динамичный характер экземпляров отображений. В течение времени эти экземпляры могут возникать и исчезать, у них могут меняться образы. В то время как функция у = х2 раз и навсегда фиксирует свои экземпляры.Семантика же отображений стабильна и в любой момент времени отражает тот закон, который справедлив для всех возможных состояний их экземпляров. По этой причине наряду с динамичными РООО и РОЗО для отображений необходимо рассматривать «потенциальные» области определения и значений отображений. Область определения отображения ф (ООО) (domain) - это совокупность объектов, которые в силу смысла закона ф могли иметь в прошлом или имеют в настоящем, или смогут иметь в будущем хотя бы один ф-образ. Область значений отображения ф (ОЗО) (codomain) - это совокупность объектов, которые в силу смысла закона ф могли быть в прошлом или являются в настоящем, или смогут стать в будущем ф-образами некоторых объектов. Например, если отображению ДОЧЬ придать юридический смысл, то ООО ДОЧЬ - совокупность всех людей, а ОЗО ДОЧЬ - совокупность всех женщин (ДОЧЬ: ЧЕЛОВЕК - ЖЕНЩИНА).6. Формальная системаERM-модель позволяет по-новому взглянуть на идею семантического моделирования. Дейт, рассматривая его на примере ER-модели, справедливо отмечает, что «ER-модель не является формальной моделью» [1. С. 523].«...семантическое моделирование не является такой же строгой и ясной дисциплиной, как методика дальнейшей нормализации. Суть в том, что проектирование БД все еще является весьма субъективным занятием. Оно и не может быть объективным, поскольку существует сравнительно мало действительно строгих принципов, которые могут использоваться для разрешения этой проблемы (немногие существующие на сегодняшний день принципы, в основном, являются принципами нормализации). Идеи семантического моделирования можно рассматривать как чисто эмпирические рекомендации, которые действительно могут быть весьма полезны на практике» [1. С. 526 - 527].Мы же стараемся найти эти «строгие принципы» еще в рамках близкого к человеку семантического моделирования, получить формальные правила трансформации их в «строгие реляционные принципы», позволяющие автоматизировать этот процесс с гарантией наилучшего качества. Формальному взгляду на семантическое моделирование способствуют предлагаемые для ERM-модели теория семантически значимых отображений [6] и формальная система для нее [7, 8]. Здесь будет представлен упрощенный вариант формальной системы, достаточный для понимания вводимых понятий. Ее более развитый вариант опубликован в [8]. Он включает дополнительные конструкции алфавита и расширенную операцию проекции.Формальная система теории семантически значимых отображений строится на базе исчисления предикатов первого порядка.Алфавит исчисления нашей формальной системы составляют следующие символы.I.Предметные переменные, обозначающие объекты некоторых классов: x, y, z.II..Индивидные символы или константы, представляющие конкретные объекты классов: a, b, c.В отличие от переменных, обозначающих в каждый момент времени какой-то неопределенный объект класса, индивидные символы всегда ссылаются на один единственный конкретный объект и в каком-то смысле подобны константам.III..Предикаты или атомы исчисления, ограниченные следующими видами:•·предикатом вида o1 = o2, где o1 и o2 - предметные переменные или константы (истинен тогда и только тогда, когда oi и o2 указывают на один и тот же объект);•·предикатом вида o2 = ф (o1), где o1 и o2 - предметные переменные или константы (истинен тогда и только тогда, когда объект o2 является образом объекта oi при отображении ф);•·предикатом вида R(ol,..., on), где ob...,o„ - предметные переменные или константы, являющийся традиционным сокращением предиката Истина = R(o1,...,on);•·предикатом вида o =< ox,...,on > , где o, o1, on - предметные переменные или константы (истинен тогда и только тогда, когда объект o представляет собой кортеж объектов oi, ., on).•·Правильно построенные формулы, а также понятия связанных и свободных переменных определяются аналогично исчислению предикатов первого порядка.•·Традиционны также правила вывода, основным из которых является правило «модус поненс»: из формул ф и ф - у выводится формула у.•·Выражения формальной системы будут сопровождать дальнейшее изложение для более строгого определения вводимых понятий.•·•·7. Ограничения целостности на отображения•·Все отображение ф в целом количественно характеризуют минимальные и максимальные кардинальные числа.•·Глобальное минимальное кардинальное число (ГМКЧ) отображения ф - это наименьшее из кардинальных чисел КЧф (х) объектов х, являющихся экземплярами ООО ф:•·ГМКЧф =minКЧф (х).•·х-экземпляр(ООО(^>))•·Реальное минимальное кардинальное число (РМКЧ) отображения ф - это наименьшее из кардинальных чисел КЧф (х) объектов х, которые реально имеют ф-•·образы (являются экземплярами РООО ф):•·РМКЧф =minКЧф (х).•·х=экземпляр(РООО())•·Очевидно, что 0 = ф(x))).•·Здесь для упрощения записи мы опустили имена ролей, и сложный объект-образ представили упорядоченным кортежем .•·Противоположной операции проекции является операция агрегации.•·Рассмотрим два отображения, имеющие совпадающую область определения: с : X - Y и у: X - Z. Тогда агрегатом отображений с и у будет отображение (р 0 у): X - YхZ, такое, что для каждого экземпляра отображения (р ◊ у) = (р 0 у)(х) существует:•·экземпляр отображения с y = с (х) и•·экземпляр отображения у z = у(х).При этом для экземпляров должно быть справедливо и обратное утверждение.Например, агрегатом отображений МАТЬ: РЕБЕНОК - МАТЬ и ОТЕЦ:РЕБЕНОК - ОТЕЦ будет отображение РОДИТЕЛИ: РЕБЕНОК - МАТЬ х ОТЕЦ.Отображение (ср 0 у) является агрегатом отображений ср и у тогда и только тогда, когдаVxVyVz(< y, z >= (cpOv|/)(x) О y = cp(x) л z = у(x)).ЗаключениеСемантическая модель данных «Сущность - Связь - Отображение» сочетает в себе естественность ее понятий для человека и полноту представления свойств данных. Большая детальность описания ПрО в этой модели неизбежно должна приводить к повышенной сложности ее использования. Трактовка новой модели как расширения ER-модели позволяет проектировщику ограничиться традиционными для последней понятиями, избегая при этом сложности описаний. Если же он в состоянии освоить новые возможности, это гарантирует ему полное определение семантики ПрО еще в рамках семантической модели и построение более эффективной реляционной схемы БД.ЛИТЕРАТУРА
Скачать электронную версию публикации
Загружен, раз: 348
Ключевые слова
Авторы
ФИО | Организация | Дополнительно | |
Бабанов Алексей Михайлович | Томский государственный университет | кандидат технических наук, доцент кафедры программной инженерии факультета информатики | babanov@csd.tsu.ru |
Ссылки
Бабанов А.М. Теория семантически значимых отображений // Вестник ТГУ. 2003. № 280. С. 239 - 248.
Бабанов А.М. Формальная система теории семантически значимых отображений // Вестник ТГУ. 2006. № 290. С. 261 - 263.
Бабанов А.М. Развитие формальной системы теории семантически значимых отображений // Вестник ТГУ. 2006. № 293. С. 135 - 139.
Цикритзис Д., Лоховски Ф. Модели данных: Пер. с англ. М.: Финансы и статистика, 1985. - 344 с.
Бабанов А.М. Сравнительный анализ семантических моделей, применяемых для проектирования схем баз данных // Вестник ТГУ. 2006. № 290. С. 251 - 260.
Войшвилло Е.К., Дегтярев М.Г. Логика как часть теории познания и научной методологии (фундаментальный курс): В 2-х кн. М.: Наука, 1994.
Chen P.P. The Entity - Relationship Model - Toward a Unified View of Data // ACM Trans. Database Systems. 1976. V.l. No. 1. P. 9 - 36.
Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика: Пер. с англ. М.: Вильямс, 2000. 1120 с.
Дейт К. Введение в системы баз данных. 7-е изд.: Пер. с англ. М.: Вильямс, 2001. 1072 с.
