- •Государственное общеобразовательное учреждение высшего профессионального образования
- •Приборостроения и информатики
- •Построение диаграммы базы данных. …………………………………………… … 26
- •Оператор drop schema
- •Создание представления в окне в Query Editor (Редактор запросов).
- •Create trigger trgDrp
- •4 Delete from PostDet.TblS
- •Построение диаграммы базы данных.
- •Создание запросов.
- •3. Добавление записей в таблицу PostDet.TblP.
- •В ms sqlServer существует тип данных xml, а также операторы
Оператор drop schema
Оператор DROP SCHEMA удаляет схему из базы данных. Вы можете успешно выполнить оператор DROP SCHEMA для схемы только лишь в том случае, если эта схема не содержит никаких объектов. Если же схема содержит какие-либо объекты, то оператор DROP SCHEMA будет отменен системой.
DROP SCHEMA schema_name
Заполните созданные таблицы данными из Приложения.
Переключитесь с учетной записи Fred на учетную запись администратора и войдите в SQL Server.
Удалите пользователя Fred из роли db_owner базы данных Postavki. Для этого в окне редактора запросов введите следующий текст:
USE Postavki
GO
EXECUTE sp_droprolemember 'db_owner', 'fs-64C67299CCAR\Fred';
Удаление пользователя Fred из роли db_owner не позволит ему создавать новые объекты в базе данных Postavki ( таблицы, функции, хранимые процедуры), совершать любые операции с таблицами этой схемы.
Переключитесь с учетной записи администратора на учетную запись Fred и войдите в SQL Server. Таблицы в обозревателе объектов SQL Server исчезнут. Если попытаетесь выполнить запрос к таблице PostDet.tblS, получите сообщение об ошибке.
Управление доступом к таблицам и столбцам.
Управление доступом к таблицам и столбцам осуществляется через иерархию разрешений с использованием инструкций:
GRANT (Предоставить). Предоставляет пользователю или роли доступ к данному действию с указанной таблицей.
WITH GRANT (Право передачи). Также предоставляет пользователю или роли доступ к данному действию с указанной таблицей. Кроме того, с таким параметром можно передавать разрешение другим пользователям или ролям.
DENY (Запретить). Явно запрещает любому пользователю или роли определенные разрешения и предотвращает наследование этих разрешений от других ролей.
REVOKE (Отменить) Отмена ранее предоставленного разрешения или запрета на объект.
Изменение прав доступа к таблице.
Переключитесь с учетной записи Fred на учетную запись администратора и войдите в SQL Server.
Предоставьте пользователю Fred разрешение SELECT только на таблицу PostDet.tblP. SELECT– разрешение на выборку строк из таблицы.
USE Postavki;
GO
GRANT SELECT
ON PostDet.tblP
TO [FS-64C67299CCAR\ Fred];
Смените пользователя и выполните вход в SQL Server с помощью идентификатора. Fred. Появится таблица PostDet.tblP. Выполните предыдущий запрос к таблице PostDet.tblP. Запрос успешно завершен.
Выполните самостоятельно запрос на обновление таблицы PostDet.tblP. Получите сообщение об ошибке.
Смените пользователя и вновь войдите в SQL Server с учетной записью администратора.
Предоставьте пользователю Fred еще дополнительное разрешение UPDATE (изменение строк в таблице) на таблицу PostDet.tblP.
Самостоятельно создайте запрос и проверьте выполнение этого разрешения.
Ограничиваем доступ пользователя Fred к таблице PostDet.tblP. Отзываем ранее предоставленные разрешения SELECT и UPDATE на таблицу PostDet.tblP. Для удаления разрешений следует воспользоваться инструкцией REVOKE.
USE Postavki;
GO
REVOKE SELECT, UPDATE
ON PostDet.tblP
TO [FS-64C67299CCAR\ Fred];
Предоставление и отмена прав доступа к отдельным столбцам таблицы.
Предоставить право доступа к отдельным столбцам таблицы можно с помощью инструкции GRANT. Предоставьте разрешения SELECT и UPDATE на столбцы S и SName таблицы PostDet.tblS. SELECT– разрешение на выборку из столбца. UPDATE - разрешение изменять данные в столбце.
--Изменяем контекст соединения на базу Postavki
USE Postavki;
GO
GRANT SELECT, UPDATE ( S, SName)
ON PostDet.tblS
TO [FS-64C67299CCAR\ Fred];
Переключитесь на учетную запись Fred, войдите в SQL Server и выполните запрос:
UPDATE PostDet.tblS
Set PostDet.tblS.SName = 'Peter'
Where S = 'S1';
Оцените полученный результат.
Отозвать доступ к отдельным столбцам таблицы можно с помощью инструкции REVOKE.
Смените пользователя и вновь войдите в SQL Server с учетной записью администратора.
USE Postavki;
GO
--Отзываем ранее предоставленные или запрещенные разрешения на столбец S для пользователя Fred.
REVOKE SELECT, UPDATE ( S, SName)
ON PostDet.tblS
TO [FS-64C67299CCAR\ Fred];
Для создания разрешений с помощью графического интерфейса нужно открыть базу данных и в свойствах найти пункт Permission(Безопасность-> Пользователи -> Свойства).
Представление как мера безопасности.
Представление – это виртуальная таблица, данные которой заимствованы из других таблиц. Представление запоминается системой посредством его записи в каталог базы данных под указанным именем.
Представление используется как мера безопасности, предотвращающая обращение пользователей к таблице. Оно позволяет ограничить доступ к определенным столбцам или строкам таблицы, а также доступные пользователям операции. Ограничить доступ к таблице можно, предоставив его минимальному количеству ролей или имен входа, и оставив либо представление, либо хранимую процедуру в качестве единственного способа извлечения данных.