Содержание
- 2. Формирование имени файла Размещение (Location) Размещение (Location) Размещение (Location) Шевченко А. В. Элементы физической модели Таблица
- 3. Шевченко А. В. Понятие страницы Страницы (Pages) 0 1 2 3 ... N Файл Размер страницы
- 4. Шевченко А. В. Идентификатор записи tid = (npage*512+nrow), где npage – номер страницы; nrow – номер
- 5. Шевченко А. В. Структуры хранения данных HEAP HASH ISAM BTREE Структура хранения определяет способ размещения данных
- 6. Шевченко А. В. Размещение данных в структуре HEAP В структуре heap записи всегда добавляются на последнюю
- 7. Шевченко А. В. Размещение данных в структуре HASH Для структуры хранения HASH таблица должна иметь ключ,
- 8. Шевченко А. В. Размещение данных в структуре ISAM 7 Иванов 23 28 000.00 4 Петров 33
- 9. Шевченко А. В. Особенности структуры ISAM При приведении таблицы к структуре isam записи сортируются по значению
- 10. Шевченко А. В. Размещение данных в структуре BTREE 7 Иванов 23 28 000.00 4 Петров 33
- 11. Шевченко А. В. Особенности структуры BTREE В структуре btree индекс растет при увеличении таблицы, что исключает
- 13. Скачать презентацию
Формирование имени файла
Размещение
(Location)
Размещение
(Location)
Размещение
(Location)
Шевченко А. В.
Элементы физической модели
Таблица
Файл
Раздел
(Partition)
Раздел
(Partition)
Раздел
(Partition)
Страницы
(Pages)
127
0000007F
a
a
a
a
a
a
7
p
.
t
0
0
Номер таблицы в каталоге
8-разрядное 16-ричное
Формирование имени файла
Размещение
(Location)
Размещение
(Location)
Размещение
(Location)
Шевченко А. В.
Элементы физической модели
Таблица
Файл
Раздел
(Partition)
Раздел
(Partition)
Раздел
(Partition)
Страницы
(Pages)
127
0000007F
a
a
a
a
a
a
7
p
.
t
0
0
Номер таблицы в каталоге
8-разрядное 16-ричное
Имя файла
Шевченко А. В.
Понятие страницы
Страницы
(Pages)
0
1
2
3
...
N
Файл
Размер страницы
2 Кбайт
Всего байт
2048
Зарезервировано
40
Доступно
2008
4 Кбайт
4096
108
3988
8 Кбайт
8192
108
8084
16 Кбайт
16384
108
16276
32 Кбайт
32768
108
32660
64
Шевченко А. В.
Понятие страницы
Страницы
(Pages)
0
1
2
3
...
N
Файл
Размер страницы
2 Кбайт
Всего байт
2048
Зарезервировано
40
Доступно
2008
4 Кбайт
4096
108
3988
8 Кбайт
8192
108
8084
16 Кбайт
16384
108
16276
32 Кбайт
32768
108
32660
64
64536
108
65428
Файл разбивается на страницы фиксированного размера,
который задается при создании таблицы. Часть пространства
страницы доступна для хранения данных, часть – зарезерви-
рована для внутреннего использования.
Каждая страница может содержать определенное число
записей (оно зависит от размера записи, но не более 512).
Записи не могут пересекать границы страниц.
Шевченко А. В.
Идентификатор записи
tid = (npage*512+nrow),
где npage – номер страницы;
nrow
Шевченко А. В.
Идентификатор записи
tid = (npage*512+nrow),
где npage – номер страницы;
nrow
Каждая запись на странице данных имеет уникальный
идентификатор записи tid. Эти идентификаторы используются
для внутреннего управления данными, например в механизме
вторичных индексов или в структуре хранения данных btree.
Шевченко А. В.
Структуры хранения данных
HEAP
HASH
ISAM
BTREE
Структура хранения определяет способ размещения данных
на страницах
Шевченко А. В.
Структуры хранения данных
HEAP
HASH
ISAM
BTREE
Структура хранения определяет способ размещения данных
на страницах
зависеть эффективность выполнения запросов к таблице.
Шевченко А. В.
Размещение данных в структуре HEAP
В структуре heap записи всегда
Шевченко А. В.
Размещение данных в структуре HEAP
В структуре heap записи всегда
эта структура хранения является самой быстрой для добавления данных. Структура heap
также является самой медленной для чтения, поскольку при любом запросе просматри-
ваются все страницы таблицы. При удалении записей высвободившееся пространство не
используется, пока таблица не будет реорганизована.
Номер
7
Фамилия
Возраст
Зарплата
Комментарий
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46 000.00
5
Сергеев
23
22 000.00
11
Николаев
34
32 000.00
2
Александров
50
55 000.00
9
Никитин
43
41 000.00
6
Новиков
61
35 000.00
12
Андреев
41
22 000.00
3
Савельев
44
40 000.00
Страница 0
Страница 1
Страница 2
Шевченко А. В.
Размещение данных в структуре HASH
Для структуры хранения HASH таблица
Шевченко А. В.
Размещение данных в структуре HASH
Для структуры хранения HASH таблица
нескольких атрибутов. Записи размещаются на страницах, номера которых определяются
по значению ключа с использованием специального алгоритма. Если на странице, вычис-
ленной по значению ключа, нет места для размещения записи, то запись размещается на
странице переполнения, добавляемой в конец таблицы.
Номер
7
Фамилия
Возраст
Зарплата
Комментарий
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46 000.00
5
Сергеев
23
22 000.00
11
Николаев
34
32 000.00
2
Александров
50
55 000.00
9
Никитин
43
41 000.00
6
Новиков
61
35 000.00
12
Андреев
41
22 000.00
3
Савельев
44
40 000.00
Страница 0
Страница 2
Страница 1
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Шевченко А. В.
Размещение данных в структуре ISAM
7
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46
Шевченко А. В.
Размещение данных в структуре ISAM
7
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46
5
Сергеев
23
22 000.00
11
Николаев
34
32 000.00
2
Александров
50
55 000.00
9
Никитин
43
41 000.00
6
Новиков
61
35 000.00
12
Андреев
41
22 000.00
3
Савельев
44
40 000.00
Страница 0
Страница 2
Страница 1
Страница 3
Страница 4
13
Смирнов
39
32 000.00
<= 8
<= 4
<= 12
Страница 1
Страница 2
Страница 3
Страница 4
Шевченко А. В.
Особенности структуры ISAM
При приведении таблицы к структуре isam записи
Шевченко А. В.
Особенности структуры ISAM
При приведении таблицы к структуре isam записи
Индекс организуется в виде двоичного дерева, в узлах которого находятся значения ключа
записей, начинающих новую страницу. Число уровней индекса определяется числом стра-
ниц таблицы как степень числа 2, необходимая для покрытия общего числа страниц.
При добавлении в таблицу или изменении данных индекс не изменяется. Эта структура
хранения эффективна при доступе по точному значению ключа, по диапазону значений
ключа и по левой части составного ключа. Структура isam не эффективна при быстром
росте таблицы, поскольку при этом добавление записей идет на страницы переполнения.
Шевченко А. В.
Размещение данных в структуре BTREE
7
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46
Шевченко А. В.
Размещение данных в структуре BTREE
7
Иванов
23
28 000.00
4
Петров
33
32 000.00
10
Сидоров
34
35 000.00
1
Климов
40
43 000.00
8
Федоров
53
46
5
Сергеев
23
22 000.00
11
Николаев
34
32 000.00
2
Александров
50
55 000.00
9
Никитин
43
41 000.00
6
Новиков
61
35 000.00
12
Андреев
41
22 000.00
3
Савельев
44
40 000.00
Страница 0
Страница 4
Страница 3
Страница 5
<= 8
Страница 1
Страница 2
Стр. 1
4
1
2
3
1539
1536
1537
1538
5
2048
6
2049
Стр. 2
10
7
8
9
2561
2050
2051
2560
11
2562
12
2563
Шевченко А. В.
Особенности структуры BTREE
В структуре btree индекс растет при увеличении
Шевченко А. В.
Особенности структуры BTREE
В структуре btree индекс растет при увеличении
связанные с появлением страниц переполнения, которые характерны для структуры isam.
В структуре btree таблица состоит из четырех частей: страницы заголовка, индексных
страниц, страниц списка (leaf pages) и страниц данных. В этой структуре, в отличие от
isam, индекс указывает не на страницы данных, а на страницы списка (leaf pages), содержа-
щие пары: значение ключа – tid записи на странице данных. Индекс и страницы списка
перестраиваются при необходимости по мере увеличения таблицы.
Так же, как и isam, структура хранения btree эффективна при доступе по точному значению
ключа, по диапазону значений ключа и по левой части составного ключа. Поскольку в
структуре btree индекс указывает на компактные страницы списка, то число ступеней в
индексе будет значительно меньше, чем в структуре isam. К недостаткам btree можно
отнести динамическое перестроение таблицы в процессе работы (может замедлять работу
пользователей при интенсивном обновлении таблицы), а также риск возникновения
дедлока.