Обработка иерархических структур в базах данных

Актуальные проблемы авиации и космонавтики. Информационные технологии

При проведении экспериментов было использовано 100 изображений размером 896*592 и больше, содержащие лица разного пола, возраста и национальности. В ходе исследования было выяснено, что наилучшим образом для локализации лиц подходит цветовые модели HSV и HLS. Наибольшее быстродействие достигается при использовании модели YCrCb.

Библиографические ссылки

1. Terrillion J.-C., Shirazi M. N., Fukamachi H., Akamatsu S. Comparative performance of different skin

chrominance models and chrominance spaces for the automatic detection of human faces in color images. In Proc. of the International Conference on Face and Gesture Recognition, 2000. P. 54-61.

2. Vezhnevets V., Sazonov V., Andreeva A. A survey on pixel-based skin color detection techniques. Proc. Graphicon-2003, September 2003. P. 85-92.

3. Гонсалес Р., Ту Дж. Принципы распознавания образов. М. : Мир, 1978.

© Носов А. В., Бузаев Д. В., Зотин А. Г., 2011

УДК 004.652.2

Т. В. Пермина Научный руководитель - О. Н. Моргунова Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

ОБРАБОТКА ИЕРАРХИЧЕСКИХ СТРУКТУР В БАЗАХ ДАННЫХ

Предлагаются хранимые процедуры для выполнения иерархических операций в базах данных реляционного типа. Хранимые процедуры реализованы с учетом метода хранения иерархий Adjacency List (список смежности).

Иерархические структуры базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Для обозначения родства, которое может распространяться на несколько уровней дерева, используются термины «предок» и «потомок». Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. В иерархической модели автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя [1].

Иерархическая операция - это операция, которая производится над иерархией. Над иерархией определены следующие операции изменения [1]: добавление элемента в дерево с заданным родителем; удаление заданного элемента; удаление поддерева; перемещение поддерева.

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

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

Использование хранимых процедур позволяет изолировать от пользователя структуру базы данных, что обеспечивает целостность и надежность базы данных. Снижается вероятность таких действий как «внедрение SQL-кода», поскольку хорошо написанные хранимые процедуры дополнительно проверяют входные параметры перед тем, как передать запрос СУБД [2].

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

Библиографические ссылки

1. Celko J. Trees and Hierarchies in SQL for Smar-ties. Morgan Kaufmann, 2004.

2. Уорсли Дж., Дрейк Дж. PostgresSQL. Для про-фессианалов : пер. с англ. СПб. : Питер, 2003.

© Пермина Т. В., Моргунова О. Н., 2011