Постреляционные модели

 

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

Постреляционными моделями принято называть объектные или объектно-ориентированные модели данных.

Один из идеологов ООСУБД Versant, очень кратко и точно сформулировала актуальность объектного подхода к базам данных: “Модель данных более близка сущностям реального мира. Объекты можно сохранить и использовать непосредственно, не раскладывая их по таблицам. Типы данных определяются разработчиком и не ограничены набором предопределенных типов”.

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

Объектная СУБД, как правило, поддерживает один или несколько объектно-ориентированных языков - C++, Java, Smalltalk, Object Lisp и т.п. Программист использует единый язык программирования для создания логики приложения, разработки интерфейса и общения с базой данных, а также для поддержания целостности данных.

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

§ инкапсуляция – возможность объединенного хранения данных и методами для их обработки внутри одного объекта. Таким образом, объекты можно рассматривать как самостоятельные сущности, отделенные от внешнего мира.

§ наследование - подразумевает возможность создавать из классов объектов новые классы объекты, которые наследуют структуру и методы своих предков, добавляя к ним черты, отражающие их собственную индивидуальность.

§ полиморфизм - различные объекты могут по разному реагировать на одинаковые внешние события в зависимости от того, как реализованы их методы.

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

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

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

 

Реляционная модель данных. Основные понятия

Теоретической основой модели стала теория отношений, основу которой заложили два логика – американец Чарльз Содерс Пирс и немец Эрнст Шредер. Позднее, в 1970-1971 годах американский математик Э. Ф. Кодд, основываясь на трудах предшественников, сформулировал основные понятия и ограничения реляционной модели, ограничив набор операций семью основными и одной дополнительной. Предложения Кодда были настолько эффективны для систем баз данных, что он был удостоен премии Тьюринга в области теоретических основ вычислительной техники.

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

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

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

Связанные отношения взаимодействуют по принципу главная (master) – подчиненная (detail). Главную таблицу часто называют родительской, а подчиненную – дочерней. Одна и та же таблица может быть главной по отношению к одной таблице БД и дочерней по отношению к другой.

Отношение – реляционная таблица.

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

· целочисленный тип;

· вещественный;

· строковый;

· специализированный тип данных для денежных величин;

· специальные типы данных для хранения даты или даты и времени;

· типы двоичных объектов (данный тип не имеет аналога в языка программирования; обычно для его обозначения используется аббревиатура BLOB – Binary Large Object).

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

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

Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}.

Степень отношения – это число атрибутов отношения. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, степени nn-арным.

Схема базы данных (в структурном смысле) - это набор именованных схем отношений с указанием взаимосвязей между ними.

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

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

Свойства первичного ключа:

· уникальность: в любой момент времени никакие два кортежа отношения не должны иметь одного и того же значения;

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

 

 

Рисунок 4.1 – Основные понятия РМД, на примере фрагмента отношения «Студент» для медпункта.

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 








Дата добавления: 2015-11-18; просмотров: 1559;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.