СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
·
Структурные элементы базы
данных
·
Функциональные
возможности СУБД
Структурирование — это введение соглашений о способах
представления данных.
База данных (БД) — это поименованная совокупность
структурированных данных, относящихся к определенной предметной области. Система управления базами данных (СУБД)
— это комплекс программных и языковых средств, необходимых для создания баз
данных, поддержания их в актуальном состоянии и организации поиска в них
необходимой информации.
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной
системы. Если эта вычислительная система является компонентом сети ЭВМ,
возможен распределенный доступ к такой базе. Такой способ использования баз
данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся
или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной
сети. Работа с такой базой осуществляется с помощью системы управления
распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы
централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
• файл-сервер;
• клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом
предполагает выделение одной из машин сети в качестве центральной (сервер
файлов). На такой машине хранится совместно используемая централизованная БД.
Все другие машины сети выполняют функции рабочих станций, с помощью которых
поддерживается доступ пользовательской системы к централизованной базе данных.
Файлы базы данных в соответствии с пользовательскими запросами передаются на
рабочие станции, где в основном и производится обработка. При большой
интенсивности доступа к одним и тем же данным производительность информационной
системы падает. Пользователи могут создавать также на рабочих станциях
локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо
хранения централизованной базы данных центральная машина (сервер базы данных)
должна обеспечивать выполнение основного объема обработки данных. Запрос на
данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение
данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от
сервера к клиенту. Спецификой архитектуры клиент-сервер является использование
языка запросов SQL.
Понятие базы данных
тесно связано с такими понятиями структурных элементов, как поле, запись, файл
(таблица).
Поле — элементарная единица логической организации данных,
которая соответствует неделимой единице информации — реквизиту. Для описания
поля используются следующие характеристики:
имя, например. Фамилия, Имя, Отчество, Дата рождения;
тип, например, символьный, числовой, календарный;
длина, например, 15 байт, причем будет определяться
максимально возможным количеством символов;
точность для числовых данных, например два десятичных знака для
отображения дробной части числа.
Запись — совокупность логически связанных полей. Экземпляр
записи — отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) — совокупность экземпляров записей одной
структуры.
Описание логической
структуры записи файла содержит последовательность расположения полей записи и
их основные характеристики.
В структуре записи
файла указываются поля, значения которых являются ключами:
Ядром любой базы данных
является модель данных. Модель данных представляет собой множество структур
данных, ограничений целостности и операций манипулирования данными. С помощью
модели данных могут быть представлены объекты предметной области и взаимосвязи
между ними.
Модель данных — совокупность структур данных и операций их
обработки.
СУБД основывается на
использовании иерархической, сетевой или реляционной
модели, на комбинации этих моделей или на некотором их подмножестве.
Рассмотрим три основных
типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая структура
представляет совокупность элементов, связанных между собой по определенным
правилам. Объекты, связанные иерархическими отношениями, образуют
ориентированный граф (перевернутое
дерево).
К основным понятиям
иерархической структуры относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов
данных, описывающих некоторый объект. На схеме иерархического дерева узлы
представляются вершинами графа. Каждый узел на более низком уровне связан
только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево
имеет только одну вершину (корень дерева), не подчиненную никакой другой
вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные)
узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе
данных определяется числом корневых записей.
В сетевой структуре при
тех же основных понятиях (уровень, узел, связь) каждый элемент может быть
связан с любым другим элементом.
Эти модели
характеризуются простотой структуры данных, удобным для пользователя табличным
представлением и возможностью использования формального аппарата алгебры
отношений и реляционного исчисления для обработки данных.
Реляционная модель
ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой
двумерный массив и обладает следующими свойствами:
• каждый элемент таблицы — один элемент
данных;
• все столбцы в таблице однородные, т.е. все
элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
• каждый столбец имеет уникальное имя;
• одинаковые строки в таблице отсутствуют;
• порядок следования строк и столбцов может быть
произвольным.
Отношения представлены
в виде таблиц, строки которых
соответствуют кортежам или записям, а
столбцы — атрибутам отношений, доменам, полям.
Поле, каждое значение
которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если
записи однозначно определяются значениями нескольких полей, то такая таблица
базы данных имеет составной ключ.
Информационный объект — это описание некоторой
сущности (реального объекта, явления, процесса, события) в виде совокупности
логически связанных реквизитов (информационных
элементов).
Нормализация отношений — формальный аппарат ограничений на формирование
отношений (таблиц), который позволяет устранить дублирование, обеспечивает
непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение
(ввод, корректировку) базы данных.
Все информационные
объекты предметной области связаны между собой. Различаются связи нескольких типов, для которых
введены следующие обозначения:
• один к одному (1:1);
• один ко многим (1 :М);
• многие ко многим (М:М).
Связь один к одному (1:1) предполагает, что в
каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного
объекта В и наоборот.
При
связи один ко многим (1:М) одному экземпляру
информационного объекта А соответствует 0, 1 или более
экземпляров объекта В, но каждый
экземпляр объекта В связан не более чем с 1 экземпляром объекта А.
Связь многие ко многим (М:М) предполагает, что
в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и
наоборот.
Архитектура СУБД
Различают
концептуальный, внутренний и внешний уровни представления данных баз данных,
которым соответствуют модели аналогичного назначения.
Концептуальный уровень
соответствует логическому аспекту представления данных предметной области в
интегрированном виде. Концептуальная
модель состоит из множества экземпляров различных типов данных,
структурированных в соответствии с требованиями СУБД к логической структуре
базы данных [б].
Внутренний уровень
отображает требуемую организацию данных в среде хранения и соответствует
физическому аспекту представления данных. Внутренняя
модель состоит из отдельных экземпляров записей, физически хранимых во
внешних носителях.
Внешний уровень
поддерживает частные представления данных, требуемые конкретным пользователям.
Внешняя модель является подмножеством
концептуальной модели. Возможно пересечение внешних моделей по данным. Частная
логическая структура данных для отдельного приложения (задачи) или пользователя
соответствует внешней модели или подсхеме БД. С помощью внешних моделей
поддерживается санкционированный доступ к данным БД приложений (ограничен
состав и структура данных концептуальной модели БД, доступных в приложении, а
также заданы допустимые режимы обработки этих данных: ввод, редактирование,
удаление, поиск).
Функциональные возможности СУБД
Системой управления
базами данных называют программную
систему, предназначенную для создания на ЭВМ общей базы данных,
используемой для решения множества задач. Подобные системы служат для
поддержания базы данных в актуальном состоянии и обеспечивают эффективный
доступ пользователей к содержащимся в ней данным в рамках предоставленных
пользователям полномочий.
СУБД предназначена для
централизованного управления базой данных в интересах всех работающих в этой
системе.
По степени
универсальности различают два класса СУБД:
• системы общего назначения;
• специализированные системы.
СУБД общего назначения
не ориентированы на какую-либо предметную область или на информационные потребности какой-либо
группы пользователей. Каждая система такого рода реализуется как программный
продукт, способный функционировать на некоторой модели ЭВМ в определенной
операционной системе и поставляется многим пользователям как коммерческое
изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой
данных. Использование СУБД общего назначения в качестве инструментального
средства для создания автоматизированных информационных систем, основанных на
технологии баз данных, позволяет существенно сокращать сроки разработки,
экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности и даже определенная функциональная избыточность.
Специализированные СУБД
создаются в редких случаях при невозможности или нецелесообразности
использования СУБД общего назначения.
СУБД общего назначения
— это сложные программные комплексы, предназначенные для выполнения всей
совокупности функций, связанных с созданием и эксплуатацией базы данных
информационной системы.
Рынок программного
обеспечения ПК располагает большим числом разнообразных по своим функциональным
возможностям коммерческих систем управления базами данных общего назначения, а
также средствами их окружения практически для всех массовых моделей машин и
для различных операционных систем.
Производительность СУБД
оценивается:
• временем выполнения запросов;
• скоростью поиска информации в
неиндексированных полях;
• временем выполнения операций импортирования
базы данных из других форматов;
• скоростью создания индексов и выполнения
таких массовых операций, как обновление, вставка, удаление данных;
• максимальным числом параллельных обращений к
данным в многопользовательском режиме;
• временем генерации отчета.
На производительность
СУБД оказывают влияние два фактора:
• СУБД, которые следят за соблюдением
целостности данных, несут дополнительную нагрузку, которую не испытывают другие
программы;
• производительность собственных прикладных
программ сильно зависит от правильного проектирования и построения базы
данных.
Самые быстрые
программные изделия отнюдь не обладают самыми развитыми функциональными
возможностями на уровне процессора СУБД.
Эта характеристика
подразумевает наличие средств, позволяющих удостовериться, что информация в
базе данных всегда остается корректной и полной. Должны быть установлены
правила целостности, и они должны храниться вместе с базой данных и соблюдаться
на глобальном уровне. Целостность данных
должна обеспечиваться независимо от того, каким образом данные заносятся в
память (в интерактивном режиме, посредством импорта или с помощью специальной
программы).
К средствам обеспечения
целостности данных на уровне СУБД относятся:
• встроенные средства для назначения
первичного ключа, в том числе средства для работы с типом полей с
автоматическим приращением, когда СУБД самостоятельно присваивает новое
уникальное значение;
• средства поддержания ссылочной целостности,
которые обеспечивают запись информации о связях таблиц и автоматически
пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют
хорошо разработанный процессор СУБД для реализации таких возможностей, как
уникальность первичных ключей, ограничение (пресечение) операций и даже
каскадное обновление и удаление информации. В таких системах проверка
корректности , назначаемая полю или таблице, будет
проводиться всегда после изменения данных, а не только во время ввода
информации с помощью экранной формы. Это свойство можно настраивать для каждого
поля и для записи в целом, что позволяет контролировать не только значения
отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Некоторые СУБД
предусматривают средства обеспечения безопасности
данных. Такие средства обеспечивают выполнение следующих операций:
• шифрование прикладных программ;
• шифрование данных;
• защиту паролем;
• ограничение уровня доступа (к базе данных, к
таблице, к словарю, для пользователя).
Работа в многопользовательских средах
Практически все
рассматриваемые СУБД предназначены для работы в многопользовательских средах, но обладают для этого различными
возможностями.
Обработка данных в
многопользовательских средах предполагает выполнение программным продуктом
следующих функций:
• блокировку базы данных, файла, записи, поля;
• идентификацию станции, установившей блокировку;
• обновление информации после модификации;
• контроль за
временем и повторение обращения;
• обработку транзакций (транзакция —
последовательность операций пользователя над базой данных, которая сохраняет ее
логическую целостность);
• работу с сетевыми системами (LAN Manager, NetWare, Unix).
Импорт-экспорт
Эта характеристика
отражает:
• возможность обработки СУБД информации,
подготовленной другими программными средствами;
• возможность использования другими
программами данных, сформированных средствами рассматриваемой СУБД.
Особый интерес
представляют следующие форматы файлов: ASCII-файлы, .DBF, .WK*,
.XLS.
Все рассматриваемые
здесь СУБД обладают хорошими возможностями импорта-экспорта данных.
Доступ к данным посредством языка SQL
Язык запросов SQL (Structured'Query Language) реализован в целом ряде популярных СУБД для
различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего
широкого использования является международным стандартом языка запросов. Язык SQL
предоставляет развитые возможности как конечным пользователям, так и специалистам
в области обработки данных .
Совместимость с
SQL-системами играет большую роль, когда предполагается проведение работы с
корпоративными данными. СУБД хорошо подготовленные к
работе в качестве средств первичной обработки информации для SQL-систем, могут
открыть двери в системы с архитектурой клиент-сервер.
СУБД имеют доступ к
данным SQL в следующих случаях:
• базы данных совместимы с ODBC
(Open Database Connectivity — открытое соединение баз данных);
• реализована естественная поддержка SQL-баз
данных;
• возможна реализация SQL-запросов локальных
данных.
Возможности запросов и инструментальные средства разработки прикладных
программ
СУБД, ориентированные
на разработчиков, обладают развитыми средствами для создания приложений. К
элементам инструментария разработки приложений можно отнести:
• мощные языки программирования;
• средства реализации меню, экранных форм
ввода-вывода данных и генерации отчетов;
• средства генерации приложений (прикладных
программ);
• генерацию исполнимых файлов.
Функциональные
возможности моделей данных доступны пользователю СУБД благодаря ее языковым
средствам.
Языковые средства
используются для выполнения двух основных функций:
• описания представления базы данных ;
• выполнения операций манипулирования данными.
Первая из этих функций
обеспечивается языком описания
(определения) данных (ЯОД). Описание базы данных средствами ЯОД называется
схемой базы данных. Оно включает описание
структуры базы данных и налагаемых на нее ограничений целостности в рамках тех
правил, которые регламентированы моделью данных используемой СУБД. ЯОД
некоторых СУБД обеспечивают также возможности задания ограничений доступа к
данным или полномочий пользователей.
ЯОД не всегда
синтаксически оформляется в виде самостоятельного языка. Он может быть
составной частью единого языка данных, сочетающего возможности определения данных
и манипулирования данными.
Язык манипулирования данными (ЯМД) позволяет запрашивать
предусмотренные в системе операции над данными из базы данных.
Имеются многочисленные
примеры языков СУБД, объединяющих возможности описания данных и
манипулирования данными в единых синтаксических рамках. Популярным языком
такого рода является реляционный язык SQL.
Все рассматриваемые
программные средства обладают автоматизированными средствами создания экранных
форм, запросов, отчетов, меню, наклеек, стандартных писем. Для создания
указанных визуальных и структурных объектов ряд СУБД использует специальные
инструментальные средства, называемые "мастерами" или "
волшебниками"
Типовая структура интерфейса
Несмотря на особенности
СУБД совокупность команд, предоставляемых в распоряжение пользователю
некоторой усредненной системой управления базами данных, может быть разбита на
следующие типовые группы:
команды для работы с
файлами;
команды редактирования;
команды форматирования;
команды для работы с
окнами;
команды для работы в
основных режимах СУБД (таблица, форма, запрос, отчет);
получение справочной
информации.
Каждая конкретная СУБД
имеет свои особенности, которые необходимо учитывать.
В качестве основных этапов обобщенной технологии работы с СУБД, можно
выделить следующие:
• создание структуры таблиц базы данных;
• ввод и редактирование данных в таблицах;
• обработка данных, содержащихся в таблицах;
• вывод информации из базы данных.
Рассмотрим выделенные
этапы более подробно.
Создание структуры таблиц базы данных
При формировании новой
таблицы базы данных работа с СУБД начинается с создания структуры таблицы. Этот
процесс включает определение перечня полей, из которых
состоит каждая запись таблицы, а также типов и размеров полей.
Практически все
используемые СУБД хранят данные следующих типов: текстовый (символьный),
числовой, календарный, логический, примечание. Некоторые СУБД формируют поля
специального типа, содержащие уникальные номера записей и используемые для
определения ключа.
СУБД, предназначенные
для работы в Windows, могут формировать
поля типа объекта OLE, которые используются
для хранения рисунков, графиков, таблиц.
Заполнение таблиц
данными возможно как непосредственным вводом данных, так и в результате выполнения программ и запросов.
Практически все СУБД
позволяют вводить и корректировать данные в таблицах двумя способами:
• с помощью
предоставляемой по умолчанию стандартной формы в виде таблицы;
• с помощью экранных форм, специально созданных для этого пользователем.
СУБД, работающие с Windows, позволяют вводить в созданные экранные формы рисунки, узоры, кнопки.
Возможно построение форм, наиболее удобных для работы пользователя, включающих
записи различных связанных таблиц базы данных.
Конечный пользователь
получает при работе с СУБД такое удобное средство обработки информации, как
запросы. Запрос представляет собой
инструкцию на отбор записей.
Большинство СУБД
разрешают использовать запросы следующих типов:
• запрос-выборка, предназначенный для отбора
данных, хранящихся в таблицах, и не изменяющий эти данные;
• запрос-изменение,
предназначенный для изменения или перемещения данных; к этому типу запросов
относятся: запрос на добавление записей, запрос на удаление записей, запрос на
создание таблицы, запрос на обновление;
• запрос с параметром, позволяющий определить
одно или несколько условий отбора во время выполнения запроса.
Самым распространенным
типом запроса является запрос на выборку. Результатом выполнения запроса
является таблица с временным набором данных (динамический набор). Записи
динамического набора могут включать поля из одной или нескольких таблиц базы
данных. На основе запроса можно построить отчет или форму.
Вывод информации из базы данных
Каждый пользователь,
работающий с СУБД, имеет возможность использования специальных средств
построения отчетов для вывода данных.
Используя специальные средства создания отчетов, пользователь получает
следующие дополнительные возможности вывода данных:
• включать в отчет выборочную информацию из
таблиц базы данных;
• добавлять информацию, не содержащуюся в базе
данных;
• при необходимости выводить итоговые данные
на основе информации базы данных;
• располагать выводимую в отчете информацию в
любом, удобном для пользователя виде (вертикальное или горизонтальное
расположение полей);
• включать в отчет информацию из разных
связанных таблиц базы данных.