Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
76-86.docx
Скачиваний:
4
Добавлен:
24.09.2019
Размер:
1.03 Mб
Скачать
  1. Иерархия объектов в структуре данных. Строки.

Строка представлена в базе данных как отдельный объект. Строки могут иметь размеры до 8 Кбайт,

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

  1. В-деревья. Понятия: корневой узел, узел листового уровня, уровень отличный от листового.

В-дерево - это структура данных, позволяющая использовать единообразные методы поиска способов выборки конкретных фрагментов информации. Само то, что в названии этой структуры данных применяется слово "сбалансированный" (Balanced - В), говорит о многом. Дело в том, что такая структура данных, как В-дерево, обеспечивает автоматическую поддержку сбалансированности узлов. Это означает, что от каждого узла всегда исходит примерно одинаковое количество ветвей; иными словами, примерно половина данных находится по одну сторону от узла и примерно половина - по другую сторону. Кроме того, визуальное представление такой сбалансированной структуры данных также весьма напоминает дерево (состоящее из ветвей и узлов).

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

1

Корневой

6

узел

I

11

16

-.

/

I

\

-.

1

6

11

16

2

7

12

17

Действительные

данные

3

8

1 3

18

4

9

14

5

10

15

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

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

Как показано на рис. 9.2, поиск данных в многоуровневом индексе, как и прежде, начинается с корневого узла, после этого происходит переход к узлу, который начинается с наивысшего значения, меньшего или равного искомому значению и, кроме того, находящемуся на следующем, нижележащем уровне. После этого данный процесс повторяется: отыскивается узел, имеющий наибольшее начальное значение, меньшее или равное искомому значению. Этот процесс перемещения с одного уровня дерева на другой, нижележащий уровень продолжается вплоть до листового уровня; на этом уровне обнаруживается физическое местонахождение данных, после чего может быть быстро выполнен переход к этим данным.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]