
- •Технологии хранения и обработки данных
- •Основные направления развития методов обработки и храненияданных
- •Базы данных в электронном маркетинге
- •Базы данных: основные понятия и определения
- •Архитектура баз данных
- •Организационный аспект разработки и сопровождения базы данных
- •Проектирование баз данных
- •Общие аспекты
- •База данных Интернет-магазина: пример проектирования
- •Концептуальное проектирование
- •Логическое проектирование
- •Иерархическая и сетевая модели данных
- •Реляционная модель данных
- •Достоинства реляционной модели
- •Проект реляционной базы данных Интернет-магазина
- •Физическое проектирование
- •Словарь данных
- •Индексирование
- •Разделение таблиц
- •Условия на значения полей и значения по умолчанию
- •Реализация реляционных баз данных. Язык sql
- •Имена и типы данных
- •Основные операторы языка sql
- •Операторы создания и конструкции описания объектов
- •Операторы манипулирования данными
- •Предоставление полномочий
- •Базы данных в компьютерных сетях
- •Базы данных в Интернет
- •Обзор основных коммерческих систем управлениями базами данных для решения задач маркетинга
- •Microsoft sql Server
- •Субд Oracle
- •Заключение
- •Контрольные вопросы
- •Список литературы, рекомендуемой к Главе 7
- •Список рекомендуемых Интернет-ресурсов
- •Оглавление Главы 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лидерами промышленности в области технологии реляционных баз данных сделали его основным стандартным языком баз данных.
Базы данных в компьютерных сетях
Архитектура клиент-сервер является в настоящее время наиболее перспективной и при организации работы в сетях. Рассмотрим структуру распределенной информационной системы, построенной по данной архитектуре. В клиент-серверных СУБД ее программы функционально разделены на две части, называемые сервером и клиентом.
Серверная часть СУБД является основной программой, выполняющей функции управления и защиты данных в базе данных, находящейся на компьютере-сервере. Если вызов функций сервера выполняется на языкеSQL, то он называетсяSQL-сервером. В качестве сервера может использоваться ядро профессиональной реляционной СУБД (Informix,Sybase) или некоторыйSQL-сервер (NovellNetwareSQL,MicrosoftSQLServer).
Клиентская частьСУБД исполняется на компьютере пользователя и обеспечивает интерфейс пользователя с базой данных, а именно: преобразует запросы пользователя в команды запросов к серверной части, а при получении результатов выполняет преобразование и отображение информации. Клиентской программой может быть любая программа, имеющая интерфейс с серверной программой или СУБД (Access,FoxPro,Paradox).
Между клиентской и серверной частями системы возможны различные варианты распределения функций. При этом основные функции СУБД (управление данными; обработка с помощью прикладных программ; пользовательские представления) могут выполняться на одном или нескольких узлах сети. На рис. 7.25 представлены три основные схемы разделения функций и данных между двумя узлами сети.
Модель удаленного представленияиначе называют моделью сервера БД (DBSDataBaseServer). В этой модели функции компьютера-клиента заключаются только в представлении полученной с сервера информации, а все управление и прикладные функции сосредоточены на компьютере-сервере. Приложения реализуются в виде так называемых хранимых процедур. Все основные действия по коллективному доступу к базе данных и обработке выполняются на мощном сервере, а клиентам пересылаются только необходимые данные. Достоинством такого подхода является централизованное администрирование БД и приложений на всех этапах разработки, сопровождения и модификации системы, а также низкая загрузка коммуникационных каналов.
Рис. 7.25 Схемы моделей архитектуры баз данных клиент-сервер
Модель DataBaseServerиспользуется в таких СУБД , какIngress,SybaseиOracle.
Удаленный доступ к данным(RDA - Remote Data Access) характеризуется тем, что обработка и представление данных выполняется на компьютерах пользователей (клиентах). Обращение к серверу производится с помощьюSQL-запросов или вызовом функций специальной библиотекиAPI(ApplicationProgramInterface). Основным достоинством такой схемы является тот факт, что большинство существующих СУБД поддерживаютSQL-интерфейсы и существует большое количество систем разработки приложений клиентской части. Недостатками является большой поток данных, передаваемых по сети, и отсутствие возможности централизованного администрирования.
В модели распределенной БДданные хранятся как на компьютере-сервере, так и на компьютере-клиенте. При этом в локальной и удаленной базе данных могут храниться различные части единой БД или же локальная и удаленная БД являются синхронизируемыми друг с другом копиями. Системы с распределенной БД обладают большой гибкостью и живучестью, однако сложны в разработке и требуют больших затрат коммуникационных и вычислительных ресурсов.