Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh.docx
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
57.23 Кб
Скачать

Фиксированные роли бд

db_owner

Полный доступ к БД(множество пользователей, обладающих правами владельца БД).

db_accessadmin

Создание и удаление пользователей БД из числа уже имеющихся

db_securityadmin

Не дает возможность создавать новых пользователей , но позволяет управлять разрешениями, ролями и членами ролей

db_ddladadmin

Выполнение любых команд DDL(но нельзя GRANT, DENY и REVOKEN)

db_backupoperator

Выполнение команд модуля DBCC(DBCC CHECKPOINT, DBCC DBREINDEX, и т п), а также команды BACKUP - резервного копирования БД

db_datareader

Возможность чтения данных во всех таблицах БД

db_datawriter

Право применения INSERT, UPDATE, DELETE в любой таблице БД

db_denydatareader

Запрет просмотра данных в любой таблице БД

db_denydatawriter

Запрет применения INSERT, UPDATE, DELETE во всех таблице БД

В отличае от сервера БД могут иметь пользовательские роли и роли приложения, которые создает администратор с помощью Enterprise Manager или Transact-SQL индивидуально для групп пользователей и групп приложений, наделяя их необходимыми правми доступа к конкретной БД.

Создание пользовательской роли БД:

Sp_addrole [@rolename=]<’имя_роли’>[,[@ownername=]<’владелец_роли’>]

В любую роль БД можно включать:

  1. Пользователь сервера

  2. Роли сервера

  3. Пользователей Windows

  4. Группы пользователей Windows

Добавление пользователей

Sp_addroleemember [@rolename=]<’имя_роли’>,

[@membername=]<’имя_пользователя’>]

EXES Sp_addrolemember ‘OutTestRole’, ‘RealUser”

Удаление пользователей из роли:

EXES Sp_droprolemember ‘OutTestRole’, ‘RealUser”

Удаление роли

EXES Sp_droprolemember ‘OutTestRole’

РОЛИ ПРИЛОЖЕНИЙ:

Роль приложения позволяет выдавать права доступа не к конкретному пользователю или их группе, а приложению в целом.

Они не могут использоваться для подключения к БД.

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

Далее в сеансе работы приложение будет обладать правами данной роли.

Индексация в субд

Понятие индекса

Основная проблема в СУБД – это поиск нужных данных за минимальное время.

Быстрый поиск может быть выполнен в случае, если данные отсортированы.

Сортировка данных в таблице невозможно, т.к. критериев поиска моет быть несколько.

Поэтому для таблицы с данными создаются специальные таблицы для каждого критерия поиска, которые называются ИНДЕКСЫ.

Индекс – это структура данных для быстрого поиска записей в таблице по значению ключа.

МЕТОДЫ ОРГАНИЗАЦИИ ИНДЕКСА

Первичный ключ

  1. Плотным индексом(некластерный индекс) Индексно прямой файл

  2. Неплотным индексом(кластерный индекс) Индексно последовательный файл

  3. Б-деревья

Вторичный ключ

  1. Инвертируемые списки

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

Алгоритм поиска данных

Алгоритм удаления записи:

Начало => поиск индексного блока => удаление записи в индексном блоке => запись индексного блока => чтение блока основного файла => пометить запись на удаление в блоке => запись блока основного файла => конец

Некластерный индекс

Алгоритм добавления данных

Начало = поиск индексного блока = чтение блока основной области = добавление записи в блок основной области = переполнение – (да) перестроение индекса - (нет) запись блока основной области = конец.

Алгоритм удаления записи

Начало = поиск индексного блока = чтение блока основной памяти = удаление записи в блоке основной области = запись блока основной области = конец.

Индекс Б-дерево

Со второго уровня используется неплотный индекс

ОПЕРАТОР СОЗДАНИЯ ИНДЕКСА.

СУБД всегда создает индекс для первичного ключа таблицы.

Для создания индексов для других полей используется оператор SQL.

CREATE [UNIQUE] INDEX имя_индекса

ON имя_таблицы (имя_столбци [ASC|DESC][….])

Пример. Создать индекс для таблицы ЗАКАЗ по вторичному ключу

CREATE INDEX Заказ_FK_инд

ON Заказ (MFR, КодТов)

В каждой СУБД оператор создания индексов содержит дополнительные предложения специфические для каждой СУБД.

ОПЕРАТОР СОЗДАНИЯ ИНДЕКСА

Оператор для создания индекса в transact – SQL

CREATE [UNIDUE] создание уникального индекса

[CLASTEED|NOCLASTERED] создание неплотного или плотного индекса

INDEX имя_индекса

ON {имя_таблицы|имя_представления}

(имя_столбца[ASC|DESC][….]) по возрастанию или убыванию

WITH

[<параметры>][….n]]]

[ON имя_файла_группы] расположение индекса в файлах ОС БД

<параметры> - это резервирование на каждой странице индекса

свободного пространства

{PAD_INDEX|FILLFACTOR = %запол. | степень заполнения свободного пространства.

IGNORE_DUP_KEY|DROP_EXISTING|

STATIDTICS_NORECOMPUTE|SORT_IN_TEMPDB

}

……………………………………………………………………………………………………

Базы данных. Экзамен

Боброва Наталья Леонидовна Страница 14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]