УДК 004(06) Информационные технологии Е.Е. ТРИФОНОВА Московский инженерно-физический институт (государственный университет) ИСПОЛЬЗОВАНИЕ ЛОГИЧЕСКИХ МЕТОДОВ ДЛЯ УСТРАНЕНИЯ ПРОТИВОРЕЧИЙ В БАЗАХ ДАННЫХ Рассматривается проблема устранения противоречий в современных информационных системах. Вводятся формулы ограничений целостности. Предлагается логический подход к поддержанию целостности баз данных. Нарушение целостности в базах данных и в информационных системах – одна из актуальных проблем в области информационных технологий. При чём под целостностью системы подразумевается как физическая целостность, так и логическая. Поддержание логической целостности основывается на формулировании ограничений целостности для каждой конкретной предметной области. Особый интерес представляет поддержание логической целостности баз данных, поскольку они являются неотъемлемой частью практически любой информационной системы. Будем рассматривать три базовых класса ограничений целостности [1], которые представляют собой замкнутые формулы первого порядка, составленные из символов отношений – P, P1, …, Pm, кортежей переменных и констант – x1 ,, xm и конъюнкций атомарных формул, касающихся встроенных предикатов, обозначаемых через φ. 1. Отрицающие ограничения: x1 ,...xm P1 x1 ... Pm xm ( x1 ,...xm ) . 2. Функциональные зависимости (FDs): x1 x2 x3 x4 x5 P x1 , x2 , x4 P x1 , x3 , x5 x2 x3 , где xi - последовательности отдельных переменных. По сути, это некото- рое подмножество отрицающих ограничений. x1x3 Q x1 P x2 , x3 , x2 , содержащимся 3. Зависимости включения (INDs): где xi - последовательности отдельных переменных с в x1 и P, Q – отношения базы данных. ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11 1 УДК 004(06) Информационные технологии Каждую из этих формул мы можем интерпретировать не только как выражение, которое должно выполняться для всего множества кортежей базы данных, но и как совокупность последовательности действий, которая должна быть проделана для построения неподвижной точки [2]. В этом случае неподвижная точка для каждой из формул будет являться таким состоянием базы данных, в котором не нарушается данное ограничение. При использовании различных источников данных практически неизбежно накопление противоречий внутри базы данных. Эти противоречия можно устранять на этапе поступления данных в систему, но зачастую стоит задача устранить противоречия уже среди поступивших и хранящихся данных. Подобные преобразования производятся по прошествии какого-то времени или после проведения определённого числа обновлений. Конечной целью проводимых преобразований является построение восстановления базы данных, то есть удаление всех содержащихся противоречий. В терминах логического моделирования мы говорим о том, что путём преобразования начальных данных (противоречивой информации из базы данных) необходимо построить модель для совокупности формулограничений [3]. Так как каждое ограничений можно интерпретировать как инструкцию, то возможна автоматизация процесса устранения противоречий в базе данных. При этом основным критерием выбора кортежа для удаления является минимизация числа удалений в предположении, что система не может запрашивать дополнительную информацию, а вспомогательные критерии определяются спецификой предметной области и представляют собой не формализуемые в виде ограничений целостности свойства данных (приоритет отдельных таблиц и кортежей, приоритет наиболее востребованных данных и т.д.). Сформулированные принципы легли в основу разрабатываемого прототипа программного средства построения восстановлений баз данных. Список литературы 1. Chomicki Jan, Marcinkowski Jerzy. Minimal-Change Integrity Maintenance Using Tuple Deletions // Information and Computation. 2005. February. №197 (1-2). pp. 90-121. 2. Попов С.В. Логическое моделирование // Математические вопросы кибернетики. М.: ФИЗМАТЛИТ, 2001. С. 167-214. 3. Попов С.В., Трифонова Е.Е. Решение задач методами логического моделирования // Науч. сессия МИФИ-2006: Сб. науч. тр. В 16 т. М.: МИФИ, 2006. Т. 3. С.168-169. ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11 2