УДК 681.3.016
С.С. ТАНЯНСКИЙ, канд. техн. наук,
В.В. ТУЛУПОВ, канд. техн. наук,
Д.А. РУДЕНКО, канд. техн. наук
МОДИФИКАЦИЯ ОГРАНИЧЕНИЙ НА ВЕДЕНИЕ ДАННЫХ ДЛЯ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ КРУПНОМАСШТАБНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
В статті досліджені методи підтримки цілісності в базах даних і визначені властивості деяких операцій реляційної алгебри при їхньому використанні в розподілених системах. Для розширення можливостей роботи з даними введені узагальнені операції, що дозволяють коректно виконувати запити при наявності невизначених значень у відношеннях бази даних. Для визначення необхідних умов забезпечення цілісності пропонується використовувати алгоритм Грехема, що перевіряє властивість повного з'єднання відношень. Якщо схема бази даних не задовольняє цим умовам, то розглядається варіант її модифікації без порушення схем відношень і зв'язків між ними.
In article the methods of support of integrity in databases are investigated and the properties of some operations of relational algebra are determined at their use in the allocated systems. For expansion of possibilities of work with the data the generalized operations are entered allowing it is correct to carry out searches at presence of indeterminate values concerning a database. For definitions of necessary conditions of provide integrity, it is offered to use algorithm Grahama, checking property complete joining of the relations. If the scheme of a database does not satisfy with it conditions, the variant of its updating without infringement of the schemes of the relations and Relationships between them is considered.
Постановка проблемы. Современные тенденции информационных систем (ИС) состоят в переходе от централизованных вычислительных систем к распределенным системам. Выделяется два вида систем обработки данных: системы распределенных баз данных (БД) и системы распределенной обработки данных. В системе распределенных БД данные распределены между несколькими (возможно территориально разобщенными) ЭВМ и обеспечены соответствующие возможности для управления этими разделенными частями. В системах распределенной обработки данных, которые имеют распределенные между взаимосвязанными ЭВМ вычислительные мощности и программное обеспечение, данные хранятся на централизованной БД. Системы распределенной обработки данных в дальнейшем будем называть крупномасштабными.
В статье основное внимание уделяется именно крупномасштабным системам. Использование крупномасштабных систем необходимо, с одной стороны, для обеспечения управляемого доступа к распределенным данным, с другой стороны, для независимого функционирования локальных БД при обеспечении согласованности данных во всей системе (глобально).
Существует два типа представлений логической структуры БД: глобальное представление и пользовательское (локальное) представление. При
этом с одним и тем же глобальным логическим представлением может быть связано несколько локальных представлений.
Один из способов построения системы управления крупномасштабной системой состоит в интеграции всех БД на основе глобальной схемы. В дальнейшем под глобальной схемой будем понимать схему, состоящую из имен всех атрибутов БД, которые соответствуют как синтаксической, так и семантической уникальности. Схему, отвечающую таким свойствам, будем называть универсальной схемой.
Предположим, что универсальной схемы не существует. На практике это трудно осуществимо, так как необходимо решить следующие задачи:
- определить адреса, где находятся запрашиваемые данные;
- сформулировать запрос, который будет выполняться в разных БД;
- передать результаты на один компьютер для их объединения;
- собрать и объединить результаты;
- выделить из объединенных результатов ответ на исходный запрос.
Эти задачи требуют больших затрат времени, подвержены ошибкам и поэтому являются объектами автоматизации в крупномасштабных системах.
Анализ литературы. Среди работ, посвященных моделированию данных, можно выделить монографии Д. Цикритзиса [1] и М.Ш. Цаленко [2], позволяющие определить основные требования к функционированию ИС и моделированию БД в частности.
Для детального изучения методов проектирования и обработки реляционных БД можно обратиться к работам Д. Мейера [3], Дж. Ульмана [4] и Н.Н. Буслика [5], в которых определены основные свойства операций над отношениями и рассмотрены ограничения на возможные состояния БД.
Несмотря на подробное описание методов обработки данных, в литературе мало внимания уделяется расширению моделей для включения в качестве допустимых значений неопределенностей.
Цель статьи. Свойства БД, основанные на реляционной модели, соответствуют первоначальным предложениям Кодда. Из [6] следует, что наиболее очевидным "узким местом" предложенной реляционной модели данных является неразвитость средств выражения ограничений целостности, которые в общем случае требуется определить для отношений, связи между которыми нарушены (иными словами, речь идет о недостаточности средств выражения "семантики").
В связи с этим целью статьи является расширение возможностей реляционной алгебры за счет введения в множество возможных значений значения "неопределенно" и соответствующей модификации некоторых операций.
Обобщение реляционных операторов. Операции, предложенные в [3], при использовании неопределенностей не отражают необходимую информацию. Рассмотрим обобщенные операции реляционной алгебры на
отношениях с неопределенными значениями. Здесь КеЙ и Ке1 обозначают множества всех частичных (допускаются неопределенности) и полных (не содержащих неопределенные значения) отношений соответственно, чьи схемы входят в некоторый фиксированный универсум атрибутов и.
Лякруа и Пирот в [3] предложили обобщенную операцию естественного соединения, обозначаемую ><+, при которой каждая строка отношений-операндов попадает в соединение. Строки, которые не соединяются с другими строками, дополняются неопределенными значениями и присоединяются к результату. Если применять операцию ><+ для более чем двух отношений, то закон ассоциативности не выполняется, то есть (г><+В)><+р Ф г><+(в><+р), и следовательно, операция неоднозначна при любых соединениях отношений.
Заниоло в [3] предложил обобщение операции соединения, в обозначении ><2, при которой строки соединяются, если на всяком общем атрибуте они согласованы, либо в точности одна из них не определена. Если строка не определена на некотором атрибуте, соединенная строка берет значение из другой строки. Если некоторая строка, не соединяется ни с какой другой строкой, то она дополняется неопределенными значениями и добавляется к результату. Однако, операция ><2 также не ассоциативна, то есть (г><2 s)><Z р Ф г><2 (5><2 р) и однозначно не выполняется для отношений, при многократных соединениях.
Введем операцию соединения, в обозначении ><и, при котором каждая строка попадает в соединение. Отличие ><и от рассмотренных операций состоит в следующем: во-первых, отношения, участвующие в соединении, должны принадлежать множеству из Ке1; во-вторых, строки соединяются только тогда, когда они полностью соединимы, несоединимые строки дополняются неопределенными значениями и присоединяются к результату.
Рассмотрим операцию ><и для нескольких отношений. Пусть даны отношения г(А, В), в(В, С), р(С, В) представленные на рис. 1. Результат операции г><и в><ир показан на рис. 2.
г
А В
а ь
а Ъ\
а\ ь
а2 ь
в
В с
ь с
Ь\ с
Ь\ С1
р
А с
а с
а С1
а1 с
а2 С2
Рис. 1. Пример трех не полностью соединимых отношений
А В с
а ь с
а ь с
а ь с1
а1 ь с
а2 ь 1
а2 с2
Рис. 2. Пример операции ><и при многократном соединении
Сформулируем утверждение ассоциативности операции ><и.
Утверждение: Пусть г(Я), 5^ и р(Р) - несогласованные отношения из Rel, тогда оператор ><и ассоциативен, то есть г><и(5><ир) = (г><и5)><ир.
Справедливость утверждения следует из определения полностью соединимых отношений, дополняя недостающие значения при соединении неопределенными значениями. Отношения S = {гг,..., гп} называются полностью соединимыми, если каждый кортеж в каждом отношении является элементом некоторого списка соединимых на S кортежах. Другими словами, отношения являются полностью соединимыми, если выполняется условие г, = л^^, где Ri - схема отношения г,, а л - операция проекции.
Например, воспользовавшись отношениями, представленными на рис. 1, , получим результат, соответствующий рис. 3.
применяя операцию ><и
Г><и(5><ир)
А В с
а ь с
а Ь1 с
а ь С1
а2 1 С2
а2 Ь2 1
(г><и5)><и р
А В с
а ь с
а ь с
а1 Ь1 с
а2 Ь2 1
а2 1 с2
Рис. 3. Пример ассоциативности операции ><и
Введем модифицированную операцию проекции для отношений с неопределенными значениями в обозначении лхи.
Пусть г - отношение из Ref[ со схемой R и Х с R, тогда лхи(г) есть отношение Г (Х), полученное вычеркиванием столбцов, соответствующих R-Х, где R, X с и и X с R, а также исключением из оставшихся повторяющихся строк и строк с неопределенными значениями.
Проекции отношения г' (см. рис. 2) на схемы гг'(А, В), Г2'(В, С), гз'(АС) с помощью обобщенного оператора имеют вид, соответствующий рис. 1.
Рассмотренная модификация операций проекции и соединения позволяет поддерживать некоторый вид ограничений, в частности функциональные зависимости (ФЗ) между атрибутами, путем соединения не полностью соединимых отношений, получив при этом отношение, подобное универсальному представлению и, но с неопределенными значениями в несоединимых кортежах. Если правая часть ФЗ однозначно определяет левую или является неопределенным значением, то неопределенность в правой части зависимости недопустима. Для анализа возможных вариантов использования модифицированных операций необходимо рассмотреть "поведение" ФЗ на отношениях с неопределенными значениями.
Слабоуниверсальное отношение и функциональные зависимости.
При рассмотрении интегрированной БД потребуем, чтобы атрибут имел одинаковый смысл всюду, где он появляется, то есть, чтобы он играл
определенную роль некоторого класса сущностей. Такое ограничение будем называть предположением об универсальной реляционной схеме (ПУРС). Следствием ПУРС является то, что строки с данным множеством атрибутов имеют одинаковый смысл, следовательно, БД, удовлетворяющая ПУРС, не может содержать двух отношений с одной и той же схемой. Множество атрибутов определяет единственную семантическую связь между ними.
Рассматривая БД как семантическое целое, будем допускать отношения со схемами, являющимися подсхемами других отношений. В таких случаях для того, чтобы БД удовлетворяла ПУРС, определим ограничения на такие отношения. Пусть г(Я) и 5^ - отношения БД, причем R с & По ПУРС множество атрибутов должно однозначно определять семантическую связь между ними. Поскольку R с S, то, какова бы ни была связь между его атрибутами, она должна быть частью связи между атрибутами & То есть, если / - строка в S, то /(Я) должна быть строкой в г. Другими словами, в г должна входить лЯ(5). Это ограничение будем называть условием вхождения схем.
Рассмотрим условие вхождения при обновлении БД. При выполнении условия вхождения может показаться, что разрешение на обновление 5 влечет за собой разрешение на обновление г. С другой стороны, обновление г накладывает ограничение на обновление 5, поскольку строка / не может быть добавлена к 5, если /(Я) г г. Введенное ограничение на ПУРС необходимо для поддержки ограничений на зависимости существования [7], так как эти ограничения накладываются на тип связи. Условие вхождения схем используется также при поддержке ФЗ. При проектировании БД по средствам нормализации, поддержка зависимостей в каждом локальном отношении гарантирует выполнение этих зависимостей и в и, то есть глобальное выполнение ФЗ. Для поддержки ФЗ при интеграции некоторого множества локальных БД, не всегда возможно получить и из-за несогласованности локальных БД. На основе введенных ранее модифицированных операций определим понятие слабоуниверсального отношения для несогласованных БД.
Пусть ё - БД со схемой Я = {Яъ ..., Я„}, причем и = Я^Я^и ... и Я„. Отношение 5 со схемой и будем называть слабоуниверсальным отношением для ё, если лЯ,(5) з г(Я,) для каждой схемы Я, е Я.
Слабоуниверсальное отношение является результатом применения модифицированной операции естественного соединения ><и. Такие отношения необходимы для поддержки глобального выполнения зависимостей в БД.
Пусть дана база ё(Я) и множество атрибутов и, а также множество ФЗ над и. База ё глобально удовлетворяет множеству ФЗ, если для него существует слабоуниверсальное отношение 5(и), и проекции лЯ,(5) удовлетворяют данному множеству ФЗ. Здесь под операцией проекции понимается модифицированная операция проекции.
Для базы ё и множества ФЗ над и отношение s(U) будем называть Г-слабоуниверсальным отношением (в обозначении Г-и) для ё, если 5 есть слабоуниверсальное отношение для ё, удовлетворяющее множеству ФЗ.
Утверждение: База ё имеет Г-и если ё глобально удовлетворяет множеству ФЗ.
Справедливость утверждения следует из определения Г-слабоуниверсального отношения.
В случае, когда атрибуты одной схемы являются подмножеством атрибутов другой схемы, условие вхождения значительно сократит временные затраты на поддержку глобального выполнения ФЗ.
Если множество атрибутов Х - ключ отношения Я, соответствует некоторому множеству атрибутов отношения Яі, то в любой момент времени каждое значение Х, существующее в Я/, должно также существовать в Яі. Такое ограничение будем называть ограничением на чужой ключ. Трудность поддержки такого ограничения заключается в поиске отношений, которые содержат атрибуты из множества Х.
Введем дополнительное требование для ограничения на чужой ключ. Пусть ё(Я) - БД со схемой Я и К - ключ в Я. Пусть Г - множество ФЗ, которые полностью определяются ключами из Я. БД ё удовлетворяет модифицированному ограничению на чужой ключ (МОЧК) относительно Г, если для каждого Яі є Я и ґ є г(Я,) найдется такая строка ґ' в Я+, что VЯ/ с Я,+ Зґ'(Я) є г(ЯД и, в частности, ґ(Я,) = ґ. Если в каждом отношении БД поддерживаются свои ключи и удовлетворяется ограничение на МОЧК относительно полностью определяемого этими ключами множества ФЗ, то БД глобально удовлетворяет ФЗ. Этот факт подтверждает следующее утверждение, доказательство которого можно найти в [3].
Утверждение: Пусть даны БД ё и множество ФЗ Г, полностью определяемое ключами из ё. Если ё удовлетворяет МОЧК относительно Г и каждое отношение удовлетворяет своим ключам, то ё глобально удовлетворяет Г.
Соблюдение ограничения МОЧК все же не исключает просмотра нескольких отношений при обновлении одного отношения, так как замыкание атрибутов одного отношения может включать почти все отношения БД. Таким образом, процесс поддержки ФЗ сводится к рассмотрению слабоуниверсального отношения.
Синтаксические условия на схему слабоуниверсального отношения.
Для слабоуниверсальных отношений рассмотрим один класс схем, а именно -класс ациклических схем, обладающих рядом свойств, необходимых для обеспечения глобальной целостности. Важным свойством при проверке целостности данных для этих схем является возможность обойтись без и. Определим эти свойства. Пусть Я = (Яі, Я2, Яр} - схема БД и
ё = (гі ,Г2, ..., Гр} - экземпляр БД. Говорят, что ё согласована в целом (СЦ),
если r1 ,r2, ..., rp обладают свойством полноты соединения. Базу d будем называть попарно-согласованной (ПС), если свойством полноты соединения обладает произвольная пара отношений r, и rj. Сложность проверки свойства ПС полиномиально зависит от количества отношений в БД. При этом СЦ с необходимостью влечет за собой ПС, но ПС не всегда достаточно для СЦ [З].
ПС влечет СЦ (ПС^-СЦ) для БД со схемой R' = {r1 (ABC), r2'(BCD), r3'(CDF)}. Покажем, что каждый кортеж из r2 входит в r1 >< r2 >< r3. Пусть t2 -кортеж из r2. Поскольку r1 и r2 обладают свойством полноты соединения, то r1 содержит кортеж t1, соединимый с t2. Аналогично, r3 содержит кортеж t3, также соединимый с t2. Эти три кортежа соединимы, поскольку t1(C) = t2(C) = t3(C) и C - атрибут, общий для t1 и t3. С другой стороны, для БД над схемой R" = {ri'(ABC), r2'(BCD), гз"(ЄЕ), r4'(DE)} свойство ПС не достаточно для СЦ.
Видно, что свойство ПС^СЦ зависит от того, каким образом атрибуты отношений пересекаются между собой. Используя синтаксис схемы, используем алгоритм, проверяющий, выполняется ли свойство ПС^СЦ. Алгоритм редукции Грэхема [З] состоит в последовательном выполнении шагов, на каждом из которых к схеме БД применяется одно из двух правил редукции - до тех пор, пока не окажется, что ни одно из них применить больше нельзя. Правила редукции состоят в следующем:
- (УС) удаление схемы отношения; если схема отношения собственным образом содержится в некоторой другой схеме отношения;
- (УА) удаление атрибута; атрибут принадлежит не более чем одной схеме отношения.
Говорят, что алгоритм Грэхема завершился успешно, если в результате его применения к атрибутам схем БД получается пустое множество. В противном случае формируется набор атрибутов, образующих связный блок, то есть когда каждый атрибут принадлежит более чем одной схеме, и ни одна схема не входит собственным образом в другую. В дальнейшем такие схемы будем называть циклическими, а схемы, для которых алгоритм Грэхема завершается успешно - ациклическими. Таким образом, для ациклических схем ПС влечет СЦ, а для циклических схем это свойство не выполняется. Для успешного завершения алгоритма Грэхема необходимо, чтобы схема была ациклическая, в противном случае ее необходимо привести к ациклическому виду.
Пусть d = {ri, ..., rp} - БД со схемой R = {R1, ..., Rp}, и пусть d’ = {r,, ..., rj}
- связной блок со схемой R' = {R,, ..., Rj}, тогда отношение b = r, >< ... >< rj со схемой B = R,... Rj, в обозначении b(B), будем называть сильно-связным блоком для d(R). Замена в циклической схеме связных блоков на сильно-связные приведет ее к ациклическому виду. Это следует из того, что все схемы связного блока будут собственным образом входить в схему сильно-связного блока, и, таким образом, алгоритм Грэхема завершится успешно. Ациклические схемы с сильно связным блоком будем называть блочно -ациклическими.
Пусть база d имеет схему R = {AB, BCD, CDE, DEK, EKM, KMN}. В результате применения алгоритма Грэхема остается связный блок со схемой R' = {BCD, CDE, DEK}. Естественное соединение отношений со схемой R' порождает сильно-связный блок B = {BCDEK}. Таким образом, преобразованная исходная схема будет иметь вид Rb = {AB, BCDEK, EKM, KMN} и является ациклической.
Итогом полученных результатов является следующее утверждение.
Утверждение: Для того чтобы циклическая схема удовлетворяла свойству ПС^СЦ, необходимо и достаточно заменить все связные блоки сильно-связными. Справедливость утверждения следует из редуктивного алгоритма Грэхема и определения сильно-связного блока.
Выводы. Проанализировав операционную спецификацию реляционной модели данных можно отметить, что при использовании неопределенности в качестве допустимого значения реляционного отношения не позволяет поддерживать целостность традиционными методами. Таким образом,
научной новизной статьи является модификация некоторых операций реляционной алгебры для их применения к отношениям БД с неопределенными значениями. С другой стороны, для повышения
эффективности поддержки целостности при интеграции данных в статье рассматривается модификация схемы БД, позволяющая использовать
попарное соединение для проверки согласованности в целом.
Практическая значимость полученных результатов состоит в возможности использовать несогласованные отношения локальных БД в интегрированной среде, обеспечивая однозначность представления данных. При этом приведение циклической схемы к блочно-ациклической значительно снижает время проверки целостности интегрированной информации.
Рассмотренные вопросы определяют дальнейшие направления
исследований в области поддержки данных в интегрированной среде обработки информации, направленные на разработку прикладных средств, расширяющих традиционные возможности СУБД и систем управления распределенными БД.
Список литературы: 1. Цикритзис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1985. - 344 с. 2. ЦаленкоМ.Ш. Семантические и математические модели баз данных. -М.: ВИНИТИ, 1985. - 208 с. 3. Мейер Д. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.
4. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. -М.: Издательский дом "Вильямс", 2003. - 1088 с. 5. БуслікМ.М. Моделі і структури даних: Навч. посібник - Харків: ХТУРЕ, 2000. - 136 с. б. CoddE. A relational model of data for large shared data banks // CACM 13. - 1970. - № .6. - P. 1958-1982. 7. БусликН.Н. Глобальные схемы реляционных баз данных: концепция и методы построения. Монография. - Харьков: ХНУРЭ, 2002. - 68 с.
5. Ульман Дж. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 334 с.
Поступила в редакцию 31.03.2006