<<
>>

Базы данных

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

Чтобы различать объекты в базе данных, каждый объект снабжается идентификатором, который его однозначно определяет. Такой идентификатор называется уникальным, или первичным ключом. В качестве первичного ключа используется какой-либо атрибут или комбинация атрибутов (например, табельный номер рабочего или его фамилия, имя, отчество). Все объекты разбиваются на группы - типы объектов с одинаковыми атрибутами. Обозначение множества объектов каждого типа является вторичным ключом. Все объекты этого множества имеют одинаковый вторичный ключ.

Между объектами предметной области могут существовать два типа связей: обязательные и факультативные. Так, между объектами типов «экзамен» и «предмет» (учебная дисциплина) существует обязательная связь «проводится», так как каждый экзамен проводится по некоторому предмету. В то же время для типов «предмет» и «экзамен» связь «имеет» является факультативной, так как экзамены существуют не по всем предметам. Возможны не только парные связи, но и связи любой размерности, например тройные связи между типами объектов «завод», «продукция», «потребитель». Каждый экземпляр такой связи указывает для некоторого завода один из видов производимой им продукции и ее потребителя.

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

302


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

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

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

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


303


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

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

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


304


Функция СУБД по обеспечению целостности данных также состоит в поддержании логической и физической целостности. Логическая целостность, под которой понимается непротиворечивость данных, должна поддерживаться при каждом пополнении или изменении данных и обеспечивается блокировкой ввода неверных данных, проверкой правильности обработки данных, сохранением данных при внешних прерываниях и согласованием данных в базе при всех изменениях. Так, при исключении в базе данных какого- либо предприятия в связи с его ликвидацией должна быть исключена и вся производимая им продукция, а также пересмотрен список потребителей этой продукции; при исключении какого-либо поставщика должны быть исключены и все его будущие поставки и т.п. Поэтому сохранение целостности накладывает жесткие ограничения на допустимые изменения в базе данных, которые называются ограничениями целостности. Различают статические ограничения целостности, имеющиеся для всех состояний базы данных, и динамические, определяющие лишь возможные переходы из одного состояния в другое.

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

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

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


305


вой ситуации, когда две транзакции одновременно блокируют друг у друга ресурсы; имеются способы преодоления этого тупика.

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

Иерархическая модель данных представляет собой множество деревьев, каждое из которых отображает иерархию объектов предметной области относительно одного из объектов, помещенного в корне дерева. Так, для предметной области «вуз» могут быть построены деревья: «вуз - факультеты - кафедры - студенческие группы - студенты», «вуз - корпуса - этажи - помещения - занятость помещений», «кафедра - занимаемые помещения - преподаватели - учебные дисциплины - группы - виды занятий - учебные часы и виды контроля успеваемости», «учебная дисциплина - кафедры - преподаватели - группы - виды занятий - учебные часы и виды контроля успеваемости» и т.д. Иерархическая модель данных отличается простотой, но обладает большой информационной избыточностью. Так, из приведенного выше примера видно, что одна и та же информация (кафедры, преподаватели, группы и др.) будет содержаться во многих деревьях. Большая избыточность информации приводит к излишней загрузке памяти ЭВМ и опасности нарушения целостности данных при изменениях в предметной области.

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


306


ностью, а движение («навигация») по сети регламентируется специальными правилами.

Реляционная модель данных, предложенная в 1970 г. американским ученым Коддом, основана на представлении данных в виде отношений между ними (relation - отношение), изображаемых двумерными прямоугольными таблицами. Кодд показал, что в виде двумерных таблиц можно представить любые, самые общие отношения между данными, в том числе и такие, которые изображаются деревьями (иерархическая модель) или графами (сетевая модель). Однако представление данных таблицами является более естественным и лучше понимается пользователями. Каждая строка таблицы содержит значения (Xi, X2, ..., xn) свойств (атрибутов), которыми обладает некоторый объект данного типа; здесь n - число столбцов в таблице, называемое степенью отношения. Набор (Xi, X2, ., xn) называют кортежем, а множество значений одного атрибута, отвечающее столбцу таблицы, - доменом. Простейшим примером отношений могут служить таблицы учебных планов, помещаемые в студенческих календарных планах.

Можно дать строгое определение отношения следующим образом. Пусть имеются множества значений Si, S2, ..., Sn (не обязательно различных). Тогда отношением R над множествами Si, S2, ., Sn называют множество таких кортежей (Xi, X2, ., xn) из п элементов, что в каждом кортеже

xi еSi, X2 еS2, ..., Xn еSn . (8.19)

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

Работа с данными в базах данных обеспечивается языковыми средствами в виде языка определения данных и языка манипулирования данными. Язык определения данных служит для описания типовых структур данных и правил их композиции, присваивания имен данным, учреждения ключей доступа и правил проверки достоверности данных. Язык манипулирования данными - совокуп-

307



ность средств взаимодействия прикладных программ с СУБД. Обычно указанные языки надстраиваются над некоторым базовым языком программирования. Многие основополагающие идеи организации баз данных и работы с ними, в том числе языковые средства, были заложены в так называемой кодасиловской модели баз данных (CODASYL, Conference on Data System Language, КОДАСИЛ - постоянно действующая конференция по языкам обработки данных).

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

8.2.

<< | >>

Еще по теме Базы данных:

  1. 4.5. Право изготовителя базы данных
  2. Глава 9 Создание экспертной базы данных
  3. 1. Понятие программы для ЭВМ, базы данных и топологии интегральной микросхемы и основные правила их охраны
  4. Социологическое обеспечение доказательной базы журналистского текста
  5. Социологическое обеспечение доказательной базы журналистского текста
  6. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  7. Оценка данных о личности.
  8. 18.4. Права субъекта персональных данных
  9. 2. Регистрация программ, баз данных и охраняемых топологий
  10. Банк данных
  11. 18.7. Уполномоченный по правам субъектов персональных данных
  12. 3. Использование программ для ЭВМ, баз данных и топологий ИМС третьими лицами
  13. Анализ и интерпретация полученных данных
  14. Анализ и интерпретация полученных данных
  15. 4.1. Общие принципы анализа данных