Классификация по способу доступа к бд
Классификацию баз данных по способу доступа иллюстрирует рис. 6.5.
СУБД | ||||
Мэйнфреймовые | Файл-серверные | |||
Клиент-серверные | Встраиваемые | |||
Рис. 6.5. Классификация баз данных по способу доступа
В мэйнфреймовых базах данных пользовательское рабочее место представляет собой текстовый или графический терминал, а вся информация обрабатывается на том же компьютере, где находится СУБД.
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере, а ядро СУБД находится на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком — высокая загрузка локальной сети.
Клиент-серверные СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и при необходимости его можно заменить другим. Недостаток клиент-серверных СУБД состоит в самом факте существования сервера (что
Глава 6. Теория баз данных
плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером.
Встраиваемая СУБД представляет собой программную библиотеку, которая позволяет унифицированным образом хранить большие объемы данных на локальной машине. Доступ к данным может происходить посредством запросов на языке SQL либо путем вызова функций библиотеки из приложения пользователя. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют развертывания сервера.
Классификация по скорости обработки информации
Классификацию баз данных по скорости обработки информации иллюстрирует рис. 6.6.
СУБД | ||
I | ||
I | I | |
Операционные | Хранилища данных |
Рис. 6.6. Классификация баз данных по скорости обработки информации
Операционные (operational), или рабочие (production), базы данных обладают высокими скоростями реакции на запрос, извлечения и представления информации.
Хранилища данных и многомерные хранилища данных (data warehouse, OLAP) — это базы данных с очень большим объемом информации, подготовка представления которой занимает значительный объем времени.
Функции СУБД
Абстракция данньис, управление словарем данных. Функционирование СУБД предусматривает, что определения элементов данных и их отношений (метаданные) хранятся в словаре данных (data dictionary). В свою очередь любые программы получают доступ к данным посредством СУБД. Для поиска необходимых структур данных и их отношений СУБД использует словарь данных, помогая избежать кодирования таких сложных взаимосвязей в каждой программе. Вдобавок любые изменения, которые делаются в структуре базы данных, автоматически регистрируются в словаре данных, что также освобождает программиста от необходимости модифицировать программы доступа к изменившимся структурам данных. СУБД обеспечивает абстракцию данных, тем самым устраняя в системе структурную зависимость и зависимость по данным.
Управление хранением данных. СУБД создает сложные структуры, необходимые для хранения данных, освобождая программистов от определения и программирования физических свойств данных. Современные СУБД обеспечивают хранение
6.1. Общие понятия 177
не только данных, но и связанных с данными экранных форм, схем отчетов, правил проверки данных, кода процедур, систем обработки мультимедиа, форматов изображений, и т. п.
Преобразование и представление данных. СУБД берет на себя задачу структурирования вводимых данных, преобразуя их в форму, удобную для хранения. Поэтому СУБД и в данном случае избавляет человека от рутинной работы по преобразованию логического формата данных в физический формат. Обеспечивая независимость данных, СУБД преобразует логические запросы в команды, определяющие их физическое местоположение и извлечение. Таким образом, СУБД обеспечивает программную независимость и абстракцию данных.
Управление безопасностью. СУБД создает систему безопасности, которая обеспечивает защиту пользователя и конфиденциальность данных внутри БД. Правила безопасности устанавливают, какие пользователи могут получить доступ к базе данных, к каким элементам данных пользователь может получить доступ, какие операции с данными (чтение, добавление, удаление или изменение) может выполнять пользователь.
Управление многопользовательским доступом. СУБД создает сложные структуры, обеспечивающие доступ к данным нескольких пользователей одновременно. Для того чтобы обеспечить целостность и непротиворечивость данных, в СУБД применяются сложные алгоритмы, гарантирующие, что несколько пользователей могут получить одновременный доступ к базе данных без риска нарушить ее целостность.
Управление резервным копированием и восстановлением. В СУБД имеются процедуры резервного копирования и восстановления данных, обеспечивающие их безопасность и целостность. Современные СУБД содержат специальные утилиты, с помощью которых администраторы базы данных могут выполнять регулярные и экстренные процедуры резервного копирования и восстановления данных. Восстановление данных производится после повреждения БД, например, в случае появления сбойного сектора на жестком диске или после аварийного отключения питания. Такая возможность необходима для обеспечения целостности данных.
Управление целостностью данных. В СУБД предусмотрены правила, обеспечивающие целостность данных, что позволяет минимизировать избыточность данных и гарантировать их непротиворечивость. Для обеспечения целостности данных используются их связи, которые хранятся в словаре данных.
Поддержка языка доступа к данным и интерфейсов прикладного программирования. СУБД обеспечивает доступ к данным при помощи языка запросов. Язык запросов — это непроцедурный язык, то есть он предоставляет пользователю возможность определить, что необходимо выполнить, не указывая, как это сделать. В состав языка запросов СУБД входят два основных компонента: язык определения данных (Data Definition Language, DDL) и язык манипулирования данными (Data Manipulation Language, DML). DDL определяет структуры, в которых размещаются данные, a DML позволяет конечным пользователям извлекать данные из
Глава 6. Теория баз данных
БД. СУБД также предоставляет программистам доступ к данным из процедурных языков третьего поколения, таких как COBOL, С, PASCAL и др. В составе СУБД имеются административные утилиты, ориентированные на администраторов и проектировщиков базы данных и предназначенные для внедрения, текущего контроля и обслуживания базы данных.
Интерфейсы взаимодействия с базой данных. Текущее поколение СУБД обеспечивает специальные программы взаимодействия, разработанные для того, чтобы база данных могла принимать запросы конечных пользователей в сетевом окружении. Фактически, возможности взаимодействия конечных пользователей с базой данных являются неотъемлемой составляющей современных СУБД. Например, СУБД предоставляет функции взаимодействия для получения доступа к базе данных, используя в качестве внешнего интерфейса интернет-браузер (Mozilla Firefox, Opera или Internet Explorer). В подобной среде взаимодействие может осуществляться несколькими способами:
□ конечный пользователь может получать ответы на запросы, заполняя экранные
формы с помощью выбранного им браузера;
□ средствами СУБД можно автоматизировать публикацию форм отчетов в Ин
тернете посредством веб-форматирования, что позволяет просматривать отчеты
в любом браузере и др.
Модели данных