Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GL_7.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

Предоставление полномочий

Пользователь, создающий объекты базы данных обладает всеми полномочиями на эти объекты, то есть может считывать данные, удалять, модифицировать и добавлять строки в таблицы, изменять структуру таблиц.

Он может передать полные или частичные полномочия на вышеперечисленные действия другим пользователям.

Создатель схемы базы данных может передать свои полномочия другому пользователю с помощью конструкции AUTHORIZATION:

CREATE SCHEMA internet_shop AUTHORIZATION admin

Здесь передаются все права на схему пользователю с идентификатором admin.

Существует шесть типов полномочий на работу с таблицами, который создатель таблиц может предоставить другим пользователям (табл. 2.7).

Таблица 7.7. Типы полномочий доступа

Тип полномочия

Описание

SELECT

Разрешается читать записи из таблицы или представления

INSERT

Разрешается вводить новые строки

UPDATE

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

DELETE

Разрешается удалять строки

REFERENCES

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

ALL PRIVILEGES

Предоставляются все полномочия из списка

Информация о полномочиях доступа хранится в словаре данных. При попытке пользователя произвести манипулирование данными СУБД просматривает словарь данных, определяет полномочия пользователя на указанное действие с конкретной таблицей или представлением, и, только если эти полномочия предоставлены, выполняет обращение к базе данных.

Для предоставления полномочий используется оператор GRANT. Чтобы, например, предоставить полномочия по выборке, добавлению и изменению информации о курьерах менеджеру по кадрам, нужно применить оператор:

GRANT SELECT, UPDATE

ON messenger TO personnel_manager

Здесь пользователю с идентификатором personnel_manager предоставляются указанные права на работу с таблицей курьеров messenger.

Если нужно предоставить какие-то права всем пользователям базы данных, то используется операнд PUBLIC:

GRANT SELECT

ON book TO PUBLIC

В данном примере разрешается предоставлять возможность выборки информации по книгам всем пользователям базы данных.

В заключение отметим, что язык SQL является основой многих СУБД, так как он не зависит от специфики компьютерных технологий. Он позволяет принимать запросы от других компонентов СУБД и пользовательских приложений. Язык SQL является мощным инструментом, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных. Поддержка SQL лидерами промышленности в области технологии реляционных баз данных сделали его основным стандартным языком баз данных.

7.5.Базы данных в компьютерных сетях

Архитектура клиент-сервер является в настоящее время наиболее перспективной и при организации работы в сетях. Рассмотрим структуру распределенной информационной системы, построенной по данной архитектуре. В клиент-серверных СУБД ее программы функционально разделены на две части, называемые сервером и клиентом.

Серверная часть СУБД является основной программой, выполняющей функции управления и защиты данных в базе данных, находящейся на компьютере-сервере. Если вызов функций сервера выполняется на языке SQL, то он называется SQL-сервером. В качестве сервера может использоваться ядро профессиональной реляционной СУБД (Informix, Sybase) или некоторый SQL-сервер (Novell Netware SQL, Microsoft SQL Server).

Клиентская часть СУБД исполняется на компьютере пользователя и обеспечивает интерфейс пользователя с базой данных, а именно: преобразует запросы пользователя в команды запросов к серверной части, а при получении результатов выполняет преобразование и отображение информации. Клиентской программой может быть любая программа, имеющая интерфейс с серверной программой или СУБД (Access, FoxPro, Paradox).

Между клиентской и серверной частями системы возможны различные варианты распределения функций. При этом основные функции СУБД (управление данными; обработка с помощью прикладных программ; пользовательские представления) могут выполняться на одном или нескольких узлах сети. На рис. 7.25 представлены три основные схемы разделения функций и данных между двумя узлами сети.

Модель удаленного представления иначе называют моделью сервера БД (DBS  DataBase Server). В этой модели функции компьютера-клиента заключаются только в представлении полученной с сервера информации, а все управление и прикладные функции сосредоточены на компьютере-сервере. Приложения реализуются в виде так называемых хранимых процедур. Все основные действия по коллективному доступу к базе данных и обработке выполняются на мощном сервере, а клиентам пересылаются только необходимые данные. Достоинством такого подхода является централизованное администрирование БД и приложений на всех этапах разработки, сопровождения и модификации системы, а также низкая загрузка коммуникационных каналов.

Рис. 7.25 Схемы моделей архитектуры баз данных клиент-сервер

Модель DataBase Server используется в таких СУБД , как Ingress, Sybase и Oracle.

Удаленный доступ к данным (RDA - Remote Data Access) характеризуется тем, что обработка и представление данных выполняется на компьютерах пользователей (клиентах). Обращение к серверу производится с помощью SQL-запросов или вызовом функций специальной библиотеки API (Application Program Interface). Основным достоинством такой схемы является тот факт, что большинство существующих СУБД поддерживают SQL-интерфейсы и существует большое количество систем разработки приложений клиентской части. Недостатками является большой поток данных, передаваемых по сети, и отсутствие возможности централизованного администрирования.

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

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