Рефераты. Современные информационные продукты и услуги

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

Доступ к данным осуществляется в виде запросов, которые формулируются на стандартном языке запросов. Действие, осуществляемое над БД, называется транзакцией.

2.1 Модели и архитектура БД

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

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

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

В реляционной модели считается, что все данные ИС представлены в виде таблиц. Строки в каждой таблице - это кортеж неструктурированных единиц данных. Набор кортежей, составляющий таблицу, образует математическое отношение, таким образом, модель данных представляется множеством таблиц-отношений (называемых R-таблицами), отсюда название "реляционная", т.е. модель, представленная отношениями [19].

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

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

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

· Базовые операции:

-ограничение - исключение из таблицы некоторых строк;

-проекция - исключение из таблицы некоторых столбцов;

-декартово произведение - из двух таблиц получается третья по принципу декартова произведения двух множеств строк;

-объединение - объединение множеств строк двух таблиц;

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

-присвоение - именованной таблице присваивается значение выражения над R-таблицами.

· Производные операции:

-группа операций соединения;

-пересечение - пересечение множеств строк двух таблиц;

-расширение - добавление новых столбцов в таблицу;

-суммирование - в новой таблице с меньшим, чем в исходной, числом строк, строки получены как агрегирование (например, суммирование по какому-то столбцу) строк исходной [15].

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

Объектно-ориентированная модель данных

Моделью данных, привлекающей нарастающее внимание с конца 80-х гг., является объектная, или "объектно-ориентированная" модель. Основными понятиями, с которыми оперирует эта модель, являются следующие:

-объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом;

-классы, являющиеся по сути типами объектов;

-операции над объектами одного или разных типов, называемые "методами";

-инкапсуляция структурного и функционального описания объектов, позволяющая разделять внутреннее и внешнее описания (в терминологии предшествовавшего объектному модульного программирования - "модульность" объектов);

-наследуемость внешних свойств объектов на основе соотношения "класс-подкласс" [5].

К достоинствам объектно-ориентированной модели относят:

-возможность для пользователя системы определять сложные типы данных (используя имеющийся синтаксис и свойства наследуемости и инкапсуляции);

-наличие наследуемости свойств объектов;

-повторное использование программного описания типов объектов при обращении к другим типам, на них ссылающимся [3].

К недостаткам объектно-ориентированной модели можно отнести:

-отсутствие строгих определений, разное понимание терминов и различия в терминологии, например, изъявляется готовность изложить восемь различных толкований такого базового понятия, как "наследуемость";

-как следствие - эта модель не исследована столь тщательно математически, как реляционная;

-отсутствие общеупотребимых стандартов, позволяющих связывать конкретные объектно-ориентированные системы с другими системами работы с данными [17].

Некоторые специалисты основным и главным отличием объектно-ориентированной модели от реляционной считают наличие уникального системного идентификатора. Эта разница связана с одним интересным семантическим явлением. Дело в том, что в реляционной модели объект целиком описывается его атрибутами.

Модель "объектов-ролей"

Еще одной моделью данных, имеющей конкретную реализацию, является модель "объектов-ролей", предложенная еще в начале 70-х годов. В отличие от реляционной модели в ней нет атрибутов, а основные понятия - это объекты и роли, описывающие их. Роли могут быть как "изолированные", присущие исключительно какому-нибудь объекту, так и существующие как элемент какого-либо отношения между объектами. Модель служит для понятийного моделирования, что отличает ее от реляционной модели. Модель "объектов-ролей" сейчас привлекает большое внимание специалистов, однако до промышленных масштабов ее использования, сравнимых с двумя предыдущими, ей пока далеко [15].

Концептуальная модель данных

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

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

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

События - набор реакций объекта на изменения внешних условий, описанных в нашей базе данных.

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

Объект - совокупность типов и свойств, объединенных в один тип, способный описать объект реального мира.

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

Наследование - это способ описания дерева типов [19].

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

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

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

Сущность - любой различимый объект.

Атрибут - поименованная характеристика сущности.

Связь - ассоциирование двух или более сущностей.

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

К. Дейт определяет три основных класса сущностей: стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей - обозначения [8].

Ассоциативная сущность - это связь вида "многие-ко-многим".

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

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.