Модели представления данных

 

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

- иерархическая,

- сетевая,

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

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

 
 

 


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

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

Иерархические базы данных поддерживают отношения типа «один – ко – многим».

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

- поиск указанного элемента БД;

- переход от одного дерева к другому;

- переход от одной записи к другой внутри дерева;

- вставка новой записи в указанную позицию;

- удаление текущей записи и т.д.

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

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

Иерархические системы – старейшее поколение систем баз данных. Они разрабатывались для больших ЭВМ.

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

 
 


 

Рис. 1.2 Представление связей в сетевой модели данных

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

- поиск записи в БД;

- переход между связанными записями;

- создание новой записи;

- удаление текущей записи;

- обновление текущей записи;

- включение записи в связь;

- исключение записи из связи;

- изменение связей и т.д.

Сетевая модель данных, в отличие от иерархической поддерживает взаимосвязь типа «многие – ко – многим».

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

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

Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии «отношение». Наглядной формой представления отношения является двумерная таблица. Такой способ позволяет:

- понять структуру БД пользователю не программисту;

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

- обеспечить необходимую гибкость при обработке запросов.

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

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

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

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

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

Домен – представляет собой множество всех возможных значений определенного атрибута.

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

Кардинальность – число кортежей (строк).

Степень– число полей (столбцов).

Первичный ключ– это атрибут отношения, который однозначно идентифицирует каждый из его кортежей.

Например: для представленной таблицы «Преподаватели» (Рис. 1.3).


Рис. 1.3 Элементы реляционной модели и формы их преставления

Элементы реляционной модели данных и формы их представления можно представить в виде таблицы 1.1:

Таблица 1.1 Элементы реляционной модели данных

Элемент реляционной модели Форма представления
Отношение Таблица
Схема отношения Строка заголовков столбцов таблицы (заголовок таблицы)
Сущность Описание свойств объекта
Атрибут Заголовок столбца таблицы
Домен Множество допустимых значений атрибута
Кортеж Строка таблицы
Первичный ключ Один или несколько атрибутов

 

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

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

- такое толе не может содержать пустых записей;

- такое поле не может содержать повторяющихся записей.

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

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

Таблица 1.2 «Студенты»

Код Фамилия Имя Отчество Дата рождения Адрес Телефон Специальность Курс Группа
Иванов Сергей Семенович 22.08.1991 Гагарин 3-33-54 АСОИиУ А
Николаев Андрей Николаевич 08.06.1990 Гагарин   АСОИиУ Б
Окунев Иван Романович 10.11.1990 Гагарин 7-65-43 АСОИиУ Б
Петрова Надежда Андреевна 30.05.1991 Гагарин   АСОИиУ А
Рязанова Надежда Андреевна 03.12.1991 Гагарин   АСОИиУ А

 

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

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

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

К реляционной модели данных предъявляются следующие требования:

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

- все поля (столбцы) таблицы должны быть уникальными, т.е. не может быть двух столбцов с одинаковыми именами и данными;

- все строки таблицы должны быть уникальными, т.е. не может быть двух строк, содержащих одинаковые данные;

- строки и столбцы таблицы располагаются в произвольном порядке;

- в каждом поле (столбце) должны содержаться данные одного типа.

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

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