Модель данных - Модели серверов баз данных

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

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

Структуризация данных основывается на использовании концепций "агрегации" и "обобщения". Один из первых вариантов структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference on Data Systems Languages, CODASYL) (см. рисунок 1.5).

композиция структур данных по версии codasyl

Рисунок 1.5 - Композиция структур данных по версии CODASYL

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

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

Запись - именованный набор элементов данных или элементов данных и агрегатов. Или, по другому, запись - это агрегат, который не входит в состав другого агрегата. Запись может иметь сложную иерархическую структуру, так как разрешается неоднократное применение агрегации. Различают тип записи (ее структуру) и экземпляр записи, т. е. запись с конкретными значениями элементов данных. Одна запись может описывать описывает свойства только одной сущности ПО (экземпляра). Иногда термин "запись" заменяют термином "группа". Дейт, К. Введение в системы баз данных. - СПб. : Питер, 2009. - С. 124.

Пример записи, содержащей сведения о сотруднике, приведен на рисунке 1.6.

пример записи типа сотрудник

Рисунок 1.6 - Пример записи типа СОТРУДНИК

Данная запись имеет несколько атрибутов - Номер пропуска, Дата рождения, номер отдела и т. д. Также она имеет три агрегата: два простых - это агрегаты ФИО и Адрес, и повторяющийся агрегат Телефоны.

Среди элементов данных (полей записи) выделяются одно или несколько ключевых полей. Значения ключевых полей позволяют классифицировать сущность, к которой относится конкретная запись. Ключи с уникальными значениями называются потенциальными. Каждый ключ может представлять собой агрегат данных. Один из ключей назначается первичным, остальные являются вторичными. Первичный ключ идентифицирует экземпляр записи, его значение должно быть уникальным и обязательным для записей одного типа. Для примера на рис. 1.3 потенциальными ключами являются поля № пропуска и Паспорт, а первичным ключом целесообразнее выбрать поле № пропуска, т. к. оно явно занимает меньше памяти, чем паспортные данные Карминский, А. М. Информатизация бизнеса. Концепции, технологии, системы. - М. : Астрэль 2008. - С. 355..

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

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

По типу производимых действий различают следующие операции:

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

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

Похожие статьи




Модель данных - Модели серверов баз данных

Предыдущая | Следующая