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

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

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

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

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

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

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

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

  • иерархическая (англ. hierarchical), конец 1960-х и 1970-е гг.;
  • сетевая (англ. network), 1970-е гг.;
  • реляционная (англ. relational), 1970-е и начало 1980-х гг.;
  • "сущность – связь" (англ. entity – relationship), 1970-е гг.;
  • расширенная реляционная (англ. extended relational), 1980-е гг.;
  • семантическая (англ. semantic), конец 1970-х и 1980-е гг.;
  • объектно-ориентированная (англ. object-oriented), конец 1980-х – начало 1990-х гг.;
  • объектно-реляционная (англ. object-relational), конец 1980-х – начало 1990-х гг.;
  • полуструктурированная (англ. semi-structured), с конца 1990-х гг. до настоящего времени.

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

Модель "сущность – связь" была предложена П. Ченом (Peter Chen) в 1976 г. в качестве унифицированного способа описания предметной области. Как самостоятельная модель данных (в соответствии с приведенным выше определением) она развития не получила, но стала основой для создания инфологических моделей БД. Этап инфологического проектирования рассмотрен в главе 6.

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

Объектно-ориентированная и объектно-реляционная модели данных появились в результате распространения объектно-ориентированного подхода в программировании. Объектная модель данных предлагает рассматривать БД как множество объектов, обладающих свойствами инкапсуляции, наследования и т.д. В 1989 г. был опубликован "Манифест систем объектно-ориентированных баз данных", а в 1991 г. образован консорциум ODMG (от англ. Object Data Management Group), который занялся разработкой стандартов. В 2000 г. была опубликована версия стандарта The Object Data Standard: ODMG 3.0, а в 2001 г. группа прекратила свою деятельность. Примерно в то же время велась активная работа по адаптации реляционной модели к требованиям объектно-ориентированного подхода к разработке ПО, что привело к появлению объектно-реляционной модели данных. Позднее объектные расширения были введены в стандарт языка SQL.

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

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

Виды баз данных

Как известно, различают четыре вида посторения БД:

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

Наиболее известным примером иерархической базы данных является продукт, созданный компанией IBM ("АйБиЭм"), под названием Information Management System (переводится как "Информационная система управления"), сокращенно IMS. Первая версия IMS вышла еще в прошлом, двадцатом веке, в шестьдесят восьмом году. Она используется для хранения и контроля данных и поныне.

Принцип построения иерархической модели

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

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

Применение иерархической структуры данных

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

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

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

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

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

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

Обобщенное описание структуры

Термин "древовидная" для описания структуры упоминается в этой статье уже далеко не единожды. Пора рассказать, откуда он произошел. Все потому что иерархическая база данных - это такая БД, которая использует тип данных "дерево". Рассмотрим подробнее, что он из себя представляет.

Это составной тип: в каждый из элементов (узлов) вкладывается несколько последующих (один или более). А начинается все с одного корневого элемента. Суть в том, что каждый из кусочков типа "дерево", является подтипом, тоже "деревом". Много-много разветвленных, и все также упорядоченных структур.

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

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

Наполнение БД

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

Достоинства

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

Иерархическая модель идеальна для применения ее для упорядоченной информации.

Недостатки

Однако те же особенности рассматриваемых СУБД, которые стали их основными достоинствами, определяют также и их недостатки. К примеру, громоздкость и сложность логических связей - опытному специалисту при работе с ранее неизвестной базой будет трудно разобраться, а простой пользователь и вовсе в ней "заблудится". Эта сложность понимания приводит к тому, что на самом деле не так много СУБД построены на иерархической модели. Примером иерархической базы данных является, кроме уже описанного продукта компании "АйБиЭм", "Ока" и МИРИС (производство России), а также Data Edge и Team-UP (от зарубежных корпораций).

Примеры

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

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

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

Применение в ЭВМ

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

Сетевые базы данных

Существуют:

  • реляционные;
  • иерархические;
  • сетевые базы данных.

Почему мы вновь вспомнили о классификации? Поскольку, в отличие от реляционной, сетевая БД имеет с иерархической схожие черты.

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

Иерархия и реляционность

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

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

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

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

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

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

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

Сегодня наиболее распространены реляционные модели, которые будут подробно рассмотрены в главе 3.

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

Модели организации баз данных

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

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

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

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

Избежать трудностей манипулирования позволяет второй элемент модели – реляционно-полный язык (отметим, что язык является неотъемлемой частью любой модели данных, без него модель не существует). Полнота языка в приложении к реляционной модели означает, что он должен выполнять любую операцию реляционной алгебры или реляционного исчисления (полнота последних доказана математически Э.Ф. Коддом). Более того, язык должен описывать любой запрос в виде операций с таблицами, а не с их строками. Одним из таких языков является SQL.

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

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

5.3.3 Модели данных и концептуальное моделирование

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

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

· Структурная часть, т.е. набор правил, по которым может быть построена база данных.

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

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

Цель построения модели данных заключается в представлении данных в понятном виде. Если такое представление возможно, то модель данных можно будет легко применить при проектировании базы данных. Для отображения архитектуры ANSI-SPARC можно определить следующие три связанные модели данных:

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

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

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

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

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

    • Модель типа "сущность-связь", или ER-модель (Entity-Relationship model).
    • Семантическая модель.
    • Функциональная модель.
    • Объектно-ориентированная модель.

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

Модели данных на основе записей. В модели на основе записей база данных состоит из нескольких записей фиксированного формата, которые могут иметь разные типы. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фиксированную длину. Существует три основных типа логических моделей данных на основе записей: реляционная модель данных (relational data model), сетевая модель данных (network data model) и иерархическая модель данных (hierarchical data model).

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

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

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

Классической, наиболее давно используемой считается модель данных, в основе которой лежит иерархическая структура типа дерева (фрагмент представлен на рис. 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 по теме «Сетевая и иерархическая модели данных» из практикума .

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

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

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

М. Р. Когаловский поясняет эволюцию смысла термина следующим образом. Первоначально понятие модели данных употреблялось как синоним структуры данных в конкретной базе данных . В процессе развития теории систем баз данных термин «модель данных» приобрел новое содержание. Возникла потребность в термине, который обозначал бы инструмент, а не результат моделирования, и воплощал бы, таким образом, множество всевозможных баз данных некоторого класса. Во второй половине 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 … Словарь-справочник терминов нормативно-технической документации

Книги

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


Просмотров