Научная статья на тему 'Матричная универсальная объектно-реляционная база данных'

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

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

Текст научной работы на тему «Матричная универсальная объектно-реляционная база данных»

5. Повышение энергоэффективности работы в условиях динамичности информационных процессов ИУС на множестве состояний функционирования способствует улучшению алгоритмов и программного обеспечения.

Литература

1. Аналитический центр. Глобальная технологическая революция. Национальный совета по разведке США. Проект 2020. [Электронный ресурс]. - Режим доступа свободный: http://www/nps.sarov,ru

2. Глазьев, С.Ю. Возможности и ограничения технико-экономического развития России в условиях структурных изменений в мировой экономике/С. Ю. Глазьев. [Электронный ресурс]. - Режим доступа свободный: http:// spkurdyumov.narod.ru/glaziev.htm.

3. T. Lewis "The Next 10,0002 Years: Part 2", - Computer, 5/96, pp. 78-86.

4. Барри Боэмом. Спиральная модель c контрольными точками проекта (перевод С. Орлик). [Электронный ресурс]. - Режим доступа свободный: http://www.it4business.ru/kb/88/

5. Яковлев, В.М. Принципы реализации распределённых систем реального времени. - Киев: Проблемы программирования, 2008. - № 2-3. [Электронный ресурс]. - Режим доступа свободный: http://eprints.isofts.kiev.ua/417/

6. Аджиев, В. Объектная ориентация: философия и футурология. Открытые системы.- М,№6, 1996. [Электронный ресурс].-Режим доступа свободный: http://www.osp.ru/os/1996/06/179026/

7. Кульба, В.В. Автоматизированные ИУС социально-экономических и организационных

структур/В.В. Кульба, С.А. Косяченко, В.Н. Лебедев. - М.: Издательство ИПУ РАН

«Проблемы управления», 2009.- 3.1.- С.73-87.

8. Миселимян, Т.Л. Математическое моделирование и программирование на ЭВМ экономических задач. "Современные проблемы науки и образования". - М., 2007. - №5. РАЕ. [Электронный ресурс]. - Режим доступа свободный: http://www.science-education.ru/download/2007 /05/2007 05 22.pdf

9. Амблер, Скотт. Быстрые методы для объектных баз данных (пер. С. Кузнецов). [Электронный ресурс]. - Режим доступа свободный: http://citforum.univ.kiev.ua/SE/proiect/ambler/

10. Чейз, Ричард. Производственный и операционный менеджмент (10-е издание) / Ричард Б. Чейз, Ф. Роберт Джейкобз, Николас Дж. Ак. - М.: Вильямс, 2007. - 1184 с.

11. E. Yourdon Java, the Web and Software Development, - Computer, 8/96, p. 25-30.

УДК 004.651.54/004.652

МАТРИЧНАЯ УНИВЕРСАЛЬНАЯ ОБЪЕКТНО-РЕЛЯЦИОННАЯ БАЗА ДАННЫХ

Микляев Иван Александрович, к. ф.-м. н., доцент, зав.кафедрой «Прикладная математика и программирование», Филиал СПбГМТУ «Севмашвтуз» в Северодвинске, Россия, Северодвинск,

Ivanmia1@rambler.ru

Введение

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

Не упуская достоинства реляционных и объектных БД, отметим их основные недостатки.

Для реляционных БД в [1, с.934] приводятся следующие недостатки:

• Неадекватное представление сущностей реального мира;

• Однородная структура данных;

• Ограниченный набор операций;

• Сложности при обработке рекурсивных запросов;

• Проблема рассогласования типов данных;

• Другие проблемы реляционных СУБД, связанные с параллельным выполнением, изменениями схемы и неразвитыми средствами доступа.

34

Для объектных же БД [1, с.993]:

• Отсутствие универсальной модели данных;

• Отсутствие стандартов;

• Сложность;

• Отсутствие поддержки представлений;

• Недостаточность средств обеспечения защиты.

Нужно отметить, что причина сложности объектных БД в первую очередь кроется в потере однородности структуры, что приводится как недостаток реляционных БД.

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

1. Логическая модель универсальной БД (УБД)

В первую очередь при формировании универсальной информационной модели необходимо сформировать универсальную логическую модель БД. Её организация приведена в [2, с. 97] рис.1.

Рис. 1. Логическая модель универсальной базы данных

Хорошо видно, что в основу структуры УБД закладывается сама теория баз данных, что и делает данную модель универсальной.

Очевидно, что в случае использования УБД происходит перераспределение функций между разработчиком системы управления УБД (СУУБД), разработчиком приложения и пользователем ИС [2, с. 94]. Разработчик СУУБД получает возможность взять на себя все проблемы, связанные с организацией унифицированного ввода, изменения и удаления информации справочников системы. Разработчик приложения лишь создаёт экранные формы для работы с исходящей информацией проекта по персональным требованиям заказчика, которые могут редактироваться и в унифицированной форме, и реализовывает функции системы. Пользователь получает возможность корректировать структуру информации и без участия разработчика приложения.

Главное преимущество системы - это возможность создавать работоспособное приложение с минимальным знанием предметной области, и реагировать на дальнейшее её изучение только корректируя содержимое УБД без изменения структуры.

2. Матричное представление УБД (МУБД)

При реализации УБД в матричном представлении в сущностях «Сущность» и «Экземпляр сущности» атрибутом является только первичный ключ. Все атрибуты выведены в сущность «Характеристика экземпляра сущности».

35

Сущность теории БД также является сущностью, она формируется по умолчанию при развёртывании УБД, экземплярами её являются сущности служебные разработчика СУУБД и сущности разработчика приложения.

Сущность «Параметр» есть экземпляр сущности «Сущность», а его возможные значения в сущности «Возможные значения параметра» размещаются в сущности «Характеристика экземпляра сущности».

Сущность «Принадлежность» реализуется в сущности «Характеристика экземпляра сущности» ссылкой на экземпляры сущности «Сущность» для формирования связей между сущностями.

Таким образом, получаем, что остаются только три сущности: Сущность; Экземпляр сущности; Характеристика экземпляра сущности.

Атрибуты сущности «Характеристика экземпляра сущности» следующие:

1. «Параметр» (ответ на второй вопрос);

2. «Значение» (ответ на третий вопрос).

Для придания максимальной эффективности при изменяющейся предметной области введены ещё два атрибута:

1. «Дата с» (время начала действия информации);

2. «Дата по» (время окончания действия информации).

Первый атрибут обязателен, остальные вводятся по необходимости.

Последний шаг формирования матричной структуры УБД связан со снятием ограничений ввода информации в поля атрибутов сущности «Характеристика экземпляра сущности». Для оптимального размещения информации в памяти и унификации физического размещения матричной УБД на носителях информации вводится шестое измерение в матрицу для каждого из атрибутов, и объявляем байтовый тип ячейки массива.

Седьмое измерение предназначено для реализации системы распределённых БД по системе «толстый клиент - толстый сервер», в которой каждый узел может существовать как отдельно, так и в общей сети информации. Матричное представление УБД позволяет варьировать состав баз данных в пользовательских приложениях, что неограниченно расширяет возможности разработчика СУУБД.

В итоге имеем массив УБД представленный на рис. 2.

ARRIIDB : {массив УДЕ} array of {БД} array of {Сущностъ} array of {Экземпляр сущности} array of {Информаци оррая единица} array of {Строка информацио иной единицы}

array[0..3 ] of {Атрибуты сущности " Характерно тика экземпляра сущности" } array of byte; {массив атрибута}

Рис. 2. Структура матричного представления УБД

3. Универсальный тип данных

Основополагающим шагом в создании СУУБД является разработка универсального типа данных. В БД типа XML таким типом является строчный, что легко читается и обрабатывается, но очень громоздкий. Для работы с большими объёмами данных необходим универсальный тип, не уступающий стандартным типам.

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

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

36

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

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

Этапы понижения системы счисления символов:

1. Сбор статистики используемых символов.

2. Формирование ключа.

При сохранении:

1. Заменяем каждый символ числом, соответствующим положению его в ключе.

2. Полученное значение в системе счисления кратностью - ключ+1, переводим в 256-ричную систему счисления.

3. Сохраняем полученные байты.

При загрузке информации:

1. Открываем ключ.

2. Переводим из 256-ричной системы в систему кратностью ключ+1.

3. По ключу восстанавливаем информацию.

4. Универсальное приложение для работы с УБД

Универсальное приложение для работы с УБД представляет собой всего две формы: форма администрирования УБД и рабочая форма доступа к данным рис. 3. Форма администрирования практически также выглядит и функционирует и от неё можно отказаться, предусмотрев функции администрирования в рабочей форме.

Главный управляющий элемент рабочей формы МУБД - это выпадающий список таблиц И доступных для просмотра пользователю. С помощью него можно легко передвигаться между ними.

Информация таблиц отображается в двух видах:

• табличное отображение [2],

37

• отображение информации экземпляра (строки) таблицы во вспомогательной таблице [3].

• Состав экземпляров (строк) таблиц, выводимый в таблице | 2 | управляется блоком фильтра [4].

На вкладках [5] расположен инструментарий:

• вкладка «Характеристики» - вспомогательная таблица, для отображения всех полей указанного экземпляра (строки) таблицы,

• вкладка «Подчинение» - содержит таблицы, которые имеют поля, ссылающиеся на текущую таблицу,

• вкладка «Дерево» - содержит древовидное отображение всей информации таблиц, на которые ссылается текущая, по всей иерархии таблиц. Вкладка «Дерево» предназначено для управления выводимой информацией в таблице [2] совместно с блоком фильтра [4],

• вкладка «Полный фильтр» - содержит инструментарий фильтрации информации в таблице | 2 | основанный на содержании таблицы и учитывающий всю иерархию таблиц, в подчинении которых находится текущая таблица.

5. Распределённый доступ к информации

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

Рассмотрим математическую модель определения "популярности" произвольной строки справочника базы данных. Пусть Vtab,row - количество обращений к строке ROW справочника TAB, tTAB,ROW - время необходимое для извлечения строки ROW справочника

TAB из дисковой памяти, Mtabrow - количество оперативной памяти необходимое для хранения строки ROW справочника TAB. Естественно, зарезервировать определённый объём оперативной памяти, в котором будут храниться популярные строки базы данных.

Обозначим его Mmax .

„ MTAB,ROW ^ MMAX Q

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

Тогда, используя ограничение Q , можно определить количество ^ строк

справочников, имеющих максимальные значения частоты обращений €tab,row и

M

помещающиеся в MAX.

Тогда время, сэкономленное на извлечение этих строк, можно определить равенством:

ТЭК = X! {yTAB,ROW ~ l) tTAB,ROW

S .

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

6. Физическое размещение информации

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

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

38

Загрузка хранилищ производится дифференцировано на основе статистики использования информации и параметрами размеров оперативной памяти выделенной для приложения.

Основной массив загружается также дифференцированно по степени важности информации и статистике использования.

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

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

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

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

Литература

1. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание.:Пер. с англ. / Т. Конноли, К. Бегг. М.: Издательский дом «Вильямс», 2003. С.1440

2. Микляев И.А., Ундозерова А.Н., Кудаева М.В., Универсальная логическая модель базы данных. Вестник Поморского Университета 1/2010. Сер. «Естественные науки» стр. 93-99.

УДК 004.432

ПОЛНОТА ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ

Добряк Павел Вадимович, к.т.н., доцент, Уральский государственный технический университет,

Россия, Екатеринбург, goodsoul@mail.ru

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

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

39

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