Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 61.doc
Скачиваний:
2
Добавлен:
15.07.2019
Размер:
44.54 Кб
Скачать

Тема 6. Технологии обработки баз данных

Лекция: Классификация баз данных по технологии обработки.

За всю историю развития баз данных было разработано множество способов хранения, структуризации и обработки информации. По технологии обработки базы данных подразделяются следующим образом:

Распределенная база данных. Этот способ обработки требует использования нескольких серверов, на которых может храниться пересекающаяся или даже дублирующаяся информация. Для работы с такой базой данных используется система управления распределенными базами данных (СУРБД).

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

Файл-сервер. Эта архитектура предполагает использование выделенного компьютера в качестве сервера файлов. На этом сервере хранятся файлы базы данных, которые по запросу пользователей копируются на их локальные компьютеры. Там и проводится вся основная обработка данных. После того как пользователи выполнят необходимые изменения данных, они копируют файлы обратно на файл-сервер, где другие пользователи, в свою очередь, могут снова их использовать. Кроме того, каждый пользователь может создавать на локальном компьютере свои собственные базы данных, используемые им монопольно. При использовании архитектуры «файл-сервер» производительность системы резко падает с ростом числа пользователей.

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

Компьютерная архитектура клиент/сервер – это тип распределенной модели для хранения данных, получения к ним доступа и их обработки. В распределенной системе множество компьютеров вместе выполняют определенный набор операций. Система клиент/сервер использует, по крайней мере, два компьютера. Объем работы, выполняемый клиентом и сервером, определяется их возможностями. Их взаимодействия представляет собой форму групповой работы, которая позволяет достигать высокой эффективности и скорости во всех операциях. Клиент/сервер, как следует из названия, подразумевает неравное деление нагрузки при обработке данных, т. к. их возможности отличаются.

Для соединения клиентов и сервера требуется сетевое программное обеспечение, которое встроено в ОС Win NT.

Win NT предоставляет возможность выбора сетевого прототипа для связи между клиентом и сервером.

В системах клиент/сервер приложение, работающее на сервере, отвечает за создание и поддержку объектов баз данных в виде таблиц и индексов. Сервер поддерживает целостность ссылок и безопасность, а также обеспечивает возможность восстановления данных в случае широкого спектра отказов.

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

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

Система клиент/сервер – это не только база данных, которая находится в одном месте (ПК), но и доступна с нескольких рабочих станций.

Система клиент/сервер не может быть создана из таблиц, например Microsoft Access, так как здесь нет того интеллектуального языка, который мог бы обрабатывать базу данных независимо от приложения. Логика, контролирующая данные, подчиняется указаниям приложения клиенткой стороны.

Типичные задачи клиенткой стороны:

вывод информации для пользователя;

манипулирование информацией в базе данных и на экране пользователя;

отображение отчетов;

обеспечение выполнения операций, прерванных пользователем;

клиентское приложение должно работать только с результирующим набором данных, а не со всеми доступными данными.

Типичные задачи серверной стороны.

любая операция, которая запускается на сервере, никогда не должна требовать для своего завершения участия пользователя;

ядро базы данных несет ответственность за хранение, обновление и извлечение информации;

посредством правил (rules) и примеров (trigger) определяет функции, автоматически выполняемые сервером, на основе хранящейся в базе данных значений.

Виды привилегий

Привилегии в СУБД можно подразделить на две категории: привилегии безопасности и привилегии доступа. Привилегии безопасности позволяют выполнять административные действия. Привилегии доступа, в соответствии с названием, определяют права доступа субъектов к определенным объектам.

Привилегии безопасности

Привилегии безопасности всегда выделяются конкретному пользователю (а не группе, роли или всем) во время его создания (оператором CREATE USER) или изменения характеристик (оператором ALTER USER). Таких привилегий пять:

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

  • createdb - право на создание и удаление баз данных. Этой привилегией, помимо администратора сервера, должны обладать пользователи, которым отводится роль администраторов отдельных баз данных.

  • operator - право на выполнение действий, которые традиционно относят к компетенции оператора. Имеются в виду запуск и остановка сервера, сохранение и восстановление информации. Помимо администраторов сервера и баз данных этой привилегией целесообразно наделить также администратора операционной системы.

  • maintain_locations - право на управление расположением баз, администраторы сервера баз данных и операционной системы.

  • trace - право на изменение состояния флагов отладочной трассировки. Данная привилегия полезна администратору сервера баз данных и другим знающим пользователям при анализе сложных, непонятных ситуаций.