Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
InterBase_-dlya_pechati.doc
Скачиваний:
21
Добавлен:
11.02.2016
Размер:
475.65 Кб
Скачать

Заполнение таблиц базы данных

Перейдем на вкладку Данные (Data). Нажмем кнопку «Плюс» и запишем новые данные: Sahar, kg. (Смотри рисунок 10). Цену вводить не будем. Для сохранения результата – нажмем, помимо Post-кнопки еще кнопку COMMIT & REFRESH. Затем попробуем ввести те же значения на русском – удалось ?

Рис.10 Создание новой записи БД

Рис.11 Первичный ключ таблицы

Зависимых объектов пока у нас нет. Переход на закладку Свойства (Properties) показывает, что кроме таблицы у нас создался первичный индекс (смотри рис .11). Поскольку имени ему мы явно не дали, то он имеет имя, данное ему сервером RDB$Primary3.

Создание ролей и прав доступа к данным

А теперь создадим роль – Student_info, зададим ей права на операции SELECT, INSERT, DELETE, UPDATE, REFERENCES и подключим пользователя student к этой роли. Для этого в окне InteractiveSQL наберите следующий скрипт:

  • CREATE ROLE Student_info;

  • GRANT SELECT, INSERT,DELETE,UPDATE,REFERENCES ON TOVAR TO Student_Info;

  • GRANT student_info TO student;

Давайте выполним скрипт и проверим права, которые имеют пользователи на операции с таблицей TOVAR. Они должны соответствовать тому, что показано на рисунке 12

Рис.12 Список Ролей и позволенных для них действий дл таблицы TOVAR

Закончим сеанс пользователя БД SYSDBA и попробуем соединиться с ней заново как Student без указания роли.. Для этого выберем в Меню Database -Connect As… , введем Имя пользователя и пароль. Роль - не задаем. Мы можем соединиться с БД, узнать имена ее объектов (таблиц), но прочитать данные таблицы не можем.

Откроем таблицу Tovar и на вкладке Data попробуем внести изменения в данные. Они заблокированы.

Запустим ISQL и выполним

SELECT * FROM Tovar

А затем

DELETE FROM Tovar

Результат показан на рисунке 13.

Рис.13 Сообщение о запрете удаления записей из таблицы TOVAR

Зарегистрируемся снова как SYSDBA и выполним SQL-оператор, который даст ограниченные права пользователю student.

  • GRANT SELECT ON TOVAR TO Student

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

Рис.14 Подключение к БД с определенными правами

Отсоединимся от БД и попробуем соединиться с ней заново как Student в роли Student_info. Для этого выберем в Меню Database-Connect As.. , введем Имя пользователя, пароль и роль -Student_info.

Подключимся к БД Tovar как пользователь Student, выполняющий роль Student_Info.

Откроем ISQL и введем -оператор добавления записей:

INSERT INTO tovar (Tov_Name,Tov_EdIzm,Tov_Cena)

Values('Кока-Кола','банка',1.9)

Затем выполним запрос и получим следующий результат:

Рис.15 Чтение записей БД с помощью Interactive SQL

Работая как пользователь Student, выполняющий роль Student_Info мы можем добавлять и изменять записи.

Закончим сеанс работы с БД ( Disconnect ) и соединимся опять, но уже как Student без задания какой-либо роли.

Вывод:

В зависимости от роли пользователь получает разные права на объекты БД. Права получаются в момент соединения пользователя с БД, при этом Имя пользователя и пароль - одни и те же. Роли как правило задаются для групп пользователей, выполняющих одинаковые задачи при работе с БД. Кроме таблиц права задаются на Просмотры и Процедуры.

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