Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросы.doc
Скачиваний:
41
Добавлен:
26.03.2015
Размер:
424.96 Кб
Скачать
                  1. 27. Индексы: определение, типы, назначение, создание и применение.

Индексы - объект БД, позволяющий быстрее находить нужные данные, без чтения всей таблицы данных.

Существует два типа индексов: кластерные и не кластерные. Не кластерные индексы в свою очередь подразделяются на:

  • заданные на неупорядоченной таблице.

  • заданные на кластеризованном индексе.

По умолчанию, индекс всегда создается не кластерным, если не указано иное. Таблица может иметь только один кластерный индекс.

Все индексы имеют страницы листового уровня и нелистовых уровней. При B-Дереве(сбалансорованном) листовым называется уровень, на котором хранитьсяится

“ключ”, идентифицирующий конкретную строку, а страницы нелистовых уровней используются в качестве указателей, направляющих к листовому уровню.

Индексы создаются либо на кластеризованной таблице (таковой называется таблица, имеющая кластеризованный индекс) , либо на так называемой неупорядоченной таблице ( не имеющая кластеризованного индекса).

Кластеризованная таблица

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

Неупорядоченной таблица

При использовании таких таблиц создается уникальный идентификатор, называемый идентификатором строки (Row ID - RID). Идентификатор RID формируется на основе использования данных об экстенте, странице и смещения строки. Идентификатор RID требуется , только если отсутствует кластеризованный ключ (на таблице не задан кластеризованный индекс)

Кластеризованный индекс

Для каждой конкретной таблицы кластеризованный индекс является уникальным; на каждой таблице может быть задан только один кластеризованный индекс.

НЕкластеризованный индекс

Поиск происходит

                  1. Синтаксис sql create index

Создания индекса в таблице. Повторяющиеся значения допускаются:

CREATE INDEX index_name

ON table_name (column_name)

                  1. Синтаксис sql create unique index

Создания индекса в таблице. Повторяющиеся значения не допускаются:

CREATE UNIQUE INDEX index_name

ON table_name (column_name) -- Обязательная конструкция

- Замечание: Синтаксис для создания индексов не одинаковый в базах данных. Поэтому: Проверьте синтаксис перед созданием индексов в базе данных.

                  1. Пример create index

SQL запрос создает индекс с именем "PIndex" в колонке "LastName" таблице "Persons":

CREATE INDEX pindex

ON persons (lastname)

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

CREATE INDEX pindex

ON persons (lastname, firstname)

                  1. 28. Создание базы данных: системные базы данных, оператор создания базы данных, файловые группы, файлы, журнал транзакций, основные параметры базы данных.

master - Данные системного уровня, метаинформация.

msdb - Информация о резервном копировании и восстановлении

model - Используется в качестве шаблона для всех баз данных.

resource - Содержит системные объекты. Системные объекты физически хранятся в базе данных

Resource, но логически отображаются в схеме sys любой БД

tempdb - Временные объекты.

Создание базы данных

CREATE DATABASE [baza] ON PRIMARY

( NAME = имя файла, FILENAME = путь к файлу базы данных' , SIZE = размер , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )

Файловые группы — это группы, сформированные из объектов баз данных и файлов. Различают 2 вида ф.г. первичные и пользовательские. Файлы журналов не могут входить в состав файловых групп.

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

К пользовательским файловым группам относятся все файловые группы, которые задаются с помощью ключевого слова FILEGROUP в инструкции CREATE DATABASE или ALTER DATABASE.

Первичные файлы данных: это один файл, метаинформация (информация о информации), содержит информацию о расположение других файлов, имя *.MDF.

Вторичные файлы данных: ни одного или несколько файлов, данные, имя *.NDF; может отсутствовать. К вторичным файлам данных относятся все файлы данных, за исключением первичного файла данных. Некоторые базы данных могут вообще не содержать вторичных файлов данных, тогда как другие содержат несколько вторичных файлов данных.

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

Опции БД — опции или параметры, которые влияют на работу базы данных. Их можно посмотреть, выбрав свойства БД и кликнув на меню Options. Среди них есть опции курсора и прочие.