Уровни и типы моделей бд. Виды моделей данных бд

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

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

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

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

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

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

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

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

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

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

Любой тип можно свести к реляционному.

Типы данных

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

Основные типы данных в современных БД:

    числовой;

    текстовый;

  • дата / время;

    денежный;

    логический;

Ключи

    Суперключ - это одно или несколько полей таблицы, которые однозначно определяют каждую строку в таблице

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

    Первичный ключ – это потенциальный ключ, выбранный, для однозначной идентификации каждой строки в таблице; обычно выбирают наиболее простой для ввода потенциальный ключ, как правил, числовой.

Ключевое поле таблицы в СУБД Access – это первичный ключ таблицы.

Виды реляционных отношений

    один-к-одному;

Каждому значению первичного ключа в главной таблице соответствует одна или не одной записи в подчиненной таблице.

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

    один-ко-многим;

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

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами.

    многие-ко-многим.

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Отношение «многие-ко-многим» представляет собой два отношения «один-ко-многим» с третьей таблицей.

Организация межтабличных связей

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

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

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

Пример организации БД

Условия целостности данных

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

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

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

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

Ядром любой базы данных является модель данных. Модель данных – это совокупность структур данных и операций их обработки.

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

– "один к одному", когда одна запись может быть связана
только с одной записью;

– "один ко многим", когда одна запись взаимосвязана со многими другими;

– "многие ко многим", когда одна и та же запись может входить в отношения со многими другими записями в различных вариантах.

Применение того или иного вида взаимосвязей определило три основные модели баз данных: иерархическую, сетевую и ре­ляционную.

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

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

Рис. 4.1. Иерархическая модель БД

На верхнем, первом уровне находится информация об объекте "поставщики" (П), на втором - о конкретных поставщиках П 1 , П 2 , П 3 , на нижнем, третьем, уровне - о товарах, которые могут поставлять конкретные поставщики. В иерархической модели дол­жно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) - корень. Узлы, не имеющие входных стре­лок, носят название листьев. Узел интегрируется как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.

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

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

Сетевая модель базы данных для поставленной задачи представлена в виде диаграммы связей (рис. 5.2.). На диаграмме указа­ны независимые (основные) типы данных П 1 , П 2 , П 3 , т.е. ин­формация о поставщиках, и зависимые - информация о товарах T 1 , T 2 , и Т 3 . В сетевой модели допустимы любые виды связей меж­ду записями и отсутствует ограничение на число обратных свя­зей. Но должно соблюдаться одно правило: связь включает ос­новную и зависимую записи

Рис. 4.2. Сетевая модель базы данных

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

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

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

Для приведенной выше задачи о поставщиках и товарах логи­ческая структура реляционной БД будет содержать три таблицы (отношения): R 1 , R 2 , R 3 , состоящие соответственно из записей о поставках, о товарах и о поставках товаров поставщиками (рис. 4.3.)



Рис. 4.3. Реляционная модель БД

СУБД и ее функции

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

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

По степени универсальности различают два класса СУБД:

– системы общего назначения;

– специализированные системы.

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

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

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

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

Производительность СУБД оценивается:

– временем выполнения запросов;

– скоростью поиска информации в неиндексированных полях;

– временем выполнения операций импортирования базы данных из других форматов;

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

– максимальным числом параллельных обращений к данным в многопользовательском режиме;

– временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

– СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;

– производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.


Похожая информация.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель данных – совокупность структур данных и операций по их обработке.

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

Основные модели представления данных:

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

Рис.17. Структура иерархической модели

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

Примером такой модели может служить БД, содержащая сведения о ВУЗе (на примере БелГСХА)

2. Сетевая модель – является расширением иерархической модели, нов отличие от нее присутствуют горизонтальные связи (рис. 3). В данной модели данных любой объект может быть и главным и подчиненным. Структура называется сетевой, если в отношениях между данными порожденный элемент имеет более одного исходного. Сетевая модель предоставляет большие возможности по сравнению с иерархической, однако она сложнее в реализации и использовании. Примером может служить структура БД, содержащей сведения о студентах, участвующих в НИРС. Возможно участие одного студента в нескольких темах, а также нескольких студентов в разработке одной темы.

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

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


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

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

ü таблица должна иметь имя;

ü каждый элемент таблицы – один элемент данных;

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

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

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

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

ü таблица должна быть простой, т.е. не содержать составных столбцов;

ü должен быть известен первичный ключ.

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

Рассмотрим таблицу, содержащую данные о сотрудниках предприятия

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