Как настроить смартфоны и ПК. Информационный портал

Основные модели баз данных. Модели базы данных

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

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

Ядром любой базы данных является модель данных. Модель данных – это совокупность структур данных и операций их обработки.

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

– "один к одному", когда одна запись может быть связана
только с одной записью;

– "один ко многим", когда одна запись взаимосвязана со многими другими;

– "многие ко многим", когда одна и та же запись может входить в отношения со многими другими записями в различных вариантах.

Применение того или иного вида взаимосвязей определило три основные модели баз данных: иерархическую, сетевую и ре­ляционную.

Для пояснения логической структуры основных моделей баз данных рассмотрим такую простую задачу: необходимо разработать логическую структуру БД для хранения данных о трех поставщиках: П 1 , П 2 , П 3 , которые могут поставлять товары Т 1 , Т 2 , Т 3 в следующих комбинациях: поставщик П 1 - все три вида товаров, поставщик П 2 - товары Т 1 и Т 3 , поставщик П 3 - товары Т 2 и Т 3 .

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

Рис. 4.1. Иерархическая модель БД

На верхнем, первом уровне находится информация об объекте "поставщики" (П), на втором - о конкретных поставщиках П 1 , П 2 , П 3 , на нижнем, третьем, уровне - о товарах, которые могут поставлять конкретные поставщики. В иерархической модели дол­жно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) - корень. Узлы, не имеющие входных стре­лок, носят название листьев. Узел интегрируется как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.

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

В иерархической модели используется вид связи между элементами данных "один ко многим". Если применяется взаимосвязь вида "многие ко многим", то приходят к сетевой модели данных.

Сетевая модель базы данных для поставленной задачи представлена в виде диаграммы связей (рис. 5.2.). На диаграмме указа­ны независимые (основные) типы данных П 1 , П 2 , П 3 , т.е. ин­формация о поставщиках, и зависимые - информация о товарах T 1 , T 2 , и Т 3 . В сетевой модели допустимы любые виды связей меж­ду записями и отсутствует ограничение на число обратных свя­зей. Но должно соблюдаться одно правило: связь включает ос­новную и зависимую записи

Рис. 4.2. Сетевая модель базы данных

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

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

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

Для приведенной выше задачи о поставщиках и товарах логи­ческая структура реляционной БД будет содержать три таблицы (отношения): R 1 , R 2 , R 3 , состоящие соответственно из записей о поставках, о товарах и о поставках товаров поставщиками (рис. 4.3.)



Рис. 4.3. Реляционная модель БД

СУБД и ее функции

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

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

По степени универсальности различают два класса СУБД:

– системы общего назначения;

– специализированные системы.

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

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

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

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

Производительность СУБД оценивается:

– временем выполнения запросов;

– скоростью поиска информации в неиндексированных полях;

– временем выполнения операций импортирования базы данных из других форматов;

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

– максимальным числом параллельных обращений к данным в многопользовательском режиме;

– временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

– СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;

– производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.


Похожая информация.


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

Известны три разновидности инфологических моделей баз данных:

· иерархическая;

· сетевая;

· реляционная.

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

Достоинствами иерархической модели являются простота и быст­родействие. Запрос к такой базе обрабатывается быстро, поскольку поиск данных происходит по одной из ветвей дерева, опускаясь от родительских объектов к дочерним или наоборот (поиск вверх по дереву обрабатывается дольше).

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

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

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

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

Сетевые базы считаются инструментами программистов. Так, например, чтобы получить ответ на запрос: «Какой товар наиболее часто заказывает компания X?», нужно написать некоторый программный код для навигации по базе данных. Реализация пользовательских запросов может затянуться, и к моменту появления запрошенной информации она перестанет быть актуальной.

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



Основное требование к реляционной базе данных состоит в том, чтобы значения полей (столбцов таблицы) были элементарными и неделимыми информационными единицами (то есть для записи адреса потребуется не одно, а несколько полей, содержащих неделимую информацию – улица, номер дома, номер квартиры). Это позволяет применять для обработки информации математический аппарат реляционной алгебры. Наиболее популярны реляционные СУБД - Access, FoxPro, dBase, Oracle, и др.

В реляционной БД содержится, как правило, несколько таблиц с различными сведениями. Разработчик БД устанавливает связи между отдельными таблицами . При создании связей используют ключевые поля .

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

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

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

Достоинства реляционной модели:

· Простота и доступность для понимания конечным пользователем, так как единственной информационной конструкцией является наглядная таблица.

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

Недостатки реляционной модели:

· Предметную область не всегда можно представить в виде совокупности таблиц.

· Низкая скорость обработки запросов по сравнению с другими моделями, а также требование большего объема внешней памяти.

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


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

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

Иерархическая модель данных.

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

Рис. 5. Иерархическая модель данных

К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, для записи С4 путь проходит через записи А и В3.

Пример иерархической структуры. Каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) факультету (см. рис. 6).

Рис. 6. Пример иерархической организации данных

Сетевая модель данных

В сетевой структуре каждый элемент может быть связан с любым другим элементом (см. рис 7).

Рис. 7. Сетевая модель данных

Пример сетевой структуры. База данных, содержащая сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС (см. рис. 8).

Рис. 8. Пример сетевой организации данных

Реляционная модель данных

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

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

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

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

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

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

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

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

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

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

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

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

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

Процедуру нормализации рассмотрим на примере проектирования многотабличной БД Продажи , содержащей следующую информацию:

· Сведения о покупателях.

· Дату заказа и количество заказанного товара.

· Дату выполнения заказа и количество проданного товара.

· Характеристику проданного товара (наименование, стоимость, марка).

Таблица 2. Структура таблицы Продажи

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

· Приходится тратить значительное время на ввод повторяющихся данных. Например, для всех заказов, сделанных одним покупателем, придется каждый раз вводить одни и те же данные о покупателе.

· При изменении адреса или телефона покупателя необходимо корректировать все записи, содержащие сведения о заказах этого покупателя.

· Наличие повторяющейся информации приведет к неоправданному увеличению размера БД. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство компьютера.

· Любые нештатные ситуации потребуют значительного времени для получения требуемой информации.

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

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

В литературе, статьях и в обиходной речи иногда встречается использование термина «модель данных» в смысле «схема базы данных » («модель базы данных»). Такое использование является неверным, на что указывают многие авторитетные специалисты, в том числе К. Дж. Дейт , М. Р. Когаловский, С. Д. Кузнецов. Модель данных есть теория , или инструмент моделирования , в то время как модель базы данных (схема базы данных) есть результат моделирования . По выражению К. Дейта соотношение между этими понятиями аналогично соотношению между языком программирования и конкретной программой на этом языке .

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

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

См. также

  • Метамоделирование
  • Статья Метамоделирование в Викиучебнике

Примечания

Литература

  • Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. - 8-е изд. - М .: «Вильямс», 2006. - 1328 с. - ISBN 0-321-19784-4
  • Когаловский М. Р. Перспективные технологии информационных систем. - М .: ДМК Пресс; Компания АйТи, 2003. - 288 с. - ISBN 5-279-02276-4
  • Когаловский М. Р. Энциклопедия технологий баз данных. - М .: Финансы и статистика, 2002. - 800 с. - ISBN 5-279-02276-4
  • Цикритзис Д., Лоховски Ф. Модели данных = D. Tsichritzis, F. Lochovsky. Data Models. Prentice Hall, 1982. - М .: Финансы и статистика, 1985. - 344 с.

Wikimedia Foundation . 2010 .

Смотреть что такое "Модель данных" в других словарях:

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

    Модель данных - – способ представления данных информационной модели в вычислительной среде. [ГОСТ 2.053 2006] Рубрика термина: Технологии Рубрики энциклопедии: Абразивное оборудование, Абразивы, Автодороги, Автотехника … Энциклопедия терминов, определений и пояснений строительных материалов

    модель данных - 3.1.7 модель данных (Data Model; DM): Графическое и/или лексическое представление данных, устанавливающее их свойства, структуры и взаимосвязи. [ИСО/МЭК ТО 11404 3:1996, определение 3.2.11] Источник …

    МОДЕЛЬ ДАННЫХ - согласно ГОСТ 2.053–2006 ЕСКД «Электронная структура изделия», – способ представления данных информационной модели в вычислительной среде … Делопроизводство и архивное дело в терминах и определениях

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

    модель данных Всемирной таможенной организации - Модель данных и набор данных, разработанные во Всемирной таможенной организации на основе Справочника элементов внешнеторговых данных ООН (СЭВД ООН) [Упрощение процедур торговли: англо русский глоссарий терминов (пересмотренное второе издание)… … Справочник технического переводчика

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

    - (РМД) логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся… … Википедия

    У этого термина существуют и другие значения, см. ER. Модель сущность связь (ER модель) (англ. entity relationship model, ERM) модель данных, позволяющая описывать концептуальные схемы предметной области. ER модель используется при… … Википедия

    ГОСТ Р ИСО/МЭК 19778-1-2011: Информационная технология. Обучение, образование и подготовка. Технология сотрудничества. Общее рабочее пространство. Часть 1. Модель данных общего рабочего пространства - Терминология ГОСТ Р ИСО/МЭК 19778 1 2011: Информационная технология. Обучение, образование и подготовка. Технология сотрудничества. Общее рабочее пространство. Часть 1. Модель данных общего рабочего пространства оригинал документа: 5.4.9 AE CE ID … Словарь-справочник терминов нормативно-технической документации

Книги

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

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

Для представления данных используются модели, основанные на формах представления информации. Такие модели называются синтаксическими.

В специальной литературе встречается описание довольно большого количества моделей данных . Широкое распространение получили иерархическая, сетевая и реляционная. Кроме них к самым известным относятся еще бинарная модель и семантическая сеть.

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


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


Реляционная модель данных базируется на табличных методах и средствах представления данныхи манипулирования ими. В такой модели информация о предметной области отображается в таблицу, называемую «отношением» (рис. 12). Строка такой таблицы называется кортежем, столбец – атрибутом. Каждый атрибут может принимать некоторое подмножество значений из определенной области – домена.

Подавляющее большинство СУБД, ориентированных на персональные ЭВМ, являются системами, построенными на основе реляционной модели данных, – реляционными СУБД.

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


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

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

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

Семантические сети являются богатыми источниками идей моделирования данных, чрезвычайно полезных в плане решения проблемы представления сложных ситуаций. Они могут применяться независимо или совместно с идеями, положенными в основу других моделей данных. Их интересной особенностью служит то, что расстояние, измеренное на сети (семантическое расстояние, или метрика), играет важную роль, определяя близость взаимосвязанных понятий. При этом предусмотрена возможность в явной форме подчеркнуть, что семантическое расстояние велико. Как показано на рис. 14, МАГАЗИН соотносится с личностью ПРОДАВЕЦ, и в то же время ПРОДАВЦУ присущ ВЕС. Взаимосвязь личности со специальностью очевидна, однако из этого не обязательно следует взаимосвязь МАГАЗИНА и ВЕСА.


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

Остановимся подробнее на реляционной, иерархической и сетевой моделях данных.

Реляционная модель данных характеризуется следующими компонентами:

– информационной конструкцией: отношением с двухуровневой структурой;

– допустимыми операциями: проекцией, выборкой, соединением и некоторыми другими;

– ограничениями: функциональными зависимостями между атрибутами отношения.

Каждому классу объектов Р материального мира ставится в соответствие некоторое множество атрибутов, например А 1 , А 2 , ..., А n . Отдельный объект класса Р описывается строкой величин (a 1 , а 2 , ..., a n) , где a i – значение атрибута A i .

Строка (a 1 , а 2 , ..., a n ) называется кортежем. Всему классу объектов соответствует множество кортежей, именуемое отношением. Обозначим отношение, описывающее класс объектов Р , также через Р .

Выражение Р (А 1 , А 2 , ..., А n ) называется схемой отношения Р .

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

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

Множество значений отношения можно представить в виде таблицы, в которой соблюдаются следующие соответствия:

– название таблицы и перечень названий граф соответствуют схеме отношения;

– строке таблицы соответствует кортеж отношения;

– все строки таблицы (а значит, все кортежи) различны;

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

Описание процессов обработки отношений может быть выполнено двумя способами:

– указанием перечня операций, выполнение которых приводит к требу­емому результату (процедурный подход),

– описанием свойств, которым должно удовлетворять результирующее отношение (декларативный подход).

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

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

Т = R [X ],

где R – исходное отношение; Т – результирующее отношение; X – список атрибутов в структуре отношения Т (условие проекции).

Рассмотрим отношение O 1 , содержащее сведения о продаже продукции в 2010 г. (табл. 1).

Таблица 1

Отношение Т 1 , содержащее сведения только о фактическом выпуске продукции, получается в результате выполнения проекции

Т 1 = О 1 [Магазин, Продукция, Факт]

и имеет вид табл. 2.

Таблица 2

Столбцы можно указывать в любом порядке:

Т 1 = О 1 [Продукция, Магазин, Факт].

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

1) Имя атрибута 1 <знак сравнения> Значение, где допускаются знаки сравнения =, #, >, ≥, <, ≤. Например: Цена > 100.

Имена атрибутов должны содержаться в структуре исходного отношения. Алгебраическая запись выборки имеет вид

T = R [p ],

где R – исходное отношение; Т – результирующее отношение; р – условие выборки.

Например, получим значения Т 2 = О 1 [Продукция = «П 1 »] (табл. 3).

Таблица 3

Операции объединения, пересечения и вычитания производятся над двумя исходными отношениями с одинаковой структурой.

Обозначим исходные отношения через R 1 и R 2 , результирующее – через Т .

Объединение Т = U (R 1 , R 2) содержит строки, присутствующие либо в отношении R 1 , либо в R 2 .

Пересечение Т = I (R 1 , R 2) содержит строки, присутствующие в отношениях R 1 и R 2 одновременно.

Вычитание Т = M (R 1 , R 2) содержит те строки из R 1 , которые отсутствуют в R 2 .

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

Имя атрибута 1 <знак сравнения> Имя атрибута 2,

где Имя атрибута 1 находится в одном исходном отношении, а Имя атрибута 2 – в другом. Будем использовать следующее обозначение операции соединения:

T = R l [p ] R 2 ,

где R 1 и R 2 – исходные отношения; Т – результирующее отношение; р – условие соединения.

Один из наиболее важных частных случаев соединения называется натуральным соединением и имеет следующие особенности:

– знаком сравнения в условии соединения является «=»;

– Имя атрибута 1 и Имя атрибута 2 должны совпадать, а точнее, содержать пересечение списков атрибутов исходных отношений;

– список атрибутов результирующего отношения образуется в результате объединения списков атрибутов исходных отношений.

Обозначение натурального соединения не содержит условия соединения и имеет вид Т = R l * R 2 .

Декларативный подход к обработке реляционных баз данных основан на интерпретации понятий и методов математической логики . В частности, реляционное исчисление базируется на исчислении предикатов. Назовем необходимые для реляционного исчисления понятия математической логики.

1. Символы переменных и констант. В языковых конструкциях реляционного исчисления им соответствуют имена атрибутов и переменных, а также константы.

2. Логические связки «и», «или», «не» и знаки сравнения =, # (не равно), >, <, ≥, ≤.

3. Термы, т. е. любые константы и переменные, а также функции, аргументами которых служат термы.

4. Элементарные формулы – предикаты, аргументами которых выступают термы. Предикаты, связанные операциями «и», «или», «не», также являются элементарными формулами. Элементарными формулами служат, например, выражения Фамилия = «Петров» и Сумма ≤ Итог.

5. Формулы, т. е. результат применения кванторов общности или суще­ствования к элементарным формулам. Формула соответствует запросу к реляционной базе данных, выраженному средствами реляционного исчисления.

Главная задача проектирования базы данных ЭИС – определение количества отношений (или иных составных единиц информации) и их атрибутного состава.

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

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

– корректировка отношений не должна приводить к двусмысленности или потере информации;

– перестройка набора отношений при добавлении в базу данных новых атрибутов должна быть минимальной.

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

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

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

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

Простейший случай функциональной зависимости охватывает два атрибута. В отношении R (A , B , ..., J ) атрибут А функционально определяет атрибут В , если в любой момент времени каждому значению А В (обозначается А В ).

Иначе говоря, В функционально зависит от А (В = f (A )). Первое обозначение оказывается более удобным, когда число функциональных зависимостей растет и их взаимосвязи становятся труднообозримыми; оно и будет использоваться в дальнейшем. Отсутствие функциональной зависимости обозначается как А В .

Для атрибутов А и В некоторого отношения возможны следующие ситуации:

– отсутствие функциональной зависимости;

– наличие А В (или В А ), но не обеих зависимостей вместе;

– наличие взаимно-однозначного соответствия А В .

Понятие функциональной зависимости распространяется на ситуацию с тремя и более атрибутами в следующей форме. Группа атрибутов (А , В , С ) функционально определяет атрибут D в отношении T (A , B , C , D , ..., J ), если каждому сочетанию значений <а, b , с > соответствует единственное значение d (а – значение A ; b – значение В ; с – значение С ; d – значение D ). Наличие такой функциональной зависимости будем обозначать А , В , С D .

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

Для показателя со множеством атрибутов-признаков Р = (Р 1 , Р 2 , ..., Р n ) и атрибутом-основанием Q справедлива функциональная зависимость Р Q , хотя нельзя утверждать, что это единственная зависимость на указанных атрибутах.

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

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

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

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

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

Каждое значение первичного ключа встречается только в одной строке отношения. Значение любого атрибута в этой строке также единственное. Если через К обозначить атрибуты первичного ключа в отношении R (A , B , C , ..., J ), то справедливы следующие функциональные зависимости: К А , К В , К С , ..., К J . Набор атрибутов первичного ключа функционально определяет любой атрибут отношения. Обратное утверждение также верно: если найдена группа атрибутов, которая функционально определяет все атрибуты отношения по отдельности, и эту группу нельзя сократить, то найден первичный ключ отношения.

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

– если А , В А , то и А , В В ;

– А В и А С тогда и только тогда, когда А ВС ;

– если А В и В С , то А С ;

– если А В , то АС В (С произвольно);

– если А В , то АС ВС (С произвольно);

– если А В и ВС D , то АС D .

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

Отношение имеет вторую нормальную форму (2НФ), если оно соответ-ствует 1НФ и не содержит неполных функциональных зависимостей.

Неполная функциональная зависимость состоит из двух зависимостей:

– вероятный ключ отношения функционально определяет некоторый неключевой атрибут,

– часть вероятного ключа функционально определяет этот же неключевой атрибут.

Отношение, не соответствующее 2НФ, характеризуется избыточностью хранимых данных. База данных находится в 2НФ, если все ее отношения находятся в 2НФ.

Отношение соответствует 3НФ, если оно соответствует 2НФ и среди его атрибутов отсутствуют транзитивные функциональные зависимости (ФЗ).

Транзитивная ФЗ включает в себя две ФЗ:

– вероятный ключ отношения функционально определяет неключевой атрибут;

– этот атрибут функционально определяет другой неключевой атрибут.

Если К – ключ отношения, А , В – неключевые атрибуты и К А , А В – справедливые ФЗ, то они являются транзитивными. Частный случай транзитивной ФЗ – неполная ФЗ, когда К = С , Е и К Е , Е А .

База данных находится в 3НФ, если все ее отношения находятся в 3НФ.

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

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

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

4. Если запрос можно разделить на части (подзапросы), то его реализация также разделяется на части, где результатом каждого подзапроса является отдельное отношение.

5. Указанная последовательность действий стандартна, но, возможно, создает промежуточные отношения слишком большого размера. Этот недостаток можно компенсировать, выполняя некоторые выборки и проекции над исходными отношениями (до проведения соединения) и меняя взаимный порядок требуемых соединений.

Сетевая БД представляется как множество отношений и веерных отношений . Отношения разделяются на основные и зависимые.

Веерным отношением W (R , S ) называется пара отношений, состоящая из одного основного (R ), одного зависимого отношения (S ) и связи между ними, при условии, что каждое значение зависимого отношения связано с единственным значением основного отношения . Это условие является ограничением, характерным для сетевой модели данных в целом. Способ реализации этого ограничения в памяти ЭВМ неодинаков у различных сетевых СУБД.

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

Сетевые базы данных в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на двухуровневые и многоуровневые сети.

Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:

– вне каких-либо веерных отношений;

– в качестве основного отношения в любом количестве веерных отношений;

– в качестве зависимого отношения в любом количестве веерных отношений.

Запрещается существование отношения в качестве основного в одном контексте и одновременно в качестве зависимого – в другом.

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

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

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

– веерное отношение существует, если первичный ключ основного отношения выступает частью первичного ключа зависимого отношения.

Для организации веерного отношения в памяти ЭВМ в структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S единственному значению основного отношения R .

Значение отношения при хранении в памяти ЭВМ часто называется записью. Адресом связи именуется атрибут в составе записи, в котором хранится начальный адрес или номер следующей обрабатываемой записи.

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

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

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

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

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

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

F = {F l (X 1), F 2 (X 2), ..., F i (X i ), ..., F n (X n )},

где X i – атрибуты ключа в файле F i .

Дополнительно вводится граф сетевой структуры В с вершинами {X l , X 2 , ..., X i , ..., X n }. Дуга <X i , X j > в графе В существует, если X i является частью X j и F j [X i ] представляет собой подмножество F i . Последнее условие имеет тот же смысл, что и синтаксическое включение отношений в реляционной модели данных. Здесь предполагается, что ключ основного файла содержится в зависимом файле. Граф В аналогичен графу соединений для реляционной БД.

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

Для множества файлов F ациклической базы данных DBA вполне применима операция

m (DBA ) = F 1 & F 2 & ... & F i & ...& F n ,

называемая максимальным пересечением . Ее аналогом может служить последовательность соединений в реляционной БД.

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

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

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

Понятия отношения и веерного отношения в иерархической модели данных не изменяются.

Иерархической базой данных называется множество отношений и веерных отношений, для которых соблюдаются два ограничения :

1) существует единственное отношение, называемое корневым, которое не является зависимым ни в одном веерном отношении;

2) все остальные отношения (за исключением корневого) являются зависимыми отношениями только в одном веерном отношении.

Схема иерархической БД по составу компонентов идентична сетевой БД. Названные выше ограничения поддерживаются иерархическими СУБД.

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

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

1. Начиная с первого значения корневого отношения перечисляются первые значения соответствующих отношений на каждом уровне вплоть до последнего.

2. Перечисляются все значения в том веерном отношении, на котором остановился шаг 1.

3. Перечисляются значения всех вееров этого веерного отношения.

4. От достигнутого уровня происходит подъем на предыдущий уровень, и если возможно применить шаг 1, то процесс повторяется.

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

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

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

Алгоритм получения структуры иерархической БД составлен А.И. Мишениным .

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

Рассматривая преимущества и недостатки самых известных моделей данных, следует отметить ряд несомненных достоинств реляционного подхода:

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

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

– независимость данных: изменение структуры реляционной БД, как правило, приводит к минимальным изменениям в прикладных программах.

Среди недостатков реляционной модели данных необходимо назвать следующие:

– низкую скорость при выполнении операции соединения;

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

Достоинствами иерархической модели данных являются:

– простота: хотя модель использует три информационные конструкции, иерар­хический принцип соподчиненности понятий естественен для многих экономических задач (например, для организации статистической отчетности);

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

Недостатки иерархической модели:

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

– допустимость только навигационного принципа доступа к данным;

– доступ к данным производится только через корневое отношение.

Необходимо отметить следующие преимущества сетевой модели данных:

– универсальность: выразительные возможности сетевой модели данных наиболее обширны в сравнении с остальными моделями;

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

В качестве недостатков сетевой модели данных можно назвать:

– сложность, т. е. обилие понятий, вариантов их взаимосвязей и особенностей реализации;

– допустимость только навигационного принципа доступа к данным.

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

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

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

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

Контрольные вопросы и задания

1. Перечислите наиболее известные виды моделей данных.

2. Расскажите об иерархической и сетевой моделях данных. В чем их сходство и различия?

3. Охарактеризуйте реляционную модель.

4. Опишите бинарную модель и область ее применения.

5. Какова специфика семантических сетей и их назначения?

6. Перечислите информационные конструкции для различных технологий.

7. Назовите компоненты реляционной модели данных.

8. Дайте определения кортежа и отношения.

9. Какими способами можно описать процессы обработки отношений?

10. Раскройте сущность процедурного описания процессов обработки данных.

11. Расскажите о декларативном подходе к обработке реляционных баз данных.

12. Что такое нормализация отношений?

13. Сколько атрибутов в простейшей функциональной зависимости?

14. Дайте определение функциональной зависимости атрибутов в терминах реляционного подхода.

15. Что такое вероятный ключ отношения?

16. Что такое первичный ключ? Как по-другому он называется?

17. Расскажите о закономерностях для множества функциональных зависимостей.

18. Охарактеризуйте вторую и третью нормальные формы отношений.

19. Расскажите о доступе к реляционной базе данных.

20. Назовите информационные конструкции в сетевой модели.

21. Что такое «веерное отношение»?

22. Дайте определение двухуровневых сетей.

23. Дайте определение многоуровневых сетей.

24. Что представляет собой «адрес связи»?

25. Что называют «веером»?

26. Какие компоненты содержит схема сетевой БД?

27. Какие стандартные соглашения о способах включения и исключения данных в веерном отношении вам известны?

28. Что такое файлы и связи?

29. Что такое «максимальное пересечение»?

30. Назовите информационные конструкции в иерархической модели.

31. Дайте определение иерархической базы данных.

32. Расскажите о правилах концевого прохождения.

33. Дайте определение записи иерархической базы.

34. Назовите преимущества и недостатки реляционного подхода.

35. Перечислите достоинства и недостатки иерархической модели.

36. Охарактеризуйте сильные и слабые стороны сетевой модели данных.

38. Выполните задания 2.1–2.20 по операциям над отношениями из практикума .

39. Выполните задания 2.21–2.32 по теме «Функциональные зависимости и ключи» из практикума .

40. Выполните задания 2.33–2.60 по теме «Нормальные формы отношений» из практикума .

41. Выполните задания 2.61–2.71 по теме «Ациклические базы данных» из практикума .

42. Выполните задания 2.72–2.93 по теме «Сетевая и иерархическая модели данных» из практикума .

Лучшие статьи по теме