Курсовая работа: Современные информационные продукты и услуги
· Производные операции:
-группа операций соединения;
-пересечение - пересечение множеств строк двух таблиц;
-расширение - добавление новых столбцов в таблицу;
-суммирование - в новой таблице с меньшим, чем в исходной, числом строк, строки получены как агрегирование (например, суммирование по какому-то столбцу) строк исходной [15].
Если можно говорить об основной идее использования реляционного подхода в СУБД, то это именно предсказуемость результатов работы с данными, обеспечиваемая математическим аппаратом в основе этого подхода. Ничего другого для объяснения пользователю, почему он получил тот, а не иной результат, не требуется. А, учитывая, что набор основных понятий достаточно прозрачен, получается, что результат не просто предсказуем, но и относительно просто предсказуем. То же можно сказать не только о запросах, но и о манипулировании моделью с помощью перечисленных операций над таблицами. Реляционная модель данных, несмотря на ее достоинства, совсем не идеальна. В ряде случаев она не позволяет ясно (или вовсе) отразить особенности предметной области: всего лишь одной из иллюстраций тому служит отсутствие прямых средств выражения иерархии. Поэтому постоянно ведутся поиски других моделей, которые, впрочем, все также имеют свои сильные и слабые стороны.
Объектно-ориентированнаямодель данных
Моделью данных, привлекающей нарастающее внимание с конца 80-х гг., является объектная, или "объектно-ориентированная" модель. Основными понятиями, с которыми оперирует эта модель, являются следующие:
-объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом;
-классы, являющиеся по сути типами объектов;
-операции над объектами одного или разных типов, называемые "методами";
-инкапсуляция структурного и функционального описания объектов, позволяющая разделять внутреннее и внешнее описания (в терминологии предшествовавшего объектному модульного программирования - "модульность" объектов);
-наследуемость внешних свойств объектов на основе соотношения "класс-подкласс" [5].
К достоинствам объектно-ориентированной модели относят:
-возможность для пользователя системы определять сложные типы данных (используя имеющийся синтаксис и свойства наследуемости и инкапсуляции);
-наличие наследуемости свойств объектов;
-повторное использование программного описания типов объектов при обращении к другим типам, на них ссылающимся [3].
К недостаткам объектно-ориентированной модели можно отнести:
-отсутствие строгих определений, разное понимание терминов и различия в терминологии, например, изъявляется готовность изложить восемь различных толкований такого базового понятия, как "наследуемость";
-как следствие - эта модель не исследована столь тщательно математически, как реляционная;
-отсутствие общеупотребимых стандартов, позволяющих связывать конкретные объектно-ориентированные системы с другими системами работы с данными [17].
Некоторые специалисты основным и главным отличием объектно-ориентированной модели от реляционной считают наличие уникального системного идентификатора. Эта разница связана с одним интересным семантическим явлением. Дело в том, что в реляционной модели объект целиком описывается его атрибутами.
Модель "объектов-ролей"
Еще одной моделью данных, имеющей конкретную реализацию, является модель "объектов-ролей", предложенная еще в начале 70-х годов. В отличие от реляционной модели в ней нет атрибутов, а основные понятия - это объекты и роли, описывающие их. Роли могут быть как "изолированные", присущие исключительно какому-нибудь объекту, так и существующие как элемент какого-либо отношения между объектами. Модель служит для понятийного моделирования, что отличает ее от реляционной модели. Модель "объектов-ролей" сейчас привлекает большое внимание специалистов, однако до промышленных масштабов ее использования, сравнимых с двумя предыдущими, ей пока далеко [15].
Концептуальная модель данных
Концептуальная модель наиболее полно отвечает потребностям проектирования баз знаний и построена на ряде принципов, которые мы сейчас рассмотрим. Есть две большие области понятий в концептуальной модели. Обе они построены по принципу иерархического дерева. Первая область – это дерево типов данных, вторая – дерево данных. Дерево типов описывает структуру данных дерева данных, поэтому без дерева типов нет никакой логической целостности дерева данных.
Уровень упрощения – уровень детализации представления об объекте реального мира, достаточный нам для его описания и последующего использования.
Свойство объекта – это одна из характеристик объекта реального мира, информацию, о которой мы будем хранить в базе данных.
События – набор реакций объекта на изменения внешних условий, описанных в нашей базе данных.
Тип – набор свойств и событий объекта, описанных как единый комплекс. При этом, в зависимости от уровня упрощений, у нас может быть свойством типа другой тип.
Объект – совокупность типов и свойств, объединенных в один тип, способный описать объект реального мира.
Связь – это свойство типа или свойства типа, характеризующая взаимосвязь типов в дереве данных или способ изменения значения свойства объектного типа соответственно. Бывают три типа связей: включение в дереве данных, вставка из другого типа значения свойства типа и ссылка на экземпляр типа в дереве данных. Включение позволяет строить дерево данных.