СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

 

·        Классификация баз данных

·        Структурные элементы базы данных

·        Виды моделей данных

·        Функциональные возможности СУБД

·        Основы технологии работы в СУБД

 

Структурирование — это введение соглашений о способах представления данных.

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

 

Классификация баз данных

По технологии обработки данных базы данных подразделяются на централизованные и распределенные.

Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто приме­няют в локальных сетях ПК.

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

По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.

Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:

   файл-сервер;

   клиент-сервер.

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

Клиент-сервер. В этой концепции подразумевается, что помимо хранения централи­зованной базы данных центральная машина (сервер базы данных) должна обеспечивать вы­полнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов 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, позволяют вводить в созданные экранные формы ри­сунки, узоры, кнопки. Возможно построение форм, наиболее удобных для работы пользова­теля, включающих записи различных связанных таблиц базы данных.

Обработка данных, содержащихся в таблицах

Конечный пользователь получает при работе с СУБД такое удобное средство обработ­ки информации, как запросы. Запрос представляет собой инструкцию на отбор записей.

Большинство СУБД разрешают использовать запросы следующих типов:

   запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные;

   запрос-изменение, предназначенный для изменения или перемещения данных; к этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;

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

Самым распространенным типом запроса является запрос на выборку. Результатом выполнения запроса является таблица с временным набором данных (ди­намический набор). Записи динамического набора могут включать поля из одной или не­скольких таблиц базы данных. На основе запроса можно построить отчет или форму.

Вывод информации из базы данных

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

   включать в отчет выборочную информацию из таблиц базы данных;

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

   при необходимости выводить итоговые данные на основе информации базы данных;

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

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