Научная статья на тему 'Алгоритм поиска ошибок и избыточности в структуре баз данных'

Алгоритм поиска ошибок и избыточности в структуре баз данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1494
168
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / ЗАВИСИМОСТИ СОЕДИНЕНИЯ / ФУНКЦИОНАЛЬНЫЕ ЗАВИСИМОСТИ / ТАБЛО / МЕТОД ПРОГОНКИ / DATABASE / JOIN-DEPENDENCES / FUNCTIONAL-DEPENDENCES / A TABLO / THE SWEEP METHOD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Баранчиков Алексей Иванович, Дрожжин Игорь Владимирович, Громов Алексей Юрьевич

Рассмотрена реализация поиска ошибок, связанных с неадекватным представлением схемой РБД (реляционной базы данных) предметной области, формально описанной с помощью аппарата семантических зависимостей (функциональных, многозначных и соединения) и избыточности в структуре баз данных с использованием табло. Целевой аудиторией разработанного алгоритма являются компании, работающие с базами данных, консалтинговые фирмы, обслуживающие базы данных, ВУЗы для изучения основ теории РБД. Ввиду отсутствия подобных программных средств на рынке, использующих алгоритмы проверки с помощью табло в качестве основного инструмента проверки структуры баз данных, алгоритм является принципиально новым.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Баранчиков Алексей Иванович, Дрожжин Игорь Владимирович, Громов Алексей Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE DATABASE REDUNDANCY AND ERRORS CHECKING ALGORITHM

The realization of checking the database logical structure correctness with a tablo. The algorithm’s target audience are the companies work with databases, consulting firms, serving databases, universities to learn the basics of relational database theory. In the absence of such software on the market that utilize testing by board as the main tool checks the database structure, the algorithm is essentially new.

Текст научной работы на тему «Алгоритм поиска ошибок и избыточности в структуре баз данных»

Баранова Елизавета Михайловна, канд. техн. наук, доц., [email protected], Россия, Тула, Тульский государственный университет,

Глаголев Владислав Максимович, студент, [email protected], Россия, Тула, Тульский государственный университет,

Щепакин Константин Михайлович, д-р техн. наук, проф., Россия, Тула, Тульский институт экономики и информатики

PROGRAMMING OF MICROCONTROLLER USING C LANGUAGE

E.M. Baranova, V.M. Glagolev, K.M. Schepakin

Here examined the process of developing software part to the specific computing device, based on the AVR ATmega8 microcontroller unit. Special attention is paid to peculiarity of programming for microcontrollers using C. The aim is to develop the control algorithm, that allows to receive, simply process and transfer analog and digital signals.

Key words: microcontroller unit, C programming, control algorithm, bitwise operations, logical operations, analog signal, digital signal.

Glagolev Vladislav Maximovich, student, glagol15@gmail. com, Russia, Tula, Tula State University,

Baranova Elizaveta Mihailovna, candidate of technical science, docent, [email protected], Russia, Tula, Tula State University,

Schepakin Konstantin Michailovich, doctor of technical science, professor, Russia, Tula Institute of Economics and Informatics

УДК 004.652.4

АЛГОРИТМ ПОИСКА ОШИБОК И ИЗБЫТОЧНОСТИ В СТРУКТУРЕ БАЗ ДАННЫХ

А.И. Баранчиков, И.В. Дрожжин, А.Ю. Громов

Рассмотрена реализация поиска ошибок, связанных с неадекватным представлением схемой РБД (реляционной базы данных) предметной области, формально описанной с помощью аппарата семантических зависимостей (функциональных, многозначных и соединения) и избыточности в структуре баз данных с использованием табло. Целевой аудиторией разработанного алгоритма являются компании, работающие с базами данных, консалтинговые фирмы, обслуживающие базы данных, ВУЗы для изучения основ теории РБД. Ввиду отсутствия подобных программных средств на рынке, использующих алгоритмы проверки с помощью табло в качестве основного инструмента проверки структуры баз данных, алгоритм является принципиально новым.

Ключевые слова: база данных, зависимости соединения, функциональные зависимости, табло, метод прогонки.

В современных реляционных системах управления базами данных (СУБД) необходимостью становится проверка баз данных на правильность

логического построения. Это требование исходит из постоянно увеличивающегося объема хранимой информации и сложности семантических зависимостей между данными. Если база данных имеет некорректную структуру, то происходит снижение скорости обработки запросов, увеличение объема занимаемой памяти, нарушение правильного функционирования, появление избыточности, потеря понятности и определенности [1-3].

В настоящее время существует несколько вариантов отслеживания правильности построения баз данных [4-6]:

- обеспечение правильности структуры БД средствами СУБД;

- анализ структуры БД с использованием CASE-средств;

- анализ структуры базы данных на основе метода декомпозиции;

- анализ структуры базы данных на основе метода синтеза;

- проверка базы данных с помощью метода репрезентативных выборок.

Целью разработки алгоритма является проверка логической структуры базы данных. Проверка направлена на обнаружение ошибок при проектировании схем РБД.

Практика проектирования РБД методом декомпозиции отношений показала ряд его недостатков, связанных с потерей данных при соединениях и с потерей функциональных зависимостей. Однако метод декомпозиции достаточно прост для понимания, нагляден, легко реализуется в инструментальных CASE-средствах проектирования и в настоящее время является наиболее часто применяемым при проектировании баз данных. Существенным недостатком этого метода является сложность и громоздкость при выполнении алгоритма, особенно в базах данных со сложной структурой. Решить эту проблему можно путем разработки алгоритма на основе метода декомпозиции, позволяющего абстрагироваться от содержимого базы данных.

Табло (табличный метод представления //-отображений, то есть отображений «проекция-соединение» [1]) дает возможность хранить всю информацию в наглядном и удобном для обработки виде.

Общий алгоритм коррекции баз данных на основе метода декомпозиции с использованием табло представлен на рис. 1.

Рис. 1. Укрупненный алгоритм коррекции структуры базы данных

Алгоритм состоит из трех основных этапов:

1. Декомпозиция базы данных с использованием табло для выявления потерь [7]. Укрупненный алгоритм представлен на рис. 2.

( Начало

1 і г 1 Г

Построение исходного табло и множества ограничений Процедура декомпозиции (метод прогонки CHASE) Анализ финального табло

1

(Конец

Рис. 2. Укрупненный алгоритм декомпозиции базы данных

Суть алгоритма сводится к построению табло Т и множества ограничений С (набор правил или зависимостей) для заданной базы данных. Далее по методу прогонки (приведен ниже) производится декомпозиция до получения финального табло, анализ которого дает возможность получить информацию о корректности структуры базы данных.

2. Анализ и поиск ошибок - основной этап коррекции, на котором определяются основные недостатки и ошибки в структуре базы данных.

3. Синтез корректной базы данных на основе набора правил, полученного на втором этапе.

Опишем алгоритм анализа и поиска ошибок подробнее.

Входными данными для данного алгоритма является вид финального табло, полученного на первом этапе алгоритма коррекции. Выходные данные - набор правил для синтеза корректной базы данных на третьем этапе алгоритма коррекции.

Суть алгоритма заключается в следующем: производится проверка финального табло на наличие выделенной строки (строка, состоящая только из выделенных элементов). Если в процессе декомпозиции такая строка получена, то исходная база данных построена корректно, однако набор правил может содержать избыточность (если выделенная строка получена до момента наложения всех ограничений из множества С). В этом случае выполняется процедура анализа множества ограничений и поиска оптимального неизбыточного набора. Она осуществляется путем многократного выполнения процедуры прогонки для каждого варианта последовательностей множества ограничений С. Самая короткая цепочка ограничений является оптимальным набором правил.

В случае если финальное табло содержит невыделенные элементы, выполняется опциональная процедура автоматизированной проверки набора правил. Если оператор не признает набор правил условно корректным, он может вручную или с помощью процедуры дополнения правил до получения выделенной строки получить необходимый набор ограничений. Однако после ручной корректировки необходимо заново запустить процесс декомпозиции исходной базы данных на новом наборе ограничений. Процедура автоматической коррекции набора правил также основана на методе прогонки и на основе финального табло генерирует ограничения до получения строки выделенных элементов.

Данный алгоритм представлен на рис. 3.

Рис. 3. Алгоритм анализа и поиска ошибок в структуре базы данных

38

Основой данного алгоритма, как и алгоритма декомпозиции, является метод прогонки [7].

Он представляет собой вычислительный метод, с помощью которого для заданного табло T и множества зависимостей C строится новое табло T *, такое, что T ° T *, и T * как отношение принадлежит SAT(C) -подмножеству множества схем базы данных, удовлетворяющему C [3]. С помощью прогонки табло проверяется на эквивалентность по C.

В терминах эквивалентности табло для успешной проверки выводимости зависимостей соединения необходимо выполнение условия Tr ° cTi , где Tj - табло, состоящее из одной строки выделенных переменных. Буква с говорит о наличии множества всевозможных ограничений, применимых к табло. Эквивалентность T ° CT2 справедлива тогда и только тогда, когда chase c(T\) ° chase CT2), т.е. когда финальное табло T\ по алгоритму прогонки chase эквивалентно финальному табло T2.

Значит, достаточно выполнения условия chase c(Tr ) ° chase c(Tj).

Но так как chase c(Tj) °Tj, то chase c(Tr ) =Tj .

Следовательно, необходимым и достаточным условием проверки является наличие строки выделенных элементов в chase c(Tr) [7].

Алгоритм прогонки представлен на рис. 4.

Табло представляет собой множество строк, и ни одно из ^(функциональных)- или /(соединения)- правил не вводит новых переменных, существует лишь конечное число табло, которые могут появиться в порождающей последовательности Т относительно С. Поэтому алгоритм всегда сходится.

В общем случае процедура прогонки имеет экспоненциальную временную сложность. Если табло Т имеет k столбцов и m строк, chase c(T)

может иметь mk строк. Если использовать процедуру прогонки для проверки отсутствия потерь информации при соединении, то не всегда нужна полная процедура. Как только получена строка из одних выделенных переменных, нет необходимости продолжать проверку. Если эта строка входит в какое-нибудь табло порождающей последовательности, оно появится в окончательном табло. Однако проблема определения принадлежности строки выделенных элементов к chase c(T), вероятно, не имеет полиномиального по времени решения, потому что известно, что проблема проверки С |= * [S] является NP--трудной.

Для построения корректной схемы РБД могут быть использованы как классический алгоритм синтеза [3], так и алгоритм SynthesisFR, учитывающий специфические ограничения предметных областей [8]. В случае наличия в предметной области ограничений не связанных с целостностью данных целесообразней будет использовать второй алгоритм.

Входными данными алгоритма SynthesisFR являются: множество F-зависимостей F; множество ранжируемых атрибутов A = {Л[, A2,..., Ag};

множество признаков ранжируемости Y = {7^2,..., Yn} и соответствующие множества атрибутов каждого признака. Признаки должны быть сформулированы таким образом, чтобы множества атрибутов различных признаков не пересекались i Ф _/, I = 1,п, ] = 1,п .

Выходными данными алгоритма является схема баз данных R = {Rl,R2,...,Rp}, удовлетворяющая 3НФ и ограничениям предметной

области не связанным с целостностью данных.

Алгоритм SynthesisFR, как и классический алгоритм синтеза, заключается в поиске неизбыточного покрытия для входного множества функциональных F-зависимостей F, а так же редуцирования полученного покрытия как слева, так и справа [3]. Затем на основе найденных классов эквивалентности происходит построение минимального редуцированного кольцевого покрытия для входного множества F-зависимостей F [3]. Последний этап алгоритма включает обработку полученной схемы баз данных для учета ограничений не связанных с целостностью данных.

С

і

Выбор

правила

I

Формирование критерия применяемости

Модификация

табло

Ї

Установка флага отсутствия изменения

Установка флага модификации

Выбор

правила

\

У

ДА

Конец

)

Рис. 4. Алгоритм прогонки с использованием табло

Разработан алгоритм, который является частью алгоритма коррекции структуры базы данных и дает возможность проводить анализ на правильность логической структуры РБД как создающихся «с нуля», так и уже существующих. Алгоритм корректен, поскольку он базируется на математическом аппарате реляционной алгебры. В работе доказана его сходимость. Временная оценка алгоритма показала, что он реализуется за приемлемое для задач подобного класса время.

Список литературы

1. К. Дж. Дейт, Х. Дарвен Основы будущих систем баз данных. Третий манифест: Пер. с англ.: М.: Янус-К, 2004. 656 с.

2. Д. Крёнке Теория и практика построения баз данных. СПб.: Питер, 2003. 800 с.

3. Д. Мейер Теория реляционных баз данных: пер. с англ.: М.: Мир, 1987. 608 с.

4. Rolland F.D. The Essence of Databases. М.: Вильямс, 2002. 256 с.

5. Диго С.М. Базы данных: проектирование и использование: учебное пособие для вузов. М.: Финансы и статистика, 2005. 592 с.

6. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год: пер. с англ. М.: Финансы и статистика, 1999. 479 с.

7. Баранчиков А.И., Дрожжин И.В. Проверка структуры базы данных на правильность логического построения с использованием табло // ИСиТ: науч.-техн. журн. №3(71). Орел, 2012. С. 9-14.

8. Баранчиков А.И., Громов А.Ю. Построение схем реляционных баз данных с n-ранжируемыми атрибутами // Системы управления и информационные технологии: науч.-техн. журн. N2.1(48). Москва-

Воронеж: СУИТ, 2012. С. 114-117.

Баранчиков Алексей Иванович, канд. техн. наук, доц., [email protected], Россия, Рязань, Рязанский Государственный Радиотехнический Университет,

Дрожжин Игорь Владимирович, аспирант, [email protected], Россия, Рязань, Рязанский Государственный Радиотехнический Университет,

Громов Алексей Юрьевич, ассистент, [email protected], Россия, Рязань, Рязанский Государственный Радиотехнический Университет

THE DA TABASE REDUNDANCY AND ERRORS CHECKING ALGORITHM A.I. Baranchikov, I.V. Drozhzhin, A.Y. Gromov

The realization of checking the database logical structure correctness with a tablo. The algorithm’s target audience are the companies work with databases, consulting firms, serving databases, universities to learn the basics of relational database theory. In the absence of such software on the market that utilize testing by board as the main tool checks the database structure, the algorithm is essentially new.

Key words: database, join-dependences, functional-dependences, a tablo, the sweep

method.

Baranchikov Alexey Ivanovich, candidate of technical science, docent, [email protected], Russia, Ryazan, Ryazan State Radio-Engineering University,

Drozhzhin Igor Vladimirovich, postgraduate, [email protected], Russia, Ryazan, Ryazan State Radio-Engineering University,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Gromov Aleksey Yurievich, assistant, [email protected], Russia, Ryazan, Ryazan State Radio-Engineering University

УДК 004.021

МЕТОДИКА КЛАСТЕРИЗАЦИИ ТЕКСТОВЫХ ДОКУМЕНТОВ НА ОСНОВЕ ИХ СОКРАЩЕННОГО ПРЕДСТАВЛЕНИЯ

В. А. Власов, Ф.А. Данилкин

Рассмотрена методика кластеризации текстовых документов, обладающая повышенным быстродействием по сравнению существующими методиками, за счет использования их сокращенного представления. Основным назначением методики является нахождение кластеров, содержащих различные редакции одного документа, содержащие исправления и дополнения к тексту

Ключевые слова: кластеризация текстовых документов, редакция документа

Введение

На практике довольно часто встречается задача разбиения набора текстовых документов на семейство непересекающихся множеств, в каждом из которых элементы являются последовательными редакциями одного и того же документа, с учетом исправлений и добавлений, а также исключенных фрагментов текста.

Любые документы имеют некоторую физическую структуру, состоящую из набора информационных полей, в которых хранится закодированная определенным образом текстовая информация на естественном языке, сведения о визуальном представлении текста и прочая информация.

i Надоели баннеры? Вы всегда можете отключить рекламу.