русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Инвертированные базы данных


Дата добавления: 2015-08-06; просмотров: 937; Нарушение авторских прав


 

Ознакомление с различными моделями данных показало, что поиск необходимой ин­формации требует значительных затрат времени даже для иерархических СУБД,


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

Инвертированный список представляет собой табли­цу, в левом столбце которой помещены значения данно­го признака, а в правом — указатели на соответствую­щие записи. Допустим, в примере базы данных, приве­денной в табл. 2.2... 2.4, в записях об узлах требуется выявить узлы, имеющие одинаковую разрядность. Тогда все записи об узлах могут быть скомпонованы плотно в памяти друг за другом и иметь порядковые номера, со­ответствующие их последовательности в таблице ОУЗ. Наряду с этим создается инвертированный список в та­ком виде:

 

Разрядность... ………… 8 10 16 32

Список указателей…… У7 У2, У4 У1, У6, У8 УЗ, У5

 

Обозначение YN представляет собой изображение указателя на N-ю запись. Таким образом, инвертирован­ный список как бы заранее хранит ответ на запрос «На­звать характеристики узлов, имеющих заданную разряд­ность». В примере разрядность выступает в качестве при­знака в запросе. Конечно, можно выделить и другие признаки, например в каком устройстве применяется узел, каков тип узла. Для каждого признака должен быть построен свой инвертированный список.

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

Для поиска необходимой записи должны быть выпол­нены следующие действия:



1) выделить в запросе признаки поиска;

2) определить вид логической функции между запра­шиваемыми признаками;

3) для каждого признака в нужном инвертированном списке найти множество указателей на записи;

4) в соответствии с видом логической функции произ­вести операции над множествами указателей.


Соответствие операций над множествами указателей виду логической функции должно быть принято из разде­лов по реляционной модели данных. Так, логической функции дизъюнкции ставится в соответствие операция объединения множеств, коньюнкции — операция пересе­чения множеств, отрицанию — операция дополнения и т. д. Для запроса «Какие узлы имеют разрядность 16 и используются в устройстве АКЮ?» в ходе поиска будут построены следующие результаты:

1) в запросе два признака: разрядность и объект при­менения;

2) вид логической функции в запросе — конъюнкция;

3) для признака «разрядность» в инвертированном списке значению 16 будет соответствовать множество указателей {У1, У6, У8}; признаку «применение» в соот­ветствующем инвертированном списке для значения АКЮ — множество указателей {У1, УЗ, У6};

4) над найденными двумя множествами указателей производится операция пересечения. В итоге получается искомый результат: {У1, У6}. По этим номерам в файле записей будут найдены записи об узлах Р1 и СМ5.

Если для всех записей, хранящихся в базе данных, созданы инвертированные списки для возможных вари­антов запросов, то такая база данных называется ин­вертированной. Инвертированные БД широко использу­ются в информационно-поисковых системах (ИПС), предназначенных в основном для хранения текстовых документов. Признаки, по которым отыскивается необ­ходимый документ в ИПС, называются дескрипторами. Для каждого дескриптора в ИПС строится инвертированный список, содержащий все возможные значения дес­криптора и соответствующие им множества указателей на документы. Запрос в ИПС имеет вид логического вы­сказывания относительно значений дескрипторов и их взаимосвязи. Так, если в качестве документов выступа­ют ГОСТы по проектированию, то дескрипторами могут быть такие понятия, как год издания, объект проектиро­вания, вид обеспечения, объем печатного материала и др. Запрос мог бы выглядеть, например, так: « Найти ГОСТы, изданные не позднее 1981 г., посвященные про­ектированию АСУ, для информационного и программно­го обеспечений ».

 

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

 


Проектная документация, как уже указывалось, слабоструктурирована. Однако любой проектный документ может быть охарактеризован некоторой совокупностью признаков. Так, техническое задание на проектирование, абонентской сети на базе персональных ЭВМ описывает­ся дескрипторами: техзадание, абонентская сеть, проект­ная документация, персональные ЭВМ. Для хранения те­кущих проектных документов необходимо заранее заго­товить совокупность дескрипторов, которые наряду с со­держанием отражали бы и поэтапность составления со­ответствующих документов. Например, могут быть ука­заны этапы, стадии, шаги процесса проектирования, а также номера вариантов.

 



<== предыдущая лекция | следующая лекция ==>
Иерархический и сетевой подходы | КРАТКИЕ ВЫВОДЫ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.047 сек.