Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 9
Текст из файла (страница 9)
2.9, имеются еще измерения: Подразделение, Регион, Фирма, Страна. Заметим, что в этом случае в гиперкубе существует иерархия (снизу вверх) отношениймежду измерениями: Менеджер, Подразделение, Регион, Фирма, Страна.Пусть в описанном гиперкубе определено, насколько успешно в 1995 годуменеджер Петров продавал автомобили «Жигули» и «Волга». Тогда, поднимаясь на уровень выше по иерархии, с помощью операции «агрегация» можно выяснить, как выглядит соотношение продаж этих же моделей на уровнеподразделения, где работает Петров.Основным достоинством многомерной модели данных является удобствои эффективность аналитической обработки больших объемов данных, связанных со временем.
При организации обработки аналогичных данных наоснове реляционной модели происходит нелинейный рост трудоемкости операций в зависимости от размерности БД и существенное увеличение затратоперативной памяти на индексацию.Недостатком многомерной модели данных является ее громоздкость дляпростейших задач обычной оперативной обработки информации.Примерами систем, поддерживающих многомерные модели данных, являются Essbase (Arbor Software), Media Multi-matrix (Speedware), OracleExpress Server (Oracle) и Cache (InterSystems).
Некоторые программные продукты, например Media/MR (Speedware), позволяют одновременно работать с многомерными и с реляционными БД. В СУБД Cache, в которой внутренней модельюданных является многомерная модель, реализованы три способа доступа к данным:прямой (на уровне узлов многомерных массивов), объектный и реляционный.2 . 6 . Объектно-ориентированная модельВ объектно-ориентированной модели при представлении данных имеетсявозможность идентифицировать отдельные записи базы. Между записямибазы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования.Стандартизованная объектно-ориентированной модель описана в рекомендациях стандарта ODMG-93 (Object Database Management Group — группа управления объектно-ориентированными базами данных).
Реализовать в полном объе-42Часть 1. Основы построениябазданныхме рекомендации ODMG-93 пока не удается. Для иллюстрации ключевых идейрассмотрим несколько упрощенную модель объектно-ориентированной БД.Структура объектно-ориентированной БД графически представима в видедерева, узлами которого являются объекты. Свойства объектов описываютсянекоторым стандартным типом (например, строковым — string) или типом,конструируемым пользователем (определяется как class).Значением свойства типа string является строка символов.
Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в которомон определен как свойство. Объект-экземпляр класса принадлежит своемуклассу и имеет одного родителя. Родовые отношения в БД образуют связнуюиерархию объектов.Пример логической структуры объектно-ориентированной БД библиотечного дела приведен на рис. 2.10.Здесь объект типа Б И Б Л И О Т Е К А является родительским для объектовэкземпляров классов АБОНЕНТ, КАТАЛОГ и ВЫДАЧА. Различные объекты типа КНИГА могут иметь одного или разных родителей.
Объекты типаКНИГА, имеющие одного и того же родителя, должны различаться по крайней мере инвентарным номером (уникален для каждого экземпляра книги),но имеют одинаковые значения свойств isbn, удк, название и автор.Логическая структура объектно-ориентированной БД внешне похожа наструктуру иерархической БД. Основное отличие между ними состоит в методах манипулирования данными.Рис. 2.10. Логическая структура БД библиотечного дела2.
Моделии типыданных43Для выполнения действий надданными в рассматриваемой модели БД применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма. Ограниченно могут применяться операции, подобные командам SQL (например, для создания БД).Создание и модификация БД сопровождается автоматическим формированием и последующей корректировкой индексов (индексных таблиц), содержащих информацию для быстрого поиска данных.Рассмотрим кратко понятия инкапсуляции, наследования и полиморфизма применительно к объектно-ориентированной модели БД.Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Так, если в объект типа КАТАЛОГ добавить свойство, задающее телефон автора книги и имеющее название телефон, то мы получим одноименные свойства у объектов А Б О Н Е Н Т иКАТАЛОГ.
Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано.Наследование, наоборот, распространяет область видимости свойства навсех потомков объекта. Так, всем объектам типа КНИГА, являющимся потомками объекта типа КАТАЛОГ, можно приписать свойства объекта-родителя: isbn, удк, название и автор. Если необходимо расширить действиемеханизма наследования на объекты, не являющиеся непосредственнымиродственниками (например, между двумя потомками одного родителя), тов их общем предке определяется абстрактное свойство типа abs. Так, определение абстрактных свойств билет и номер в объекте Б И Б Л И О Т Е К А приводит к наследованию этих свойств всеми дочерними объектами А Б О Н Е Н Т ,КНИГА и ВЫДАЧА. Не случайно поэтому значения свойства билет классов А Б О Н Е Н Т и ВЫДАЧА, показанных на рисунке, будут одинаковыми —00015.Полиморфизм в объектно-ориентированных языках программированияозначает способность одного и того же программного кода работать с разнотипными данными.
Другими словами, он означает допустимость в объектахразных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента. Применительно к нашей объектно-ориентированной БД полиморфизм означает, чтообъекты класса КНИГА, имеющие разных родителей из класса КАТАЛОГ,могут иметь разный набор свойств. Следовательно, программы работы с объектами класса КНИГА могут содержать полиморфный код.Поиск в объектно-ориентированной БД состоит в выяснении сходства между объектом, задаваемым пользователем, и объектами, хранящимися в БД.Определяемый пользователем объект, называемый объектом-целыо (свойствообъекта имеет тип goat), в общем случае может представлять собой подмножество всей хранимой в БД иерархии объектов.
Объект-цель, а также резуль-Часть441. Основыпостроениябазданныхтат выполнения запроса могут храниться в самой базе. Пример запроса о номерах читательских билетов и именах абонентов, получавших в библиотекехотя бы одну книгу, показан на рис. 2.11.БАЗА ДАННЫХБИБЛИОТЕКАБИБЛИОТЕКАБИБЛИОТЕКАтипсвойствоclassgoalрайонАБОНЕНТКАТАЛОГstringclassclassВЫДАЧАбилетclassabsномерabsзначениеНевскийРис.
2.11. Фрагмент БД с объектом-целыоОсновным достоинством объектно-ориентированной модели данныхв сравнении с реляционной является возможность отображения информациио сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.Недостатками объектно-ориентированной модели являются высокая понятийная сложность, неудобство обработки данных и низкая скорость выполнения запросов.В 90-е годы существовали экспериментальные прототипы объектно-ориентированных систем управления базами данных. В настоящее время такиесистемы получили достаточно широкое распространение, в частности, к нимотносятся следующие С У Б Д : G-Base (Grapael), GemStone (Servio-Logic совместно с OGI), Statice (Symbolics), ObjectStore (Object Design), Objectivity/ D B (Objectivity), Versant (Versant Technologies), 0 2 (Ardent Software), ODBJupiter (научно-производственный центр «Интелтек Плюс»), а также Iris,Orion и Postgres.2 .
7 . Типы данныхОсновныеТИПЫданныхСУБДПервоначально С У Б Д применялись преимущественно для решения финансово-экономических задач. При этом, независимо от модели представления, в базах данных использовались следующие основные типы данных:• числовые. В качестве подтипов числовых данных часто используются2. Моделии типыданных45целочисленные, денежные (финансовые) и обычные вещественные. Примеры значений данных: 0.43, 328, 2Е+5;• символьные (алфавитно-цифровые). Примеры значений данных: «пятница», «строка», «программист»;• логические, принимающие значения «истина» (true) и «ложь» (false);• даты, задаваемые с помощью специального типа «Дата» или как обычные символьные данные. Примеры значений данных: 1.12.97, 2/23/1999.В разных С У Б Д эти типы могли несущественно отличаться друг от другапо названию, диапазону значений и виду представления.
С расширением области применения персональных компьютеров стали появляться специализированные системы обработки данных, например, геоинформационные, обработки видеоизображений и т. д. В ответ на это разработчики С У Б Д сталивводить в них поддержку новых типов данных. К числу сравнительно новыхтипов данных можно отнести следующие:• временные и дата-временные, предназначенные для хранения информации о времени и / и л и дате. Примеры значений данных: 31.01.85 (дата), 9:10:03(время), 6.03.1960 12:00 (дата и время);• символьные переменной длины, предназначенные для хранения текстовой информации большой длины, например, документа;• двоичные, предназначенные для хранения графических объектов, аудиои видеоинформации, пространственной, хронологической и другой специальной информации.
Двоичные данные часто называютмультимедиа-данными.Например, в MS Access таким типом является тип данных «Поле объектаOLE», который позволяет хранить в БД графические данные в формате B M P(Bitmap) и автоматически их отображать при работе с БД;• гиперссылки (hyperlinks), предназначенные для хранения ссылок на различные ресурсы (узлы, файлы, документы и т. д.), находящиеся вне базы данных, например, в сети Internet, корпоративной сети intranet или на жесткомдиске компьютера. Примеры значений данных: http:\\www.chat.ru,ftp:\\chance4u.teens.com;• данные в XML формате.Технология OLE (Object Linking and Embedding) реализует такой механизм связывания и встраивания объектов, при котором для обработки объекта вызывается приложение, в котором этот объект создавался.Мультимедиа-данныеСлово мультимедиа (multimedia) стало популярным в компьютерной области в 90-х годах.