- •Трехуровневая архитектура
- •Основные утилиты
- •Анализатор запросов Query Analyzer
- •Расширенный синтаксис оператора создания таблиц create table
- •Ограничения – эффективное средство обеспечения целостности данных.
- •Типы ограничений
- •Ограничения ключей
- •Ограничения первого ключа
- •Ограничения внешнего ключа
- •Добавление внешнего ключа в существующую таблицу:
- •Ограничение уникальности
- •Ограничение проверки
- •Ограничения стандартных значений
- •Объекты sql Server – правила и стандартные значения
- •Сравнение средств поддержки целостности данных
- •Системы безопасности субд sql Server
- •Компоненты структуры безопастности
- •Серверные роли и роли бд, определяемые пользователем роли
- •Фиксированные роли сервера
- •Фиксированные роли бд
- •Индексация в субд
Объекты sql Server – правила и стандартные значения
Правила (rules) и стандартные значения (defaults) появились раньше ограничений проверки и ограничений стандартных значений.
Правила и стандартные значения не согласуются со стандартом ANSI (призванный гарантировать совместимость).
Ограничения представляют собой характеристики таблицы и не могут существовать сами по себе.
Правила и стандартные значения являются независимыми объектами и могут неоднократно «привязываются» к той или иной таблице либо пользовательскому типу данных.
CREATE RULE SalaryRule AS @Salary > 0
Правило говорит, что любой столбец, к которому оно будет применено, должно содержать значение больше 0.
Для активизации правила необходимо воспользоваться хранимой процедурой:
sp_bindrule <’правила’>, <’имя_объекта’>, [<’ использовать_в_будущем’>]
отменить привязку правила:
EXEC sp_unbindrule
‘Employees.Salary’
Удаление правила:
DROP RULE <имя_правила>
Сравнение средств поддержки целостности данных
-
Инструмент
Преимущества
Недостатки
Ограничения
=Быстрые.
=Выполняются до запуска оператора.
=Совместимы со стандартом ANSI/
=Необходимость переопределения для каждой таблицы.
=Невозможность задания ссылок на другие таблицы.
=Нельзя привязать к типам данных.
Правила, стандартные значения
=Представляет собой независимые объекты.
=Возможность повторного использования.
=Можно привязать к типам данных.
=Выполняется перед запуском оператора.
=Немного медленнее ограничений.
=Не могут ссылаться на другие таблицы.
=Реализованы в новых версиях SQL Server только для поддержки обратной совместимости.
Триггеры
=Предельная гибкость.
=Могут применяться для нескольких столбцов и нескольких таблиц.
=Запускаются только после/вместо выполнения команды.
=Приводят к существенному перерасходу ресурсов.
Системы безопасности субд sql Server
Средства аутентификации средствами Windows
Смешенный режим аутентификации
Компоненты структуры безопастности
Учетные записи(login)
Пользователи(user)
Роли(role)
Группы (group)
Серверные роли и роли бд, определяемые пользователем роли
Роли – представляем собой набор правил доступа, которые могут быть назначены пользователю, путем присоединения пользователя к данной роли. Пользователь может принадлежать к нескольким ролям. Различают роли:
Серверные роли (server roles). Серверная роль является фиксированной и ее нельзя удалить или модифицировать.
Роли БД (database roles) – фиксированные роли БД и создаваемые пользователем роли БД.
Фиксированные роли сервера
-
Sysadmin
Выполнение любых действий на сервере (системные администраторы SQL Server).
Serveradmin
Настройка конфигурации, выключение сервера.
Setupadmin
Управление связанными серверами и процедурами, автоматически запускающимися при старте сервера.
Sedurityadmin
Управление учетными записями и правами на создание БД, а также для контроля журнала ошибок (доступ к log фаилу).
Processadmin
Управление процессами, запущенными на сервере (можно уничтожить долго выполняющийся процесс).
Dbcreator
Создание и модификация БД.
Diskadmin
Управление файлами сервера (контроль того, с какими файлами связана данная группа, подключение и отсоединение БД).
bylkadmin
Представление прав на выполнение команды BULK INSERT - массового копирования БД. Иначе подобная операция может быть выполнена только при помощи роли sysadmin.
Роли БД позволяет объединить пользователей в одну административную единицу и работать с ней как с обычным пользователем.