Типы моделей описания баз данных. Модели организации баз данных

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

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

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

· сетевая;

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

На языке математики отношение определяется таким образом. Пусть задано n множеств D1,D2, ...,Dn. Тогда R есть отношение над этими множествами, если R есть множеством упорядоченных наборов вида , где d1 - элемент с D1 , d2 - элемент с D2 , ... , dn - элемент с Dn. При этом наборы вида называются кортежами, а множества D1,D2, ...Dn - доменами. Каждый кортеж состоит из элементов, которые выбираются из своих доменов. Эти элементы называются атрибутами, а их значения - значениями атрибутов.

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

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

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

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

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

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

Следующие термины являются эквивалентными:

отношение , таблица, файл (для локальных БД );

кортеж, строка , запись;

атрибут, столбик, поле.

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

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

БД считается нормализованной , если выполняются следующие условия:

Каждая таблица имеет главный ключ;

Все поля каждой таблицы зависят только от главного ключа;

В таблицах отсутствуют группы повторных значений.

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

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

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

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

Главная таблица – это таблица, которая содержит первичный ключ и составляет часть один в отношении один ко многим .

Внешний ключ – это поле, содержащее такой же тип информации в таблице со стороны много .

Практическая работа

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

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

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

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

Книги

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

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

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

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

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

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

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

Рассмотрим более подробно эти модели данных далее.

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

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

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

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

Иерархической базой данных является Каталог папок Windows , с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол . На втором уровне находятся папки Мой компьютер , Мои документы, Сетевое окружение и Корзина , которые являются потомками папки Рабочий стол , а между собой является близнецами. В свою очередь , папка Мой компьютер является предком по отношению к папкам третьего уровня -папкам дисков ( Диск 3,5(А:), (С:), (D:), (Е:), (F:)) и системным папкам ( сканер , bluetooth и.т.д.) - на рис. 4.1 .


Рис. 4.1.

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

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

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

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

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

Пример

Рассмотрим следующую модель данных предприятия (см. рис. 4.2): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.

Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. 4.2 (а) (Для простоты полагается, что имеются только две дочерние записи).

Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры: заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК (НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) (

Типы моделей баз данных

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

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

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

«Система управления информацией » (Information Management System ) компании IMB - пример иерархической СУБД.

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

Иерархические системы баз данных

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

Данные о сотруднике и его детях формируют иерархическую структуру, где информация о сотруднике – это родительский элемент, а информация о детях — дочерний элемент. Если у сотрудника три ребёнка, то с родительским элементом будут связаны три дочерних. В иерархической базе данных отношение «родитель-потомок » - это отношение «один ко многим ». То есть у дочернего элемента не может быть больше одного предка.

Иерархические БД были популярны, начиная с конца 1960-х годов, когда компания IBM представила свою СУБД «Система управления информацией. Иерархическая схема состоит из типов записей и типов «родитель-потомок »:

  • Запись - это набор значений полей.
  • Записи одного типа группируются в типы записей.
  • Отношения «родитель-потомок» - это отношения вида 1:N между двумя типами записей.
  • Схема иерархической базы данных состоит из нескольких иерархических схем.

Сетевая модель

В сетевой модели данных у родительского элемента может быть несколько потомков, а у дочернего элемента - несколько предков. Записи в такой модели связаны списками с указателями. IDMS («Интегрированная система управления данными ») от компании Computer Associates international Inc. - пример сетевой СУБД.

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

Сетевая модель позволяет более естественно моделировать отношения между элементами. И хотя эта модель широко применялась на практике, она так и не стала доминантной по двум основным причинам. Во-первых, компания IBM решила не отказываться от иерархической модели в расширениях для своих продуктов, таких как IMS и DL/I . Во-вторых, через некоторое время её сменила реляционная модель, предлагавшая более высокоуровневый, декларативный интерфейс.

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

Основной элемент сетевой модели данных - набор, который состоит из типа «запись-владелец », имени набора и типа «запись-член ». Запись подчинённого уровня («запись-член ») может выполнять свою роль в нескольких наборах. Соответственно, поддерживается концепция нескольких родительских элементов.

Запись старшего уровня («запись-владелец ») также может быть «членом » или «владельцем » в других наборах. Модель данных - это простая сеть, связи, типы пересечения записей (в IDMS они называются junction records , то есть «перекрёстные записи ). А также наборы, которые могут их объединять. Таким образом, полная сеть представлена несколькими парными наборами.

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

Известные сетевые базы данных:

  • TurboIMAGE;
  • IDMS;
  • Встроенная RDM;
  • Серверная RDM.

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

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

В отличие от двух других типов СУБД, в реляционных моделях данных нет необходимости просматривать все указатели, что облегчает выполнение запросов на выборку информации по сравнению с сетевыми и иерархическими СУБД. Это одна из основных причин, почему реляционная модель оказалась более удобна. Распространённые реляционные СУБД: Oracle , Sybase , DB2 , Ingres , Informix и MS-SQL Server .

«В реляционной модели, как объекты, так и их отношения представлены только таблицами, и ничем более ».

РСУБД - реляционная система управления базами данных, основанная на реляционной модели Э. Ф. Кодда. Она позволяет определять структурные аспекты данных, обработки отношений и их целостности. В такой базе информационное наполнение и отношения внутри него представлены в виде таблиц - наборов записей с общими полями.

Реляционные таблицы обладают следующими свойствами:

  • Все значения атомарны.
  • Каждый ряд уникален.
  • Порядок столбцов не важен.
  • Порядок рядов не важен.
  • У каждого столбца есть своё уникальное имя.

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

Часто у полей будет одно и то же имя в обеих таблицах. Например, таблица «Заказы » может содержать пары «ID-покупателя » и «код-товара ». А в таблице «Товар » могут быть пары «код-товара » и «цена ». Поэтому чтобы рассчитать чек для определённого покупателя, необходимо суммировать цену всех купленных им товаров, использовав JOIN в полях «код-товара » этих двух таблиц. Такие действия можно расширить до объединения нескольких полей в нескольких таблицах.

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

Сравнение трёх моделей

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

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

Третья модель - реляционная - более гибкая, чем иерархическая и проще для управления, чем сетевая. Реляционная модель сегодня используется чаще всего.

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

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

«Один к одному»

В этом виде отношений один объект связан с другим. Например, Менеджер -> Отдел .

У каждого менеджера может быть только один отдел, и наоборот.

«Один ко многим»

В моделях данных отношение одного объекта с несколькими. Например, Сотрудник -> Отдел .

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

«Многие ко многим»

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

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

В реляционной модели объекты и их отношения представлены двухмерным массивом или таблицей.

Каждая таблица представляет объект.

Каждая таблица состоит из рядов и столбцов.

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

Каждый столбец представляет атрибут объекта.

Значения столбцов выбираются из области или набора всех возможных значений.

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

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

Преимущества реляционной модели данных:

  1. Простота использования.
  2. Гибкость.
  3. Независимость данных.
  4. Безопасность.
  5. Простота практического применения.
  6. Слияние данных.
  7. Целостность данных.

Недостатки:

  1. Избыточность данных.
  2. Низкая производительность.

Другие модели баз данных (ООСУБД)

В последнее время на рынке СУБД появились продукты, представленные объектными и объектно-ориентированной моделью данных, такие как Gem Stone и Versant ОСУБД. Также производятся исследования в области многомерных и логических моделей данных.

Особенности объектно-ориентированных систем управления базами данных (ООСУБД):

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

А также поддержку классов объектов и наследование свойств и методов классов подклассами и их объектами.