Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Физическая организация БД: файлы, записи, блоки



База данных (БД) – это совместно используемый набор логически связанных данных и описание этих данных, предназначенное для удовлетворения информационных потребностей организации.

От того, каким образом данные физически хранятся на дисках, в большой степени зависит скорость работы с данными. Можно сказать, что база хранится на диске как набор записей различного формата. Часто при обсуждении физического хранения данных исп-ют термин «файл». В данном случае под файлом понимают набор записей одинакового формата, т.е. файл аналогичен отношению. Каждая запись файла включает столько байт сколько необходимо для сохранения всех полей записи. Кроме того запись может включать след. доп. байты:

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

­ Один или неск-ко байт могут хранить инфо о длине записи или длине поля. Такая инфо необходима в случае использования типа varChar.

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

­ Бит использования. Он хранит инфо о наличии свободного места.

­ Неиспользуемое пространство.

Если запись подразумевает такие типы данных как text, image, blob (двоичная инфо), то такие данные не хранятся вместе с записью, а хранятся в отдельном блоке. В записи же хранится адрес.

Пример: Сотрудник (таб. №: int; № отд.: int; Фамилия: char(20); Фото: image)

1ый байт – служебная инфо; 2ой-5ый – табел. номер; 6ой-9ый – номер отдела; 10-29 – фамилия; 30-33 – ссылка на фото; 34ый байт – служеб. инфо; 39-42 – номер отдела; 43-62 – фамилия; 63-66 – ссылка на фото.

Если тип varChar:

1ый байт – служебная инфо; 2-5 – табел. номер; 6-9 – номер отдела; 10 байт – длина фамилии; 11-16 – фамилия, если 6 символов в ней; 17-20 – адрес; 21 – служеб. инфо; 22-25 – таб. номер; 26-29 – номер отдела; 30 – длина, напр., 2; 31-32 – фамилия.

Наиболее быстрая обработка данных была бы возможна, если бы вся БД помещалась в оперативной памяти. Однако реальные базы гораздо больших размеров, чем реальная память. Поэтому можно говорить, что отношение при хранении разбивается на фрагменты. Такие фрагменты наз-ся блоки или страницы. Размер блока зависит от кол-ва байт, к-ые м.б. считаны или записаны за одно обращение к диску. Нек-ые СУБД позволяют управлять размерами блока. Каждый блок включает мн-во записей, чаще всего одного формата. Кроме того блок включает адрес след-его блока файла. Блок может включать служебные байты, напр., с кол-вом записей в нем. Блоки могут иметь неиспользуемое пространство для повышения эффективности обработки.

Файл может включать так называемый нулевой блок, формат к-ого отличается от ост-ых блоков. Такой блок может содержать схему отношения. Блоки м.б. по-разному организованы внутри файла, напр., м.б. файлы, организованные в виде кучи, хешированные и упорядоченные файлы. Эффективность той или иной организации файла будем оценивать кол-вом блоков, к-ые необходимо считать с диска при поиске инфо.





Дата публикования: 2015-02-18; Прочитано: 664 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...