Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд / Лекция 6 - Представления, индексы.docx
Скачиваний:
28
Добавлен:
14.05.2015
Размер:
396.6 Кб
Скачать

Представления.

Типы таблиц, с которыми мы имели дело до сих пор, назывались базовыми таблицами. Это таблицы, которые содержат данные. Однако имеется другой вид таблиц - представления. Представления - это таблицы, чье содержание выбирается или получается из других таблиц. Они работают в запросах точно также как и основные таблицы, но не содержат никаких собственных данных. Представления подобны окнам, через которые вы просматриваете информацию (как она есть, или в другой форме), которая фактически хранится в базовой таблице. Представление - это фактически запрос, который выполняется всякий раз, когда представление становится темой команды. Вывод запроса при этом в каждый момент становится содержанием представления.

Создается представление командой CREATE VIEW. Она состоит из слов CREATE VIEW (СОЗДАТЬ ПРЕДСТАВЛЕНИЕ), имени представления которое нужно создать, слова AS (КАК), и далее запроса, как в следующем примере:

CREATE VIEW StudWithDateB AS

SELECT sNameSt, nameSt, lNameSt, dateB

FROM Student

WHERE adressByReg like '%Белгород%'

Теперь мы имеем представление, называемое StudWithDateB. Мы можем использовать это представление точно так же, как и любую другую таблицу. Оно может быть запрошено, модифицировано, удалено, соединено с другими таблицами и представлениями. Для простых представлений (основанный на одной таблице) возможна вставка и модификация данных. Сложные представления в обычном режиме доступны только для выборки.

Запрос представления:

SELECT * FROM StudWithDateB

sNameSt nameSt lNameSt dateB

------------------------------ -------------------- -------------------- -----------------------

Иванова Анна Ивановна 1990-02-08 00:00:00.000

Семенова Евгения Петровна 1990-04-01 00:00:00.000

Бойченко Алексей Анатольевич 1990-12-09 00:00:00.000

(3 row(s) affected)

Запрос представления может быть модифицирован, например может быть добавлено условие WHERE, присвоены псевдонимы столбцам и т.д.

Ограничения для запросов при создании представлений:

- ОБЪЕДИНЕНИЕ (UNION) и ОБЪЕДИНЕНИЕ ВСЕГО (UNIOM ALL) не разрешаются.

- УПОРЯДОЧЕНИЕ ПО(ORDER BY) никогда не используется в определении представлений. 

Для удаления используется команда DROP VIEW <имя представления>.

Любые запросы (кроме оговоренных выше ограничений), всегда можно определить как представление. Запросы этих представлений, фактически, являются запросами запроса. Использование представлений обеспечивает удобства предоставления данных и удобства разграничения прав доступа к данным. Кроме того, представления позволяют форматировать данные нужным образом.

Структуры памяти. Индексные структуры.

Основной единицей хранилища данных в SQL Server является страница. Место на диске, предоставляемое для размещения файла данных (MDF- или NDF-файл) в базе данных, логически разделяется на страницы. Дисковые операции ввода-вывода выполняются на уровне страницы. А именно, SQL Server считывает или записывает целые страницы данных.

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

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

Страницы

1 страница = 8 КБ.

Это значит, что в одном мегабайте базы данных SQL Server содержится 128 страниц.

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

Строки данных заносятся на страницу последовательно, сразу же после заголовка. Таблица смещения строк начинается в конце страницы; каждая таблица смещения строк содержит одну запись для каждой строки на странице. Каждая запись регистрирует, насколько далеко от начала страницы находится первый байт строки. Записи в таблице смещения строк находятся в обратном порядке относительно последовательности строк на странице.

Существует несколько типов страниц, основные из них:

  1. страницы данных;

  2. страницы индексов.