Страничная организация файлов данных

Основная единица хранения данных на уровне файла базы данных – это страница, которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строка. Каждая страница файла базы данных имеет объем 8192 байт. Страницы объединяются в экстенты. Экстент состоит из 8 страниц (64 Кбайт).

Первые 96 байт страницы отводятся под заголовок, в котором хранится системная информация:

· тип страницы;

· объем свободного места на странице;

· идентификационный номер таблицы или индекса – владельца страниц.

Имеется шесть типов страниц:

· Data - в страницах этого типа хранятся собственно данные, исключая данные типа text, ntext и image;

· Index - страницы этого типа используются для хранения информации об

индексированных таблицах;

· Text/Image - в страницах этого типа хранятся данные типа text, ntext и

image;

· Global Allocation Map - в страницах данного типа хранится информация об использовании экстентов (групп страниц);

· Page Free Space - в страницах этого типа хранится информация о свободном пространстве на страницах;

· Index Allocation Map - страницы этого типа хранят информацию об экстентах, используемых таблицами или индексами.

В страницах типа Data строки записываются последовательно сразу после заголовка страницы, а их смещения записываются в обратном порядке в конце страницы.

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

На нулевой странице располагается заголовок страницы, в которых хранятся атрибуты файла. Следующая страница содержит PFC, в которой хранится информация об использовании страниц экстента. Затем располагаются битовые поля GAM и дополнительной таблицы SGAM (Shared GAM). Остальные страницы заняты данными или являются свободными. Страницы IAM могут быть созданы в любом месте файла. Для многофайловой базы данных экстенты выделяются на всех файлах в равных пропорциях. Все это обеспечивает высокую скорость создания, поиска и удаления строк данных [8].

Файл журнала транзакций не имеет страниц и экстентов. Он содержит только последовательность записей транзакций, выполняемых в базе данных.

Логическая архитектура базы данных SQL Server 2000

 

Если на физическом уровне рассматриваются структуры, используемые для хранения различной информации, то на логическом уровне необходимо рассматривать объекты, которые можно создавать в базе данных, а также различные свойства, которые влияют на работу сервера с базой данных. Под объектами здесь понимается не только собственно объект, каким является таблица, представление, хранимая процедура, но также и пользователи, роли, полнотекстовые каталоги. К логическому уровню относятся и права доступа пользователей и ролей базы данных к созданным в ней объектам. В список объектов базы данных, которые служат для хранения и обработки информации, входят:

· таблицы (tables) - единственный объект базы данных, предназначенный для хранения пользовательских данных;

· представления (views) - виртуальные таблицы (virtual tables), которые отображают данные, хранящиеся в других таблицах, и для пользователя во многом напоминают таблицы;

· индексы (indexes) - не могут существовать сами по себе и предназначены для повышения производительности работы сервера при поиске нужных данных в таблицах и представлениях, что достигается путем хранения в упорядоченном состоянии данных одного или более столбцов таблицы или представления;

· ключи (keys) - один из типов ограничения целостности, реализуются так же, как и другие ограничения целостности, которые связываются с таблицами, но играют достаточно важную роль в базе данных и поэтому рассматриваются как отдельные объекты;

· умолчания (defaults) - описывают значения, которые присваиваются столбцам таблицы, если при добавлении строки явно не было указано значение для соответствующего столбца;

· правила (rules) - логические условия, ограничивающие диапазон возможных значений для столбца таблицы или определяемого пользователем типа данных;

· ограничения целостности (constraints) - специальные управляющие конструкции, связанными с таблицами и ограничивающие диапазон возможных значений в столбце таблицы;

· хранимые процедуры (stored procedures) – поименованные наборы команд на языке Transact-SQL, сохраненные специальным образом и вызываемые на выполнение пользователями;

· триггеры (triggers) - специальный тип хранимых процедур, связываемых с таблицами и автоматически запускаемых сервером при выполнении удаления, вставки или изменения данных в конкретной таблице;

· определяемые пользователем типы данных (UDDT) - типы данных, создаваемые пользователями;

· определяемые пользователем функции (user-defined function) – набор команд Transact-SQL, сохраненных пользователем в виде функции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: