Реферат: Разработка и сопровождение баз данных в MS SQL Server 2000
Сложные базы данных могут иметь несколько файлов для данных и для журнала транзакций. В этом случае файлы БД объединяются в группы для упрощения администрирования базы данных. SQL Server 2000 обеспечивает создание групп следующих трех типов:
· Primary File Group – основная группа файлов, которая включает первичный файл и все файлы, не включенные в другие группы, база данных может иметь только одну основную группу файлов;
· User-defined File Group – пользовательская группа файлов, создаваемая командой CREATE DATEBASE или командой ALTER DATABASE , если в них используется параметр FILEGROUP, в базе данных можно создать несколько пользовательских групп файлов с произвольным набором файлов;
· Default File Group – группа файлов по умолчанию, в качестве которой назначается одна из групп файлов, созданных в базе данных. Только одна группа файлов может быть группой по умолчанию. Если не указано явно, группой по умолчанию становится основная группа. Если при создании объекта базы данных не указано явно, к какой группе файлов он будет принадлежать, то этот объект создается в группе файлов по умолчанию.
Когда какие-то данные записываются в группу файлов, они распределяются между файлами этой группы равномерно, т.е. производится распараллеливание записи данных. Для этих целей можно использовать и возможности файловой системы NTFS: чередующийся набор дисков с контролем четности и без него [7].
Любая группа файлов, в том числе и основная, может быть установлена в режим только для чтения, что позволяет защитить данные, записанные на файлы этой группы.
1.1.2 Страничная организация файлов данных
Основная единица хранения данных на уровне файла базы данных – это страница , которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строка. Каждая страница файла базы данных имеет объем 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].
Файл журнала транзакций не имеет страниц и экстентов. Он содержит только последовательность записей транзакций, выполняемых в базе данных.
1.2 Логическая архитектура базы данных SQL S erver 2000
Если на физическом уровне рассматриваются структуры, используемые для хранения различной информации, то на логическом уровне необходимо рассматривать объекты, которые можно создавать в базе данных, а также различные свойства, которые влияют на работу сервера с базой данных. Под объектами здесь понимается не только собственно объект, каким является таблица, представление, хранимая процедура, но также и пользователи, роли, полнотекстовые каталоги. К логическому уровню относятся и права доступа пользователей и ролей базы данных к созданным в ней объектам. В список объектов базы данных, которые служат для хранения и обработки информации, входят:
· таблицы (tables) - единственный объект базы данных, предназначенный для хранения пользовательских данных;
· представления (views) - виртуальные таблицы (virtual tables ), которые отображают данные, хранящиеся в других таблицах, и для пользователя во многом напоминают таблицы;