5.1.3 Логическое представление данных в qWORDе
Рассмотрим, как из физического представления данных конструируются варианты логического представления данных. Для этого используем нижеследующее образное представление (рис. 5.2).Рис. 5.2. Логическое представление данных в qW
На рис. 5.2 каждый словарь атрибута представлен в виде вертикального набора кружочков. Сверху надписаны названия атрибутов. Количество кружочков в каждом вертикальном ряду разное, так как разное количество слов в словарях атрибутов. Кружочки-слова отсортированы сверху вниз в алфавитно-цифровом порядке, так что фамилии авторов, скажем, меняются от "Абажурова" до "Яшмакова", а года жизни "1890" до "1910". Далее мы одной кривой линией соединяем (или связываем) несколько кружочков. Порядок соединения не важен, поэтому все линии идут слева направо. Одна линия может соединять любое количество кружочков, в любых вертикальных рядах, в том числе несколько в одном вертикальном ряду. Каждую линию следует рассматривать как одну запись в таблице. Линия заканчивается кодом записи. В простейшем случае код записи представляет собой порождаемое системой число натурального ряда чисел. Теперь можно перейти к конструированию логических структур данных.
Сначала рассмотрим чисто реляционный вариант. На рис. 5.2 представлен фрагмент ненормализованной таблицы-отношения с атрибутами
(Раздел творчества, ФИО автора, Произведение, Год написания произведения, Место рождения автора). Ключевые атрибуты выделены. Существует реляционная функциональная зависимость между парами атрибутов (ФИО автора)(1)(Место рождения автора) и (Произведение)(1)(Год написания произведения).Нормализация предполагает ликвидацию функциональной зависимости атрибута от части составного ключа, поэтому после приведения ко второй нормальной форме получим три таблицы вида:
(Раздел творчества),
(Раздел творчества, ФИО автора, Место рождения автора),
(Раздел творчества, ФИО автора, Произведение, Год написания произведения).
Эти таблицы представлены на рис. 5.3. Все эти три таблицы логического представления могут быть физически оформлены как в виде 1, так и в виде 3 таблиц (на рис. 5.3 в виде 3 таблиц).
Рис. 5.3. Представление логической структуры данных в виде трех таблиц
Остановимся на некоторых особенностях qWORD'а, обусловленных его физической структурой данных и нашедших свое отражение при построении этой простой традиционной реляционной структуры.
Рис. 5.4. Использование иерархического кода записи при построении логической структуры данных
Каждое число состоит из одинакового произвольного количества цифр и представляет собой код записи для таблицы логического представления, являющейся соответствующим уровнем иерархии. Все числа справа от этого числа представляют собой нули, все числа слева являются кодами записей в таблицах логического представления вышележащих уровней иерархии и указывают на ветвь, связывающую запись, отвечающую этому числу с корнем иерархического дерева. Все уровни иерархии находятся в одной таблице физического представления. На рис. 5.4 коды записей иерархии представлены тремя однозначными числами, разделенными точкой.
Таким образом, это логическое представление является одновременно и реляционным, и иерархическим. Оба логических представления существуют независимо друг от друга и операции, связанные с одним из этих двух представлений, не разрушают логической структуры другого представления.
Наряду с реляционным и реляционно-иерархическим логическим представлением данных физическая структура данных поддерживает и другие представления.
Отметим преимущества использования структурированного кода в сочетании с используемой структурой словаря:
Site of Information
Technologies Designed by inftech@webservis.ru. |
|