- •1. Краткие теоретические сведения
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Знакомство с окном субд Microsoft Access
- •1.2. Создание бд
- •1.3. Создание таблицы бд
- •Определение необходимых в таблице полей Поле – элемент таблицы, содержащий определенную информацию, например, фамилию. Термин «поле» применяется как для столбца, так и для ячейки таблицы.
- •1.4. Установление связей между таблицами
- •- Не определено – субд не в состоянии определить вид связи между таблицами.
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Запуск запросов на выполнение
- •1.2. Создание запросов на выборку. Общий вид окна
- •1.3. Условие отбора записей в запросе
- •1.4. Многотабличные запросы. Группировка
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Понятие «форма»
- •1.2. Запуск формы на выполнение
- •1.3. Создание формы
- •1.3.1. Создание формы с использованием команды
- •1.3.2. Создание формы при помощи команды Мастер форм
- •1.3.3. Создание формы при помощи команды Конструктор
- •1.4. Настройка свойств формы
- •1.5. Основные виды элементов управления
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Понятие «отчет»
- •1.2. Создание отчета с использованием команды Автоотчет
- •1.3. Создание отчета при помощи мастера отчетов
- •1.4. Отчет в режиме Конструктор
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Понятие «макрос»
- •1.2. Создание макроса
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •2. Практическая часть
- •InterBase. Создание доменов и таблиц
- •1. Краткие теоретические сведения
- •1.1. Настройка и обслуживание бд с помощью
- •1.2. Создание бд
- •1.3. Настройка bde
- •1.4. Общие сведения о создании объектов бд
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Управление доступом к данным
- •1.2. Создание списка пользователей
- •1.3. Задание прав
- •1.4. Ликвидация прав
- •2. Практическая часть
- •1. Краткие теоретические сведения
- •1.1. Понятие «обзор»
- •1.2. Создание обзоров
- •1.3. Типы обзоров
- •1.4. Обновление данных в обзоре с конструкцией
- •1.5. Группы управления правами – роли
- •1.6. Создание и удаление роли
- •1.7. Формирование списка прав, связанных с ролью
- •1.8. Формирование прав пользователей на основе ролей
- •1.9. Связывание пользователей с ролями
- •2. Практическая часть
- •Содержание
- •Системы управления базами данных
- •220005, Г. Минск, пр-т Независимости, 62.
1.4. Обновление данных в обзоре с конструкцией
WITH CHECK OPTION
Если обзор создан с опцией проверки (WITH CHECK OPTION), то при попытке обновления или вставки данных проверяется, удовлетворяют ли новые данные условиям выборки, заданным конструкцией WHERE. Данные будут записаны только при выполнении этих условий.
З а м е ч а н и я:
1. Опция применима только для обновляемых обзоров.
2. Значения могут быть вставлены через обзор только для тех столбцов, которые входят в обзор. Для столбцов таблицы, не вошедших в обзор, InterBase устанавливает значения NULL.
НЕЛЬЗЯ непосредственно изменить обзор. Сначала его нужно удалить, а затем создать заново командой CREATE VIEW.
Удаление обзора означает удаление из БД его описания, но не самих данных. Удаление обзора разрешено пользователю, создавшему обзор, при выполнении условия: обзор не должен использоваться другим обзором, хранимой процедурой или ограничением целостности (CHECK-конструкцией). В этом случает нужно предварительно удалить все объекты, использующие данный обзор.
Синтаксис команды удаления обзора:
DROP VIEW <имя обзора>;
1.5. Группы управления правами – роли
Если некоторому подмножеству команд предоставления прав (GRANT) дать имя, то вместо перечисления команд GRANT, можно, указав имя, сослаться на это множество. Такой подход позволяет одной командой передать пользователю права сразу на несколько объектов. Если пользователей много, то действия по отслеживанию всех их прав становятся достаточно громоздкими, и работа с такими множествами существенно ее облегчает. Особенно удобно то, что вместо предоставления прав на какой-либо новый объект или ограничения ранее предоставленных прав каждому из пользователей, можно провести такое изменение в именованном подмножестве, которым и является роль.
Процедура работы с ролями включает несколько этапов:
- создание роли (создание имени и пустого множества);
- формирование списка прав, связанных с ролью (включение элементов-прав во множество);
- формирование прав пользователей на основе ролей;
- связывание пользователей с ролями, т. е. передача им множества прав, описанных в роли.
1.6. Создание и удаление роли
Создание роли (объявление ее в БД) производится командой CREATE ROLE, которая имеет следующий синтаксис:
CREATE ROLE <имя роли>;
Удаление роли производится командой DROP ROLE, которая имеет следующий синтаксис:
DROP ROLE <имя роли>;
1.7. Формирование списка прав, связанных с ролью
Ролям могут быть предоставлены права также как и пользователям. Предоставление прав осуществляется командой GRANT (синтаксис команды приведен в лабораторной работе 13).
Одной командой GRANT права могут предоставляться как пользователям, так и ролям.
Например, создание новой роли и предоставление ей прав на выборку и добавление записей в таблице STUDENT выглядит так:
CREATE ROLE ROLE1;
GRANT SELECT, INSERT ON STUDENT TO ROLE1;
1.8. Формирование прав пользователей на основе ролей
Сами по себе роли носят вспомогательный характер. С БД работают пользователи, а не роли, и именно пользователям должны передаваться права на работу с объектами БД. Передача прав на объекты производится командой GRANT (синтаксис команды приведен в лабораторной работе 13). В части передачи пользователям прав, объявленных для ролей, он выглядит следующим образом:
GRANT <имя роли> TO {PUBLIC | <имя пользователя>} [WITH GRANT OPTION];
Например, передача пользователям прав, присвоенных ролям, выглядит так:
GRANT ROLE1 TO misha, masha, ivan_ivanivich;