Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика Учебник НГТУ Семестр 2.docx
Скачиваний:
85
Добавлен:
27.03.2015
Размер:
4.01 Mб
Скачать

35.2. Классификация бд

← 35.1. История развития БД

36.1. Основные понятия БД →

Навигация по разделу:

  • 35.2.1. Основные функции СУБД

Существует хорошо известное, но трудно реализуемое на практике понятие базы данных как большого по объему хранилища данных, в которое фирма помещает все обрабатываемые ею данные и из которого различные пользователи могут эти данные получить. Такая БД является очень сложной и фактически нереальной. Мы будем понимать под БД совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая будет допускать их использование оптимальным образом для одного или нескольких приложений; данные запоминаются так, чтобы они были независимы от программ, использующих эти данные; для добавления новых или модификации существующих данных, а так же для поиска в БД применяется общий управляемый способ. Данные структурируются таким образом, чтобы была обеспечена возможность дальнейшего наращивания приложений. Рассмотрим основные типы БД. Как уже говорилось, БД является ядром ИС. Тип базы данных определяется типом архитектуры ИС, в которой функционирует БД. Любую ИС образуют три основных элемента ; комплекс аппаратных средств (серверы, рабочие станции, коммуникационное оборудование); сетевая операционная система, обслуживающая совместное использование рабочими станциями ресурсов сети; комплексы прикладных программ («приложения»), которые, собственно, и обеспечивают решение задач пользователя. Основным программным средством работы с БД является система управления базами данных (СУБД).

35.2.1. Основные функции субд

↑ Наверх

СУБД представляет собой программное обеспечение, которое управляет доступом к БД. Это происходит следующим образом:

  1. Пользователь посылает запрос на доступ, применяя определенный язык (обычно, SQL).

  2. СУБД перехватывает запрос и анализирует его (производит анализ прав пользователей на доступ к данным), в результате чего разрешает или запрещает доступ.

  3. В случае невозможности доступа к данным информирует пользователя об этом.

  4. СУБД получает информацию о запрошенной части концептуальной модели.

  5. СУБД запрашивает информацию о местоположении данных в терминах операционной системы.

  6. СУБД дает команду ОС произвести необходимые действия над данными во внешней памяти.

  7. ОС производит необходимые операции (передача информации, удаление и т.д.)

  8. ОС сообщает СУБД о завершении работы.

  9. СУБД сообщает пользователю о результате проделанной работы (в случае запроса данных из БД отображает пользователю необходимые данные).

Рассмотрим основные функции СУБД подробнее:

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

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

  3. Безопасность и целостность данных. СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения правил безопасности и целостности, определенные администратором БД. Понятие «Целостность данных» будет рассмотрено при изучении вопроса создания связей между таблицами в СУБД ACCESS.

  4. Восстановление данных и дублирование. СУБД должна осуществлять необходимый контроль над восстановлением данных и дублированием.

  5. Словарь данных. СУБД должна обеспечить функцию словаря данных. Сам словарь представляет собой определения других объектов системы («данные над данными»).

  6. Производительность. СУБД должна выполнять все указанные выше функции с максимально возможной эффективностью.

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

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

Выходом их данной тупиковой ситуации явилось создание другой модели обработки данных в сети – технологии «клиент-сервер». Основная идея этой модели – разделить ключевые функции по обработке информации между программой-приложением («клиентом») и программой управления базой данных – «сервером». Ранг последнего резко повышается. Он становится сервером баз данных, на который возложена большая часть обязанностей по оптимизации обслуживания, поддержке целостности и безопасности данных, контролю за доступом к данным и т.д. приложению лишь остается правильно сформулировать запрос и оформить выданный сервером результат. Для СУБД архитектура «Клиент-сервер» выглядит следующим образом (Рис.35.1)

Рисунок 35.1 Архитектура «Клиент-сервер»

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

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

Клиенты – это различные приложения, которые выполняются над СУБД: приложения, написанные пользователями, и встроенные приложения, предоставляемые поставщиками СУБД или некоторыми сторонними поставщиками программного обеспечения. Конечно, с точки зрения пользователей, нет разницы между встроенными приложениями и приложениями, написанными пользователями.

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

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

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

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

Т.к. система в целом может быть четко разделена на две части (серверы и клиенты), появляется возможность работы этих двух частей на разных машинах. Иначе говоря, существует возможность распределенной обработки данных. Распределенная обработка предполагает, что отдельные машины можно соединить какой-нибудь коммуникационной сетью таким образом, что определенная задача, обрабатывающая данные, может быть распределена на несколько машин в сети.

← 35.1. История развития БД

36.1. Основные понятия БД →