РЕЛЯЦИОННАЯ БАЗА ДАННЫХ И СПОСОБ УПРАВЛЕНИЯ РЕЛЯЦИОННОЙ БАЗОЙ ДАННЫХ

1. Реляционная база данных, включающая метаданные, состоящие из атрибутов, соответствующих характеристикам объектов предметной области, доменов, объединяющих атрибуты одного типа, и отношений, определенных на доменах, данные, представленные кортежами атрибутов и входящие в состав отношений, дерево поиска, состоящее из точки входа, корня, узлов и листьев, и бинарные фрагменты, содержащие неструктурированную информацию, отличающаяся тем, что она выполнена в виде связной структуры данных, компонентами которой являются блок заголовка, расположенный в точке входа, блок отношений, расположенный в корне, блоки доменов, расположенные в узлах, блоки атрибутов, расположенные в листьях, кортежи, состоящие из иерархических мультимножеств атрибутов переменного состава, и бинарные фрагменты, содержащие идентификаторы, типы данных идентификаторов и коды базы данных, отношений, доменов и атрибутов.
2. Реляционная база данных по п.1, отличающая тем, что блок заголовка содержит:
начально-конечный дескриптор, включающий указатель на начало связной структуры данных и размер связной структуры данных;
корневой дескриптор, включающий указатель на начало блока отношений и размер блока отношений.
3. Реляционная база данных по п.2, отличающаяся тем, что блок отношений содержит дескрипторы, каждый из которых соответствует одному из отношений и включает указатель на начало блока доменов и размер блока доменов, при этом дескрипторы упорядочены по возрастанию кодов, значения которых равны порядковым номерам отношений в составе базы данных.
4. Реляционная база данных по п.3, отличающаяся тем, что блоки доменов содержат дескрипторы, каждый из которых соответствует одному из доменов и включает указатель на начало блока атрибутов и размер блока атрибутов, при этом дескрипторы упорядочены по возрастанию кодов, значения которых равны порядковым номерам доменов в составе базы данных.
5. Реляционная база данных по п.4, отличающаяся тем, что блоки атрибутов содержат дескрипторы, каждый из которых соответствует одному из атрибутов домена и включает указатель на начало последнего кортежа, размер последнего кортежа и количество всех кортежей, содержащих дескрипторы с совпадающими кодами атрибутов, при этом дескрипторы упорядочены по возрастанию кодов, значения которых равны порядковым номерам атрибутов в составе доменов.
6. Реляционная база данных по п.5, отличающаяся тем, что кортежи содержат дескрипторы, каждый из которых соответствует одному из атрибутов кортежа и включает первичный адрес дескриптора в связной структуре данных, порядковый номер транзакции записи, изменения или удаления информации, код домена, код атрибута, уровень иерархии дескриптора в кортеже, указатель на начало предыдущего кортежа, размер предыдущего кортежа и количество предыдущих кортежей, содержащих дескрипторы с совпадающими кодами доменов и атрибутов, при этом
дескрипторы упорядочены по возрастанию уровней иерархии и сгруппированы по подмножествам повторяющихся дескрипторов с совпадающими кодами доменов;
дескрипторы с неопределенными значениями кодов атрибутов, расположенные на верхних уровнях иерархии, определяют позиции дескрипторов с определенными значениями кодов атрибутов, расположенных на нижних уровнях иерархии;
значение кода атрибута дескриптора, расположенного на первом уровне иерархии, равно порядковому номеру кортежа в составе отношения.
7. Реляционная база данных по п.6, отличающаяся тем, что кортежи связаны с бинарными фрагментами с помощью выделенных дескрипторов кортежей, уровни иерархии, коды доменов и коды атрибутов которых содержат соответственно неопределенные значения, адреса бинарных фрагментов и размеры бинарных фрагментов.
8. Реляционная база данных по п.7, отличающаяся тем, что состоит из нескольких связных структур данных, каждая из которых включает блоки заголовка, отношений, доменов и атрибутов, группу кортежей, входящих в состав всех отношений и сгруппированных в соответствии со значениями цифр младших разрядов порядковых номеров кортежей, и бинарные фрагменты, связанные с кортежами, при этом значение кода базы данных в составе бинарного фрагмента состоит из цифр младших разрядов порядковых номеров кортежей, расположенных в порядке возрастания разрядов.
9. Способ управления реляционной базой данных по п.8, обеспечивающий версионное выполнение транзакций записи, изменения, удаления, чтения и сжатия информации в режиме конкурентного доступа к базе данных, восстановление полноты и непротиворечивости информации после аварийного завершения доступа к базе данных, отличающийся тем, что транзакции выполняют в режиме прямого доступа к базе данных без применения резервного копирования информации.
10. Способ управления реляционной базой данных по п.9, отличающийся тем, что запись информации производят в следующей последовательности:
запись блоков заголовка, отношений, доменов и атрибутов;
замена идентификаторов доменов и атрибутов на коды дескрипторов в кортежах;
запись кортежей и бинарных фрагментов;
изменение значений дескрипторов в блоках атрибутов;
изменение значения размера связной структуры данных начально-конечного дескриптора в блоке заголовка.
11. Способ управления реляционной базой данных по п.10, отличающийся тем, что изменение и/или удаление информации производят в следующей последовательности:
запись новых версий блоков отношений, доменов и атрибутов;
запись дочерних версий кортежей, включающих новые, измененные и/или удаленные дескрипторы родительских версий кортежей, и новых версий бинарных фрагментов;
изменение значений дескрипторов в блоках атрибутов;
изменение значения размера связной структуры данных начально-конечного дескриптора в блоке заголовка.
12. Способ управления реляционной базой данных по п.11, отличающийся тем, что чтение информации производят в следующей последовательности:
поиск и консолидация родительских и дочерних версий кортежей;
поиск бинарных фрагментов, связанных с консолидированными кортежами;
замена кодов дескрипторов на идентификаторы доменов и атрибутов в консолидированных кортежах.
13. Способ управления реляционной базой данных по п.12, отличающийся тем, что сжатие информации осуществляют в следующей последовательности:
переход в режим монопольного доступа к базе данных;
запись неопределенного значения в указатель на начало связной структуры данных начально-конечного дескриптора в старой версии блока заголовка;
запись новых версий блоков заголовка, отношений, доменов и атрибутов;
возврат в режим конкурентного доступа к базе данных;
поиск и консолидация кортежей и бинарных фрагментов, связанных со старыми версиями блоков заголовка, отношений, доменов и атрибутов;
запись консолидированных кортежей и бинарных фрагментов путем связывания их с новыми версиями блоков заголовка, отношений, доменов и атрибутов;
чтение кортежей и бинарных фрагментов, не прошедших процедуру консолидации, с использованием старых версий блоков заголовка, отношений, доменов и атрибутов;
запись вновь поступивших кортежей и бинарных фрагментов путем связывания их с новыми версиями блоков заголовка, отношений, доменов и атрибутов;
изменение, удаление и чтение консолидированных и вновь поступивших кортежей и бинарных фрагментов с использованием новых версий блоков заголовка, отношений, доменов и атрибутов;
изменение значений дескрипторов в новых версиях блоков атрибутов;
изменение значения размера связной структуры данных начально-конечного дескриптора в новой версии блока заголовка;
удаление из файла информации, расположенной в связной структуре данных перед новой версией блока заголовка.
14. Способ управления реляционной базой данных по п.13, отличающийся тем, что восстановление полноты и непротиворечивости информации после аварийного завершения доступа к базе данных производят в следующей последовательности:
чтение дескрипторов блоков заголовка, отношений, доменов порядковых номеров кортежей и связанных с ними блоков атрибутов;
чтение кортежа, расположенного с наибольшим смещением относительно начала связной структуры данных в соответствии со значением указателя дескриптора блока атрибутов, код которого совпадает с порядковым номером кортежа, и связанного с ним бинарного фрагмента;
определение расчетного размера связанной структуры данных;
чтение кортежей, записанных с положительным смещением относительно расчетного значения размера связной структуры данных;
удаление кортежей, записанных в составе последней транзакции с положительным смещением относительно расчетного значения размера связной структуры данных, и связанных с ними бинарных фрагментов;
приведение значений дескрипторов блоков атрибутов в соответствие с началом, размером и количеством кортежей, записанных с положительным смещением относительно расчетного значения размера связной структуры данных;
изменение значения размера связной структуры данных в начально-конечном дескрипторе блока заголовка и завершение восстановления полноты и непротиворечивости информации.