- •Лекция №1 Информационные системы
- •Лекция № 2 Базы данных и стория появления бд
- •Основная концепция технологии бд:
- •Основные понятия курса (определения):
- •Характеристики субд
- •Основные свойства бд:
- •Лекция №3 Этапы проектирования бд Обобщенная архитектура субд
- •Этапы проектирования бд
- •Лекция №4 Модели данных
- •Реляционная модель данных (рмд)
- •Лекция №5
- •Рмд: языки манипулирования данными (ямд)
- •Лекция №6
- •Нормализация отношений
- •Определение фз
- •Лекция №7 Нормализация отношений (продолжение)
- •Лекция № 8 Платформа sql Server
- •Выпуски sql Server
- •Компоненты sql Server
- •Экземпляры sql Server
- •Системные базы данных
- •Лекция № 9 Файлы и файловые группы
- •Файловая группа по умолчанию
- •Физическая структура файлов данных
- •Страницы
- •Поддержка больших строк
- •Экстенты
- •Журнал транзакций и восстановление
- •Физическая архитектура журнала транзакций
- •Лекция № 10 Опции базы данных
- •Параметры сортировки (collation)
- •Модель восстановления (recovery)
- •Уровень совместимости (compatibility_level)
- •Автоматические
- •Восстановление
- •Состояние
- •Лекция № 11
- •Изменение настроек базы данных
- •Удаление базы данных
- •Лекция № 12 Типы данных Microsoft sql Server
- •Точные числа
- •Приблизительные числа
- •Двоичные данные
- •Пространственные типы данных
- •Специальные типы данных
- •Устаревшие типы данных
- •Пользовательские типы данных
- •Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Создание таблиц
- •Изменение таблиц
- •Удаление таблиц
- •Системные функции
- •Строковые функции
- •Функции даты (времени)
- •Обновление данных
- •Лекция № 14 Создание индексов и управление индексами Структура хранения данных
- •Структуры кластеризованного индекса
- •Структуры некластеризованного индекса
- •Оптимизация индексов
- •Источники информации об индексах
- •Создание индексов
- •Вычисляемые столбцы
- •Изменение индексов
- •Восстановление индексов
- •Удаление индексов
- •Лекция № 15 Ограничения целостности данных Назначение
- •Типы ограничений целостности данных
- •Определение default значений
- •Ограничение not null
- •Ограничения check
- •Ограничения unique
- •Ограничения primary key
- •Ограничения foreign key
- •Ссылочная целостность
- •Индексирование ограничений foreign key
- •Количество ограничений foreign key в таблице
- •Ограничения столбцов и таблиц
- •Применение триггеров
- •Программирование триггеров
- •Создание триггеров
- •Изменение триггеров
- •Удаление триггеров
- •Лекция № 16 Представления Что такое представление?
- •Использование представлений
- •Источники информации о представлениях Обозреватель объектов sql Server Management Studio
- •Функции динамического управления
- •Создание предавлений
- •Изменение представлений
- •Удаление представлений
- •Обновление данных в представлении
- •Типы представлений Стандартные представления
- •Индексированные представления
- •Секционированные представления
- •Секционированные представления
- •Создание таблиц-элементов
- •Определение распределенных секционированных представлений
- •Правила таблиц
- •Правила столбцов
- •Правила столбцов секционирования
- •Индексированные представления
- •Создание индексированных представлений
- •Лекция № 17 Хранимые процедуры и функции Преимущества хранимых процедур
- •Источники информации о хранимых процедурах Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Создание хранимых процедур
- •Вызов хранимых процедур
- •Перекомпиляция хранимых процедур
- •Преимущества определяемых пользователем функций
- •Источники информации о пользовательских функциях Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Типы определяемых пользователем функции
- •Возвращающие табличное значение определяемые пользователем функции
- •Определяемые пользователем встроенные функции
- •Концепция транзакций
- •Эффекты одновременного доступа
- •Блокировки и управление версиями строк
- •Типы управления одновременным доступом
- •Режимы блокировки
- •Взаимоблокировка
- •Отображение сведений о блокировках
- •Режимы транзакций
- •Автоматическая фиксация транзакций
- •Явные транзакции
- •Неявные транзакции
- •Распределенные транзакции
- •Уровни изоляции в ядре субд
Использование представлений
Представления обычно используются для направления, упрощения и настройки восприятия каждым пользователем информации базы данных. Представления могут использоваться как механизмы безопасности, давая возможность пользователям обращаться к данным через представления, но не предоставляя им разрешений на непосредственный доступ к базовым таблицам, лежащим в основе представлений. Представления могут использоваться для обеспечения интерфейса обратной совместимости, моделирующего таблицу, которая существует, но схема которой изменилась. Представления могут также использоваться для копирования данных на Microsoft SQL Server и с него для повышения производительности и секционирования данных.
Сосредоточение на определенных данных
Представления дают возможность пользователям сконцентрироваться на определенных, интересующих их данных и на определенных задачах, за которые они отвечают. Ненужные или конфиденциальные данные могут быть выведены из представления.
Упрощение обработки данных
Представления могут упростить работу пользователей с данными. Можно определить часто используемые соединения, перспективы, запросы UNION и SELECT как представления, благодаря чему с пользователей снимается необходимость задавать все условия и характеристики каждый раз при выполнении дополнительной операции на этих данных. Например, сложный запрос, используемый для составления отчетов и выполняющий подзапросы, внешние соединения и статистическую обработку для извлечения данных из группы таблиц, может быть создан как представление. Представление упрощает доступ к данным, так как лежащий в его основе запрос не должен записываться или предъявляться каждый раз при формировании отчета; вместо этого выполняется запрос к представлению.
Обеспечение обратной совместимости
Представления дают возможность создать интерфейс, обеспечивающий обратную совместимость с таблицей, в которой изменяется схема.
Например, приложение могло обращаться к ненормализованной таблице, имеющей следующую схему:
Employee(Name, BirthDate, Salary, Department, BuildingName)
Чтобы избежать хранения повторяющихся данных в базе данных, таблица была нормализована и раздалена на следующие две таблицы:
Employee2(Name, BirthDate, Salary, DeptId)
Department(DeptId, BuildingName)
Чтобы обеспечить работу приложений, которые по-прежнему ссылаются на данные из таблицы Employee, пользователь может удалить старую таблицу Employee и заменить ее следующим представлением:
CREATE VIEW Employee AS
SELECT Name, BirthDate, Salary, BuildingName
FROM Employee2 e, Department d
WHERE e.DeptId = d.DeptId
Приложения, которые раньше выполняли запросы к таблице Employee, теперь могут получать свои данные из представления Employee. Если приложение только считывает данные из Employee, то изменять его не нужно. Кроме того, иногда для поддержки приложений, обновляющих таблицу Employee, нужно добавить триггеры INSTEAD OF в новое представление для сопоставления операций INSERT, DELETE и UPDATE в представлении с аналогичными операциями над базовыми таблицами. Как было рассмотрено в модуле 5, SQL Server поддерживает два типа DML-триггеров выполняемые после определенного DML действия или вместо этого действия. Над представлениями можно создать только триггеры, выполняемые вместо DML действия (INSTEAD OF).
Настройка данных
Представление дает пользователям возможность видеть данные различным образом, даже если они используют одни и те же данные в одно и то же время. Это особенно полезно, когда пользователи, имеющие разные интересы и обладающие разным уровнем квалификации, работают с одной и той же базой данных.
Например, может быть создано представление, которое извлекает данные о заказчиках, с которыми работает менеджер. Представление может определять, какие данные необходимо извлечь на основании идентификатора входа менеджера, использующего это представление.