Иерархические, сетевые, реляционные, объектно-ориентированные модели баз данных
Модель данных– абстракция, которая приложима к конкретным данным. Позволяет пользователям трактовать их как информацию (сведения, содержащие не только данные, но и связи между ними).
Обычно системы БД классифицируются в зависимости от модели данных, которая лежит в их основе. В общепринятой классификации в настоящее время известны следующие модели данных:
- иерархическая,
- сетевая,
- реляционная,
- объектно-ориентированная,
- объектно-реляционная.
Объекно-ориентированную и объектно-реляционную модели часто называют постреляционными моделями данных БД .
Соответственно говорят о сетевых, иерархических, реляционных, объектно-ориентированных, объектно-реляционных и постреляционных БД.
На ПК самое широкое применение нашли реляционные модели данных.
Иерархическая модель данных.
Иерархической модели данных соответствует дерево – связной ориентированный граф, который не содержит циклов. В дереве выделяется корень – вершина, в которую не заходит ни одно ребро, а исходит произвольное количество ребер. Ориентация ребер обычно определяется от корня.
В иерархической модели данных между записями двух типов выполняется групповое отношение. Владелец группового отношения – родительская запись, а члены группового отношения – дочерние записи.
Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некоторых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным ключом, под которым понимается совокупность ключей всех записей от корневой до искомой по иерархическому пути.
Иерархическая модель данных позволяет непосредственно реализовывать связи со степенями один - ко - многим (1:N) и один - ко - одному (1:1). Для реализации связи со степенью многие – ко – многим (M:N) необходимо производить дублирование деревьев.
Над данными в иерархической модели определены следующие основные операции:
- добавлять в базу данных новую запись с обязательным формированием значения ключа для корневой записи;
- изменять значения данных, причем ключевые значения данных не должны подвергаться изменениям;
- удалять некоторую запись и все подчиненные ей записи;
- извлекать ключевую запись по ключевому значению;
- извлекать следующую запись.
Для поиска выборки экземпляров записей типа "студент” надо указать корневой элемент – факультет; элементы – курс и группа.
Сетевая модель данных
Сетевой модели данных в общем случае соответствует произвольный граф. В узлах графа помещаются типы записей, а ребра интерпретируются как связи между типами записей.
В сетевой модели данных также как и в иерархической используется графический способ представления данных, но ограничения на количество связей не накладывается. То есть можно изображать модели любой сложности.
Операции над типами записей в сетевой модели данных можно разделить на две основные группы:
- операции с записями в наборе:
- нахождение конкретной записи в наборе;
- создание новой записи;
- уничтожение записи;
- модифицирование записи.
2 . операции навигации:
переход от предка к потомку по некоторой связи
переход к следующему потомку в некоторой связи;
переход от потомка к предку по некоторой связи;
включение в связь;
исключение из связи;
перестановка в другую связь и т.д.
Реляционная модель данных
По распространенности и популярности реляционные СУБД сегодня вне конкуренции. По сути, они фактически стали промышленным стандартом. В реляционной модели рассматриваются три аспекта данных – структура данных, целостность данных и обработка данных.
Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значения данных, и все операции сводятся к манипуляциям с таблицами.
Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных, которое именуется, как отношение . Строка таблицы носит название картежа , а столбец – атрибута
Количество кортежей называется кардинальным числом , а количество атрибутов – степенью отношения
Первичный ключ является уникальным идентификатором и представляет собой такой столбец или комбинацию столбцов, что в любой момент времени не существует двух строк, содержащих одинаковое значение в этом столбце или комбинации столбцов
Множество всех возможных значений (область определения) атрибута объекта называется доменом . Например, для атрибута ВЕС домен задается интервалом целых чисел, поскольку отрицательного веса не бывает
Каждый столбец таблицы имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Любая таблица должна иметь, по крайней мере, один столбец. Порядок следования столбцов в таблице определяется порядком следования их имен при ее создании. В отличие от столбцов, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено
Отношения обладают следующими важными свойствами:
- в них нет одинаковых кортежей;
- кортежи не упорядочены сверху вниз;
- атрибуты не упорядочены слева на право;
- все значения атомарны, т.е. отношения нормализированы.
Последнее свойство является следствием того, что в каждой позиции пересечения столбца и строки в таблице должно располагаться точно одно значение, а не набор значений. Отношение, обладающее этим свойством, называется нормализированным или представленным в первой нормальной форме.
В реляционной модели данных есть два общих правила целостности. Эти два правила относятся к потенциальным ключам и внешним ключам . Выше рассматривался первичный ключ, который является частным случаем потенциального ключа. Пусть R – некоторое отношение. Тогда потенциальный ключ K для R - это подмножество множества атрибутов R, обладающее такими свойствами, как:
Уникальность – нет двух различных кортежей в отношении R с одинаковым значением K;
Неизбыточность – никакое из подмножеств K не обладает свойством уникальности.
Каждое отношение имеет, по крайней мере, один потенциальный ключ, так как не содержит одинаковых кортежей.
Потенциальные ключи имеют первостепенную важность для реляционных систем, так как единственный гарантируемый способ указать на какой – ни будь кортеж – это указать значение некоторого потенциального ключа.
Потенциальный ключ, имеющий более одного атрибута, называется составным , а состоящий из одного атрибута – простым .
Отношение может иметь более одного потенциального ключа. В этом случае один из потенциальных ключей выбирается в качестве первичного, а остальные потенциальные ключи, если они есть, называются альтернативными.
Объектно-ориентированная модель изначально строилась с учетом ее эволюции и расширения. Эта модель базируется на основных понятиях и методах, разработанных в объектно-ориентированном програмировании (ОПП) и представленных в широко используемых языках объектно-ориентированного программирования, таких как С++, Java и др.
Принципиальное отличие реляционных и объектно-ориентированных БД заключается в следующем:
- объектно-ориентированная модель данных оказывается более адекватной моделью предметной области реального мира;
- объекты вторых можно хранить и использовать непосредственно, не раскладывая их по таблицам;
- типы данных определяются разработчиком и не ограничены набором предопределенных типов.