Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.pdf
Скачиваний:
240
Добавлен:
26.03.2015
Размер:
6.48 Mб
Скачать

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

4.1.Базы данных в структуре информационных систем

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

§ввод данных об объектах некоторой предметной области;

§хранение и защита данных во внешней памяти вычислительной системы;

§дополнение, удаление, изменение, сортировка и выборка введённых данных;

§обобщение данных и составление нужных отчётов с предоставлением пользо- вателю удобного интерфейса.

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

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

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

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

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

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

§актуальность база должна постоянно обновляться, т. е. в каждый момент со- ответствовать состоянию отражаемого ею объекта;

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

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

§планирование разработки БД;

§определение требований к системе;

§сбор и анализ требований пользователей;

§проектирование базы данных:

концептуальное проектирование БД;

логическое проектирование БД;

физическое проектирование БД;

§разработка приложений;

§реализация;

§загрузка данных и тестирование;

§эксплуатация и сопровождение.

163

В современной технологии баз данных предполагается, что создание баз данных, их

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

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

4.2. Классификация баз данных и виды моделей данных

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

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

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

Предметная область баз данных рассматривается как объектная система и имеет сле- дующие составляющие:

§объект;

§средство;

§время;

§связь.

Объект это то, о чём накапливается информация в БД и что может быть однозначно идентифицировано. Объекты могут быть атомарными и составными. Для составного объек- та определяется его внутренняя структура. Каждый объект в текущий момент времени взаи- модействует с другими объектами определённым набором средств и связей.

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

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

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

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

164

Имя поля1

Имя поля2

Имя поля3

Имя поля4

Файл

Запись

Поле Рис. 4.1. Основные структурные элементы базы данных

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

В основе любой базы данных лежит модель данных, т. е. их информационная струк- тура. Модель базы данных это множество структур данных и операций манипулирования с этими структурами. Если БД не содержит никаких внешних данных, в ней всё равно имеется информация. Эта информация структура самой базы. Структура определяет методы зане- сения данных и хранения их в базе.

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

§объектные модели данных;

§модели данных на основе записей;

§физические модели данных.

Наибольшее распространение получили модели данных на основе записей. В них БД состоит из нескольких записей фиксированного формата и разных типов. Информационные модели данных на основе записей подразделяются на:

§теоретико-графовые (ТГ):

иерархические модели;

сетевые модели;

§теоретико-множественные (ТМ):

реляционные модели.

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

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

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

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

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

165

фирмы IBM – Information Management System (IMS), первая версия которой появилась в 1968 г.

Основными информационными единицами в иерархической системе данных являют-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ся сегмент и поле. Поле данных определяет-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ректор

 

 

 

 

 

ся как наименьшая неделимая единица дан-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ных, доступная пользователю. Сегмент обра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зуется из значений полей данных. В иерар-

 

Заведующий

 

 

Заведующий

 

Заведующий

хической модели вершине графа-дерева со-

 

кафедрой1

 

 

кафедрой2

 

кафедройn

ответствует сегмент,

а дугам

типы связей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

предок-потомок”.

Каждый

сегмент-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потомок должен иметь в точности одного

 

Сотруд-

 

 

 

Сотруд-

 

 

Сотруд-

 

 

предка.

 

 

 

 

 

 

 

 

 

 

 

 

ник1

 

 

 

ник1

 

 

ник1

 

 

В целом иерархическая БД состоит из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

упорядоченного набора нескольких экземп-

 

Сотруд-

 

 

 

 

Сотруд-

 

 

Сотруд-

 

 

 

ляров одного типа дерева. При этом граф-

 

ник2

 

 

 

 

ник2

 

 

ник2

 

 

 

дерево обладает следующими свойствами:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.................................................................................................

 

§

имеется только одна вершина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

графа корень, в которую не

 

Сотруд-

 

 

 

 

Сотруд-

 

 

Сотруд-

 

 

 

 

 

никm

 

 

 

 

никm

 

 

никm

 

 

 

 

заходит ни одно ребро;

 

 

Рис. 4.2. Иерархическая БД

 

 

 

 

§

в вершины n -го уровня захо-

 

 

 

 

 

 

 

дит одно ребро (n −1)-го уров-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ня, исходят из этих вершин ноль, один или несколько порождённых вершин, называемых потомками;

§единственный проход к порождённой вершине лежит через её исходную вер- шину;

§каждый потомок имеет только одного предка;

§нет замкнутых петель и циклов;

§сегмент, у которого нет потомков, называется листовым сегментом.

При работе с древовидной структурой используются два метода доступа ко всем вер- шинам внутри дерева: прямой порядок обхода дерева (от корня с нисходящим обходом под- деревьев до нужного уровня) и обратный порядок обхода дерева ( от n -го уровня с восходя- щим обходом поддеревьев до корня).

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

 

 

 

 

 

 

 

 

 

 

ра

представляет

собой

произвольный

 

 

 

 

 

 

 

 

 

 

Студент1

 

 

Студент2

 

Студент n

граф, здесь каждый элемент может быть

 

 

 

 

 

 

 

 

 

 

связан с любым другим элементом (см.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рис. 4.3).

 

 

Футбол

 

Хоккей

 

 

Бег

 

Стрельба

 

Произвольный граф состоит из

 

 

 

 

вершин (узлов), соединённых ребрами.

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.3. Сетевая БД

 

В

сетевой модели узлы

представляют

 

 

 

собой объекты в

виде

типов записей

 

 

 

 

 

 

 

 

 

 

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

Типичным представителем СУБД, использующих сетевую модель данных, является

Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназна-

ченная для использования на машинах фирмы IBM.

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

166

 

 

 

 

 

 

 

 

 

 

 

внутри записи или

Элемент

 

 

Агрегат

 

Запись

 

Набор

 

 

База

другого агрегата. За-

данных

 

 

данных

 

 

 

 

данных

пись

конечный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уровень композиции

 

Рис. 4.4. Основные структуры сетевой модели данных

 

элементов

данных.

 

 

Каждая запись пред-

 

 

 

 

 

 

 

 

 

 

 

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

Сетевой граф БД устроен значительно сложнее иерархического и имеет следующие свойства:

§БД может содержать любое количество наборов и записей;

§между двумя типами записей может быть любое количество наборов;

§тип записи может быть владельцем в одних типах наборов и членом в других типах наборов, а может и не быть членом какого-то типа набора;

§только один тип записи может быть владельцем в каждом наборе;

§типы наборов могут образовывать циклическую структуру;

§один и тот же тип записи может быть владельцем нескольких типов наборов и одновременно может быть членом нескольких типов наборов.

Недостатком сетевой модели является сложность её реализации.

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

Создателем реляционной модели является сотрудник фирмы IBM Э.Ф. Кодд . Одним из основных преимуществ реляционной модели является её однородность. Все данные рас- сматриваются как хранимые в таблицах и только в таблицах. Каждая строка такой таблицы имеет один и тот же формат.

В настоящее время реляционный подход к построению бах данных наиболее распро- странён. Этот подход имеет следующие достоинства:

§использование сравнительно небольшого набора абстракций, позволяющих моделировать большинство предметных областей;

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

§возможность навигации по БД без знания конкретной физической организации

данных на внешних носителях.

Основные теоретические результаты реляционного подхода были получены в 70-е го- ды XX столетия. Большой вклад в развитие реляционной алгебры и нормализации отноше- ний внёс Э. Кодд. В частности в статье, опубликованной в журнале “Computer Word” он сформулировал двенадцать правил, которым должна соответствовать настоящая реляцион- ная база данных.

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

Эдгар Франк Кодд (1923 - 2003) – английский математик.

167

§ограниченность реляционных БД при использовании, например, в системах ав- томатического проектирования (САПР), в которых используются очень слож- ные структуры;

§ограниченные возможности адекватного отражения семантики предметной об- ласти.

Итак, реляционная БД это конечный набор отношений. Отношения используются для представления объектов и для представления связей между объектами. Каждое отноше- ние это двумерная таблица, состоящая из строк и столбцов, причём строки соответствуют записям, а столбцы атрибутам.

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

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

Каждая реляционная таблица, представляя двумерный массив (см. рис. 4.1), обладает следующими свойствами:

§каждый элемент таблицы один элемент данных;

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

§каждый столбец имеет уникальное имя;

§одинаковые строки в таблице отсутствуют;

§порядок следования строк и столбцов произвольный.

Рассмотрим основные свойства полей БД и используемые типы данных на примере реляционной СУБД Microsoft Access. В ней все поля имеют следующие основные свойства:

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

§тип поля определяет тип данных, содержащихся в данном поле;

§размер поля задаёт предельную длину поля (в символах);

§формат поля определяет способ форматирования данных в адресах памяти, принадлежащих полю;

§значение по умолчанию это значение вводится в адреса поля автоматически и является средством автоматизации вода данных;

§условие на значение ограничение, используемое для проверки правильности ввода данных;

§сообщение об ошибке текстовое сообщение, выдаваемое при попытке ввода в

поле ошибочных данных;

§обязательное поле свойство, определяющее обязательность заполнения дан- ных этого поля;

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

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

§текстовой тип, используемый для хранения текста длиной до 255 символов;

§поле MEMO – специальный тип для хранения больших объёмов текста (до 65535 символов). Физически такой текст хранится не в поле, а в другом месте базы данных, в поле же хранится лишь указатель на этот текст;

§числовой тип для хранения действительных чисел;

§дата/время тип данных для хранения календарных дат и текущего времени;

168

Соседние файлы в предмете Информатика