
- •Технологии хранения и обработки данных
- •7.1.Основные направления развития методов обработки и хранения данных
- •7.2.Базы данных в электронном маркетинге
- •7.2.1. Базы данных: основные понятия и определения
- •7.2.2.Архитектура баз данных
- •7.2.3.Организационный аспект разработки и сопровождения базы данных
- •7.3.Проектирование баз данных
- •7.3.1.Общие аспекты
- •7.3.2.База данных Интернет-магазина: пример проектирования
- •7.3.3.Концептуальное проектирование
- •7.3.4.Логическое проектирование
- •Иерархическая и сетевая модели данных
- •Реляционная модель данных
- •Достоинства реляционной модели
- •7.3.5.Проект реляционной базы данных Интернет-магазина
- •7.3.6.Физическое проектирование
- •Словарь данных
- •Индексирование
- •Разделение таблиц
- •Условия на значения полей и значения по умолчанию
- •7.4.Реализация реляционных баз данных. Язык sql
- •7.4.1.Имена и типы данных
- •7.4.2.Основные операторы языка sql
- •Операторы создания и конструкции описания объектов
- •Операторы манипулирования данными
- •Предоставление полномочий
- •7.5.Базы данных в компьютерных сетях
- •Базы данных в Интернет
- •7.6.Обзор основных коммерческих систем управлениями базами данных для решения задач маркетинга
- •Субд Oracle
- •Заключение
- •Контрольные вопросы
- •Список литературы, рекомендуемой к Главе 7
- •Список рекомендуемых Интернет-ресурсов
- •Глава 7. Технологии хранения и обработки данных 195
Предоставление полномочий
Пользователь, создающий объекты базы данных обладает всеми полномочиями на эти объекты, то есть может считывать данные, удалять, модифицировать и добавлять строки в таблицы, изменять структуру таблиц.
Он может передать полные или частичные полномочия на вышеперечисленные действия другим пользователям.
Создатель схемы базы данных может передать свои полномочия другому пользователю с помощью конструкции 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-интерфейсы и существует большое количество систем разработки приложений клиентской части. Недостатками является большой поток данных, передаваемых по сети, и отсутствие возможности централизованного администрирования.
В модели распределенной БД данные хранятся как на компьютере-сервере, так и на компьютере-клиенте. При этом в локальной и удаленной базе данных могут храниться различные части единой БД или же локальная и удаленная БД являются синхронизируемыми друг с другом копиями. Системы с распределенной БД обладают большой гибкостью и живучестью, однако сложны в разработке и требуют больших затрат коммуникационных и вычислительных ресурсов.