Теория семантически значимых отображений
В статье определяются основные понятия теории семантически значимых отображений (в дальнейшем - теория отображений), главное назначение которой заключается в описании семантики предметной области для целей проектирования схемы базы данных. Использование теории отображений позволяет предложить конструктивную, относительно простую, но в то же время весьма результативную методологию проектирования баз данных для всех известных моделей данных.
Theory of semantically significant mappings.pdf Предлагаемая статья явилась результатом осмысленияопыта многолетней работы автора в области технологии базданных. В ходе этой работы у автора возникло и с годамитолько усилилось чувство неудовлетворенности подходамик моделированию данных, опубликованными за последние30 лет. Вместо того чтобы создать у читателя непротиворе-чивую картину этой области знаний и дать конкретную кон-структивную методологию для построения «хороших» базданных, даже классические печатные работы (по крайнеймере, их русскоязычные переводы) грешат неточным ис-пользованием терминов, неадекватными построениями,противоречиями, нерешенными проблемами и т.д.Если рассматривать базу данных как формальную сис-тему, в которой синтаксические правила соответствуютправилам структуризации данных конкретной модели, топроблема построения «хорошей» базы данных сводится копределению для фиксированной предметной области такихправильно построенных формул (ППФ), которые в любоймомент времени соответствуют моделируемому миру (се-мантически значимы). Таким образом, одной из основныхзадачКаждый факт соответствия ϕ одному объекту од-ного другого объекта представляет экземпляр ото-бражения ϕ (или экземпляр ϕ-отображения), всеэкземпляры одного и того же отображения ϕ, соот-ветствующие одному объекту, будем называть ото-бражением ϕ этого объекта (или ϕ-отображениемобъекта).В естественном языке практически любое предло-жение определяет те или иные объекты и их отобра-жения друг в друга. Если объекты представить в видевершин графа, то каждый экземпляр отображенияможно представить в виде ориентированной дуги, авсе отображения объекта - в виде совокупности дуг,выходящих из вершины отображаемого объекта.Таким образом, фраза «У дочери Сидорова Сашиесть две дочери - Маша и Даша» может быть пред-ставлена в виде графа объектов и отображений (рис. 1).Сидоров дочь Саша дочь МашадочьДашаРис. 1. Граф объектов и отображенийВершины, представляющие объекты, помечаютсясимволами, уникально обозначающими эти объекты.Если обозначающий символ объекта неизвестен (вданном случае не указан в предложении), вершинаостается непомеченной. Пометка на дуге, изобра-жающей экземпляр отображения, является символом,уникально обозначающим отображение. Все дугиграфа должны быть помечены.Рассмотрим объект х и отображение ϕ. Будем на-зывать образом объекта х при отображении ϕ (иликратко, ϕ-образом объекта х) объект у, поставленныйв соответствие объекту х одним из экземпляров ото-бражения ϕ (краткая запись у = ϕ(х)). Схожесть с язы-ком, традиционно используемым для функций в ма-тематике, не случайна - отображение является обоб-щением понятия функции.Все отображение ϕ объекта х порождает совокуп-ность образов, которую будем называть областью ϕ-образов объекта х (обозначение - {ϕ(x)}). В каждомконкретном случае эта совокупность:- может быть пустой (отображение ϕ неприменимок объекту х) или- содержать один объект, или- содержать много объектов.Объект x в таком случае будем рассматривать какпрообраз объекта у при отображении ϕ (или кратко,ϕ-прообразом объекта у) (обозначение - x = ϕ−1(y) ).Всю совокупность прообразов объекта у при отобра-жении ϕ назовем областью ϕ-прообразов объекта у(обозначение - {ϕ−1(y)}).Назовем количество элементов совокупности еемощностью (для обозначения мощности будем ис-пользовать знаки ||). Например, |{дочь (Сидоров)}| = 1,|{дочь (Саша)}| = 2.ϕ-отображение объекта х характеризует карди-нальное число объекта х при отображении ϕ (обо-значение - КЧϕ(х)) - мощность его области образовпри этом отображении. Диапазон изменения карди-нальных чисел, таким образом, от 0 до . Например,КЧдочь(Сидоров)=1,КЧдочь(Саша)=2.Совокупность всех объектов, имеющих ненулевыекардинальные числа при отображении ϕ, назовем ре-альной областью определения отображения (РО-ОО) ϕ, а совокупность всех ϕ-образов этих объектов -реальной областью значений отображения (РОЗО)ϕ. Мы уже упоминали об аналогии «отображение -функция». Так вот, одним из самых главных отличийотображений объектов реального мира от функций вматематике является динамичный характер экземпля-ров отображений. В течение времени эти экземплярымогут возникать и исчезать, у них могут меняться об-разы, в то время как функция у = х раз и навсегдафиксирует свои экземпляры.Семантика же отображений стабильна и в любоймомент времени отражает тот закон, который спра-ведлив для всех возможных состояний их экземпля-ров. По этой причине наряду с динамичными РООО иРОЗО для отображений необходимо рассматривать«потенциальные» ООО и ОЗО. Область определенияотображения (ООО) ϕ - это совокупность объектов,которые в силу смысла закона ϕ могли иметь в про-шлом или имеют в настоящем, или смогут иметь вбудущем хотя бы один ϕ-образ. Область значенийотображения (ОЗО) ϕ - это совокупность объектов,которые в силу смысла закона ϕ могли быть в про-шлом или являются в настоящем, или смогут стать вбудущем ϕ-образами некоторых объектов. Например,если отображению «дочь» придать юридическийсмысл, то ООО «дочь» - совокупность всех людей, аОЗО «дочь» - совокупность всех женщин.УНИВЕРСАЛЬНЫЕ ОТОБРАЖЕНИЯБольшая часть отображений специфична для каж-дой предметной области, но существуют отображе-ния, используемые во всех предметных областях, ипоэтому называемые универсальными.Любое описание любого мира невозможно без ис-пользования некоторой знаковой (семиотической)системы. Для уникальной идентификации объектамира в знаковой системе ему ставят в соответствиенекоторый символ (имя объекта) - слово или слово-сочетание. Однозначное отображение между симво-лом языка и объектом, им обозначенным, будем назы-вать отображением денотации (обозначения). В каче-стве символа этого отображения будем использоватьслово «денотат» или слово «обозначаемое». Это ото-бражение относится к области семантики - части се-миотики (теории знаковых систем), собственно и изу-чающей взаимосвязи между символами языка и обо-значаемыми ими объектами. Благодаря этому отобра-жению любые утверждения языка по отношению ксимволу переносятся в мир объектов. Неудивительно,что в приводимых примерах явно это отображение нефигурирует, но всегда предполагается.До сих пор мы говорили об одной стороне взаимо-связей между объектами. На самом деле, у каждогоотображения есть инверсное (или обратное) емуотображение -1. Так, для отображения «денотат»инверсным является отображение, ставящее в соот-ветствие объекту символ языка, уникально его иден-тифицирующий. Будем обозначать это отображениесимволом «термин» или «обозначающее». Отметим,что если отображение «денотат» любому символуставит в соответствие один и только один объект, тоотображение «термин» для некоторого объекта можетлибо вообще не давать образа (объект не имеет име-ни), либо может иметь один образ либо совокупностьобразов. Поскольку именно пара отображений «тер-мин - денотат» переносит семантику объектов моде-лируемого мира на символы знаковой системы и на-оборот, желательно, чтобы оба этих отображениябыли взаимно однозначными. Только в этом случаевозможно изоморфное отношение между этими сис-темами.Отображение, ставящее в соответствие классу егоэкземпляры, будем обозначать символом «экземп-ляр», а обратное ему - символом «класс». Если ото-бражения «денотат» и «термин» транслируют семан-тику из моделируемого мира в знаковую систему иобратно, то отображение «экземпляр» распространяетсмысл, приписанный классу, на всером ОЗО : {экземпляр (ООО((ϕ)))} {экземпляр(ООО(ϕ))} и {экземпляр (ОЗО((ϕ)))} {экземпляр(ОЗО())}. Кроме этого, {экземпляр (ОЗО(ϕ))} {эк-земпляр(ООО())}∅.х ϕ у(ϕ) zРис. 3. Композиция отображенийПо определению композиции отображений, обще-значимой будет следующая формула:( ( ( )) ( ( ) ( xz z= ϕ x ↔ y y= ϕ x z= y))).Объединение отображений φ и ψ есть отображе-ние (φ ψ), такое, что для каждого экземпляра ото-бражения (ϕ )(х) существует:- либо экземпляр отображения ϕ (х) с теми же са-мыми образом и прообразом,- либо экземпляр отображения (х) с теми же са-мыми образом и прообразом,- либо оба таких экземпляра одновременно.Например, отображение «ребенок» есть объединениеотображений «дочь» и «сын»: Ребенок = Дочь Сын.Понятно, что каждый экземпляр ООО ϕ одно-временно является либо экземпляром ООО ϕ, либоэкземпляром ООО , а каждый экземпляр ОЗО ϕ одновременно является либо экземпляром ОЗО ϕ, либоэкземпляром ОЗО : {экземпляр (ООО(ϕ ))} {экземпляр (ООО(ϕ))} {экземпляр (ООО())} и{экземпляр (ОЗО(ϕ ))} {экземпляр (ОЗО(ϕ))} {экземпляр (ОЗО())}.Общезначимой будет следующая формула:xy(y=(ϕ)(x)↔ y= ϕ(x) y= (x)).Пересечение отображений ϕ и есть отображе-ние (ϕ ), такое, что для каждого экземпляра ото-бражения (ϕ )(х) существуют одновременно:- и экземпляр отображения ϕ (х) с теми же самымиобразом и прообразом,- и экземпляр отображения (х) с теми же самымиобразом и прообразом.Например, отображение «дочь, живущая вместе сродителем» есть пересечение отображений «дочь» и«живет вместе с».Понятно, что каждый экземпляр ООО ϕ одно-временно является и экземпляром ООО ϕ, и экземп-ляром ООО , а каждый экземпляр ОЗО ϕ одно-временно является и экземпляром ОЗО ϕ, и экземпля-ром ОЗО : {экземпляр (ООО(ϕ ))} {экземпляр(ООО(ϕ))} {экземпляр (ООО())} и {экземпляр(ОЗО(ϕ ))} {экземпляр (ОЗО(ϕ))} {экземпляр(ОЗО())}.Общезначимой будет следующая формула:xy(y=(ϕ)(x)↔ y= ϕ(x) y= (x)).Разность отображений ϕ и есть отображение(ϕ - ), такое, что для каждого экземпляра отображе-ния (ϕ − )(х):- существует экземпляр отображения ϕ (х) с темиже самыми образом и прообразом и- не существует экземпляра отображения (х) стеми же самыми образом и прообразом.Например, отображение «отец» есть разность ото-бражений «родитель» и «мать»: Отец = Родитель -Мать.Понятно, что каждый экземпляр ООО ϕ − одно-временно является и экземпляром ООО ϕ, а каждыйэкземпляр ОЗО ϕ − одновременно является и эк-земпляром ОЗО ϕ: {экземпляр (ООО(ϕ − ))} {эк-земпляр (ООО(ϕ))} и {экземпляр (ОЗО(ϕ − ))} {эк-земпляр (ОЗО (ϕ))}.Общезначимой будет следующая формула:xy(y= (ϕ − )(x) ↔ y= ϕ(x) ¬y= (x)) .СЕМАНТИЧЕСКИ ЗНАЧИМЫЕФОРМЫ ДАННЫХПонятия теории отображений предназначены дляописания семантики предметной области и могутбыть использованы, в частности, при проектированиисхемы базы данных в рамках той или иной моделиданных. В любой модели данных возможно порожде-ние «бессмысленных» структур, которые нарушаютсемантику объектов предметной области и, как след-ствие, искажают истинность фактов. Чтобы исклю-чить такие случаи, необходимо ввести для традици-онно используемых в моделях данных форм пред-ставления данных их семантически значимые (отве-чающие семантике предметной области) аналоги. Та-ковыми являются множество, кортеж и отношение.Аналоги:«Множество есть собрание (набор, совокупность)предметов, называемых элементами множества; какосновное понятие теории множеств, понятие множе-ства не подлежит логическому определению. Множе-ство может быть задано указанием общего свойстваего элементов или прямым перечислением элемен-тов» [1].Семантически значимое множество (СЗ-мно-жество) (в широком смысле) - это некоторое отобра-жение одного объекта. Семантически значимое множе-ство (в узком смысле) - это область образов одногообъекта при некотором отображении. Сами образы бу-дем называть элементами СЗ-множества. Мы впер-вые используем традиционную математическую формупредставления (в данном случае - множество) для се-мантически правильных совокупностей объектов. По-этому снабжаем слово «множество» соответствующимэпитетом. Этим мы подчеркиваем тот факт, что в отли-чие от множеств в математике множества в теорииотображений всегда имеют смысл, который транслиру-ется на все элементы этого множества. В дальнейшембудем предполагать, что всегда имеются в виду именноСЗ-множества и опускать этот префикс.Таким образом, множество полностью определяетобъект х, отображение ϕ и область ϕ-образов объектах - {ϕ(х)}. Чтобы не изобретать новых знаков, будемобозначать такое множество также {ϕ(х)}, тем болеечто это соответствует определению множества в уз-ком смысле.Будем в дальнейшем применять к СЗ-множествамнекоторые идеи теории множеств в их традиционномсмысле, в частности, использовать для них теоретико-множественные операции, такие, как объединение,пересечение и разность. Так, теперь можно утвер-ждать, что {экземпляр (ООО(дочь))} = {экземп-ляр(Человек)} и {экземпляр (ОЗО(дочь))} = {экземп-ляр(Человек)} {объект пола (Женский)}.Представляют интерес случаи применения ото-бражения к элементам некоторого множества. Рас-смотрим множество {ϕ(х)} и отображение (в прин-ципе ничто не мешает рассматривать случай, когда ϕи - одно и то же отображение) его элементов. Бу-дем обозначать {({ϕ(х)})} область -образов эле-ментов множества {ϕ(х)}. Понятно, что это то же са-мое, что и область образов объекта х при отображе-нии (ϕ) - композиции отображений ϕ и :{({ϕ(х)})} = {(ϕ(х))}. В дальнейшем, если нужнобудет подчеркнуть участие в отображении множества,будем использовать первое выражение, в остальныхслучаях - второе.И, наконец, в моделировании данных интересенслучай, когда рассматривается отображение междуэлементами двух множеств. Элементы одного множе-ства {ϕ(х)} выступают в роли прообразов экземпляровотображения , элементы другого множества {(у)}выступают в роли образов этих экземпляров. Будемобозначать {{ϕ(х)}{(у)}} - совокупность экземпля-ров отображения , таких, что их прообразами явля-ются элементы множества {ϕ(х)}, а образами - эле-менты множества {(у)}. Для таких случаев удобноиспользовать нотацию, применяемую в математике - : {ϕ(х)} -> {(у)}.Областью -образов объекта z во множестве{(у)} назовем совокупность -образов объекта z, од-новременно являющихся элементами множества{(у)} (обозначение - {(z) ->{(у)}}).Другая популярная форма данных - отношение.Введем ее в бинарном варианте. Любой экземплярлюбого отображения полностью определяется ото-бражением-классом, объектом-прообразом и объек-том-образом: ϕ, x, y=ϕ(x). Фиксируя в знаковой сис-теме такой экземпляр отображения, мы предполагаемавтоматическое создание обратного ему экземпляра -экземпляра обратного отображения ϕ−1 с объектом-прообразом y и объектом-образом x= ϕ−1 (y). Так, вы-сказывание «Сидоров является родителем Саши» не-явно влечет за собой высказывание «Саша - ребенокСидорова». Естественно, что эффективная формапредставления экземпляров отображений должнаучитывать это обстоятельство.Семантически значимым бинарным кортежем(СЗ-2-кортежем) называется форма{:, < ϕ−1 >:< ϕ−1 -образ>},определяющая пару взаимообратных экземпляровотображений: y=ϕ(x) и x= ϕ−1 (y). Для приведенногопримера это будет кортеж {родитель: Сидоров, ребе-нок: Саша}. Как нетрудно заметить, в кортеже мак-симально неизбыточно определены все элементы, не-обходимые для идентификации экземпляров отобра-жений. Можно сказать, что этот кортеж представляетдвухстороннюю связь типа «родитель - ребенок» ме-жду объектами «Сидоров» и «Саша», причем именаотображений в таком случае характеризуют роли, ко-торые играют соответствующие объекты в этой связи.Рассмотрим отображение между множествамиϕ(х) и (у) - :{ϕ(х)} -> {(у)}. Семантически зна-чимым бинарным отношением (СЗ-2-отношением)называется форма{{:,< −1 >:< −1 -образ элемента множества {(у)}>}},определяющая пару взаимообратных отображений и−1 между множествами {ϕ(х)} и {(у)} путем явногоуказания кортежей-экземпляров {{ϕ(х)}{(у)}}. Так,отношение «дочь - дочь-1» на множествах {экземпляр(ООО(дочь))} и {экземпляр(ОЗО(дочь))} - это сово-купность следующих кортежей: {дочь: Саша, дочь-1:Сидоров}, {дочь: Маша, дочь-1: Саша}, {дочь: Даша,дочь-1: Саша}.Аналоги:С понятием отношения связана наибольшая пута-ница. Приведем несколько известных его определе-ний. «Пусть En = E … E есть произведение n мно-жеств Е, т.е. множество всех кортежей(x1,..., xn ) , xi E(i=1,...,n) . Отображение Р : Еn -> {0, 1}называется n-местным отношением (предикатом, ло-гической функцией) над Е. Множество А Еn всехкортежей, для которых Р (x1,..., xn ) = 1, определяет«свойство» кортежей: (x1,..., xn ) состоят в отношенииР тогда и только тогда, когда (x1,..., xn) А» [1].«n-местным отношением R на множествахA1,..., An называется подмножество прямого произве-дения A1 ... An . Другими словами, элементыx1,..., xn , где xiAi(i=1,...,n) , связаны отношением Rтогда и только тогда, когда (x1,..., xn ) R ( (x1,..., xn ) -упорядоченный набор из n элементов).Пусть R - бинарное отношение. Определим обрат-ное отношение R-1 следующим образом: R-1=={(x,y)|(y,x)R}. Таким образом, R-1 связывает те жепары элементов, что и R, но «в другом порядке» [4].«Пусть задано множество из n типов или доменовTi (i=1,...,n) , причем все они необязательно должныбыть различными. Тогда r будет отношением, опреде-ленным на этих типах, если оно состоит из двух час-тей: заголовка и тела (заголовок еще иногда называютсхемой или интенсионалом отношения, а тело - экс-тенсионалом отношения), где:- заголовок - это множество из n атрибутов видаAi:Ti; здесь Ai - имена атрибутов отношения r, а Ti -соответствующие имена типов;- тело - это множество из m кортежей t; здесь t яв-ляется множеством компонентов вида Ai:vi, в кото-рых vi - значение типа Ti , т.е. значение атрибута Aiв кортеже t» [5].Человека прежде всего интересует истинность илиложность того или иного факта, поэтому ему ближе ипонятней первое определение. В информационныхсистемах (и в базах данных, в частности) принятохранить только истинные факты и предполагать вы-полнение гипотезы о замкнутости мира: если кортежне содержится в теле отношения, то соответствующееему утверждение ложно. Понятно, что в таком случаепервое и второе определения эквивалентны. Третьеопределение отличается от второго отсутствием по-рядка в элементах кортежей, и, таким образом, одноотношение в смысле третьего определения соответст-вует сразу нескольким отношениям, соответствую-щим второму определению. Именно третье определе-ние используется в базах данных и, как нетрудно за-метить, наше определение очень близко ему.КОЛИЧЕСТВЕННЫЕ ХАРАКТЕРИСТИКИОТОБРАЖЕНИЙДо сих пор, определяя свою знаковую систему (атеория отображений также является знаковой систе-мой), мы в основном говорили о знаках, отражающихкачественные характеристики объектов и отображе-ний. Важную роль при описании семантики мира взнаковой системе играют и количественные характе-ристики, прежде всего, касающиеся отображений.Одну из них - кардинальное число объекта, участ-вующего в отображении, - мы уже рассмотрели.Количественной характеристикой множества явля-ется его мощность. Будем называть мощностьюмножества {ϕ(х)} кардинальное число КЧϕ(х):|{ϕ(х)}| = КЧϕ(х).Все отображение ϕ в целом количественно харак-теризуют минимальные и максимальные кардиналь-ные числа.Глобальное минимальное кардинальное число(ГМКЧ) отображения ϕ - это наименьшее из карди-нальных чисел КЧϕ(х) объектов х, являющихся эк-земплярами ООО ϕ:ГМКЧϕ=( ( ))minx=экземпляр ОООϕКЧϕ(х).Реальное минимальное кардинальное число(РМКЧ) отображения ϕ - это наименьшее из карди-нальных чисел КЧϕ(х) объектов х, которые реальноимеют ϕ-образы (являются экземплярами РООО ϕ):РМКЧϕ=( ())minx=экземпляр РОООϕКЧϕ(х).Максимальное кардинальное число отображе-ния ϕ - это наибольшее из кардинальных чиселКЧϕ(х) объектов х, являющихся экземплярами ООО ϕ:МКЧϕ=( ( ))maxx=экземпляр ОООϕКЧϕ(х).Очевидно, что0 Проект.Здесь для краткости записи выражение типа {эк-земпляр(х)}, определяющее множество экземпляровкласса х, заменено просто именем класса х. Кроме то-го, не указаны имена отображений. Выбор краткого,но емкого имени сложного отображения - большаяпроблема. Обычно ограничиваются именем связи,именами классов, участвующих в этой связи, и роля-ми, которые играют эти классы (очень часто они сов-падают с именами классов).Многие нерешенные проблемы моделированияданных связаны с недооценкой возможностей анализасложных отображений. В таких случаях даже уважае-мые издания отделываются фразами типа «понятия,относящиеся к отображениям, связанным с бинарны-ми отношениями, могут быть распространены на n-арные отношения» [3]. При этом приводимые иногдапримеры анализа n-арных отношений говорят обошибочности такого анализа и дают неадекватные ре-зультаты [3. С. 173]. С этим же связано сведениесложных отображений к простым на ранних этапахпроцесса проектирования схемы БД, чем грешат мно-гие (если не все) методологии. Это приводит к невос-полнимой на последующих этапах потере семантиче-ской информации и неудовлетворительному качествупроекта схемы БД.Если в случае простого отображения семантикаэкземпляра отображения определяется только именемотображения, то в случае сложного отображения не-обходимо уточнять роли объектов-прообразов иобъектов-образов. В математике и программирова-нии в таких случаях вводят упорядочивание входныхи выходных параметров функций. Мы же будем при-менять следующую «неупорядочивающую» нотациюдля экземпляра сложного отображения:{1out : 1,..., out : } ({1in :1,..., in : })r y rm ym = ϕ r x rn xn ,где outri - роли объектов-образов, yi - объекты-обра-зы, inrj - роли объектов-прообразов, x j - объекты-прообразы.Например, для сложной связи - расписание заня-тий, имеем пару взаимообратных экземпляров слож-ных отображений: {Группа: 1411, Преподаватель:Бабанов, Предмет: Модели данных} = КТО-ЧТО({День: Понедельник, Время: 14.45, Аудитория: 051}) и{День: Понедельник, Время: 14.45, Аудитория: 051} == КОГДА-ГДЕ ({Группа: 1411, Преподаватель: Баба-нов, Предмет: Модели данных}).В случае единичного прообраза и/или образа роль,как и ранее, будем опускать. Например, наряду с про-стым отображением «дочь» можно рассматриватьсложное отображение «папина-мамина дочь»: Маша == папина-мамина дочь ({отец: Миша, мать: Саша}) инаоборот: {отец: Миша, мать: Саша} = родители(Маша).Таким образом, каждый вид отображения опреде-ляется совокупностями ролей объектов-прообразов иобъектов-образов, а также своими экземплярами; длякаждой роли прообразов задается область определе-ния роли, а для каждой роли образов - область зна-чений роли. Соответственно каждый экземпляр ото-бражения помимо своего класса определяет по одно-му объекту для каждой роли прообразов и образов.Обобщение определений теории строится по сле-дующему принципу. Если раньше объекты-прообразыи объекты-образы были простыми объектами с единст-венной ролью, семантика которой однозначно опреде-лялась смыслом отображения, то теперь совокупность{1in : 1,..., in : }r x rn xn будем рассматривать как одинсложный объект-прообраз, а {1out : 1,..., out : }r y rm ym -как один сложный объект-образ. В таком случаеимеем как бы простое отображение сложных объек-тов. Введение понятий сложных объектов-прообразови объектов-образов позволяет распространить вве-денные определения на случай сложных отображенийбез особых их изменений.Количество различных отображений, определяе-мых связью степени n, равно 1 ... n1Cn+ +Cn− . Естест-венно использовать для представления экземпляровэтих отображений кортежи и отношения степени n.Семантически значимым кортежем степени n (СЗ-n-кортежем) называется форма {r1 :x1,...,rn:xn} ( ri -роль объекта, xi - объект), представляющая экземп-ляр связи, а вместе с ним - 1 ... n1Cn+ +Cn− экземпляровсоответствующих отображений.Семантически значимым отношением степениn (СЗ-n-отношением), определенным на множествахD1,...,Dn , называется совокупность{{r1 :x1,...,rn:xn}},xiDi,каждый элемент которой является СЗ-n-кортежем, ивсе они представляют экземпляры одной и той жесвязи (имеют одинаковую семантику). Понятно, чтоСЗ-n-отношение определяет экземпляры всех1 ... n1Cn+ +Cn− отображений между множествамиD1,...,Dn , порожденных одной связью степени n.Из всех 1 ... n1Cn+ +Cn− отображений, определяемыходной связью степени n, особую роль играют 2n ото-бражений с простыми объектами-прообразами и объ-ектами-образами:{1out : 1,..., ou1t : 1} (1in :1)r y rn− yn− = ϕr x и1out:1 ({1in:1,...,in1: 1})r y= r x rn− xn− .Отображения первого вида назовем отображения > -ми, определяемыми ролью (в данном случае - 1rin ), аотображения второго вида назовем отображениями,определяющими роль (в данном случае - 1rout ).Теперь пора окончательно определиться с симво-лической и графической нотациями определения ото-бражений. Они основаны на том факте, что отноше-ние степени n определяет все отображения, ассоции-руемые с одной связью степени n, и что отображения,определяющие роль и определяемые ролью, имеютособое значение. В таком случае эти отображения, иххарактеристики, а также области определения и зна-чения ролей задаются выражением{r1(ГМКЧr1,РМКЧr1,МКЧ r1 −1 1 11 1 1 , , ): 1, r r r −ГМКЧ − РМКЧ − МКЧ − D. . .( , , rn ГМКЧrn РМКЧ rn МКЧ rn −1, 1, 1 ): }n n n r r r n −ГМКЧ − РМКЧ − МКЧ − D ,где ri - роли объектов в связи степени n; Di - классыобъектов, являющиеся одновременно областями оп-ределения и значения соответствующих ролей;, , ГМКЧri РМКЧri МКЧ ri - количественные характе-ристики отображения, определяющего роль ri;1, 1, 1ri ri ri ГМКЧ − РМКЧ − МКЧ − - количественные харак-теристики отображения, определяемого ролью ri.Используемая символика отображений не случай-на. Для каждой роли ri отображение, определяющееэту роль, и отображение, определяемое этой ролью,взаимно обратны.Например, отображения, определяемые тернарнойсвязью между матерью, отцом и ребенком, задаются всимволической нотации так: {мать (1,1,1 - 0,1, ):Человек, отец (1,1,1 - 0,1, ): Человек, ребенок(0,1, - 1,1,1): Человек}.Более удобна и наглядна графическая нотация. Вней, к и ранее, классы представляют собой верши-ны графа, а связи степени n - ребра с n концами.Вершины помечаются именами классов, узел ребра, вкотором соединяются все его концы, может быть по-мечен именем связи, а каждый конец ребра - именемроли. Если семантика связи и отображений очевидна,два последних вида пометок можно не использовать.Количественные характеристики отображения, опре-деляющего роль, помечают соответствующий конецребра ближе к вершине, а количественные характери-стики отображения, определяемого ролью, помечаютсоответствующий конец ребра ближе к узлу.Информация о совокупностях классов (ролей), ко-торые неизбыточно определяют функциональностьотображений в конкретную роль, указывается в гра-фической нотации после характеристик этого отобра-жения в виде {D1,...,Dm} . Кстати, таких совокупно-стей может быть несколько.Пример для связи рождение ребенка матерью иотцом изображен на рис. 4.Человекмать ребенок отец1,1,1 0,1, 1,1,1{ребенок} {ребенок}0,1, 1,1,1 0,1, РождениеРис. 4. Графическое представление связи рождениеи ассоциированных с ней отображенийДля отображений со сложными объектами-обра-зами уместна еще одна операция - операция проек-ции. Рассмотрим тернарную связь, определенную намножествах X, Y, Z, и отображение ϕ: X-> YZ. Про-екция отображения ϕ на роль Y есть отображениеϕ[Y] : X -> Y, такое, что для каждого экземпляра ото-бражения ϕ[Y] Y:y = ϕ[Y](X:x) найдется экземпляротображения ϕ {Y:y, Z:z}= ϕ(X:x), такой, что у нихсовпадают объекты-прообразы и объекты-образы ро-ли Y, на которую осуществляется проецирование. Поопределению проекции отображения, общезначимойбудет следующая формула:xy y= ϕY x ↔ z < y,z>= ϕ(x))) .Здесь для упрощения записи мы опустили имена ро-лей, и сложный объект-образ представили упорядо-ченным кортежем . Например, проекцией ото-бражения Родители: Ребенок -> Мать Отец на рольМать будет отображение Мать: Ребенок -> Мать.В общем случае (связь степени m+n, и проецирова-ние осуществляется на k
Скачать электронную версию публикации
Загружен, раз: 307
Ключевые слова
Авторы
ФИО | Организация | Дополнительно | |
Бабанов Алексей Михайлович | Томский государственный университет | старший преподаватель кафедры теоретических основ информатики факультета информатики | babanov@csd.tsu.ru |
Ссылки
Энциклопедия кибернетики. В 2-х т. К.: Главная редакция Украинской Советской Энциклопедии, 1974.
Кофман А. Введение в теорию нечетких множеств. М.: Радио и связь, 1982.
Цикритзис Д., Лоховски Ф. Модели данных. М.: Финансы и статистика, 1985.
Кук Д., Бейз Г. Компьютерная математика. М.: Наука, 1990.
Дейт К.Дж. Введение в системы баз данных, 7-е изд. М.: Изд. дом «Вильямс», 2001.
