Ооп бд объектно-ориентированная база данных
Вид материала | Документы |
- Программа дисциплины Объектно-ориентированное программирование Рекомендуется для направления, 591.42kb.
- Лекция на тему «Что такое база данных. Реляционная база данных ms access», 67.11kb.
- Абстракции, наследование и полиморфизм, 107.42kb.
- Ms access База данных (БД), 134.51kb.
- Лекция: Методологии моделирования предметной области: Методологии моделирования предметной, 347.91kb.
- Развитие объектно-ориентированных систем управления базами данных, 122.52kb.
- Должна быть конкретной, кратко сформулированной и соответствовать современному уровню, 20.13kb.
- В вычислительной математике, 1443kb.
- Базы данных 2, 398.32kb.
- Лекция на тему: Основы организации баз данных, 393.78kb.
4.Зв'язки в технології ODMGСвязи В большинстве объектных систем связи неявно моделируются как свойства, значениями которых являются объекты. Например, если человек работает на некоторую компанию, то у каждого объекта-человека должно иметься свойство, которое можно назвать worksFor и значением которого является соответствующий объект-компания. Возникает проблема, если у объекта-компании имеется свойство, которое затрагивает множество служащих этой компании (например, employees – множество, включающее все объекты служащих данной компании). Эти два свойства являются несвязными, и поддержка их согласованности может вызывать значительную программистскую проблему. В модели ODMG , подобно ER -модели, различаются два вида свойств – атрибуты и связи, хотя и несколько другим образом. Атрибутами называются свойства объекта, значение которых можно получить по OID объекта, но не наоборот. Значениями атрибутов могут быть и литералы, и объекты, но только тогда, когда не требуется обратная ссылка. Связи – это инверсные свойства. В этом случае значением свойства может быть только объект, поскольку литеральные значения не обладают свойствами. Поэтому возраст служащего обычно моделируется как атрибут, а компания, в которой работает служащий, – как связь. При определении связи должна быть определена ее инверсия. В приведенном выше примере, если worksFor определяется как связь, должно быть явно указано, что инверсией является свойство employees объекта-компании, а при определении employees должна быть указана инверсия worksFor . После этого система баз данных должна поддерживать согласованность связанных данных, что позволяет сократить объем работы программистов приложений и повысить надежность их программ. Если в объекте-компании свойство employees не требуется, то свойство объекта-служащего employees может быть атрибутом. 5. Об'єкти і літеральні типииОбъектные и литеральные типы В модели ODMG база данных представляет собой коллекцию различимых значений (denotable values ) двух видов – объекты и литералы. Объекты обладают свойствами идентифицируемости и индивидуального существования, а литералы являются компонентами объектов. Модель данных содержит конструкции для спецификации объектных и литеральных типов. Объектные типы существуют в иерархии объектных типов; литеральные типы похожи на типы, характерные для обычных языков программирования (например, С или Pascal ). В модели ODMG не используется термин класс. Единственная классификационная конструкция называется типом, и типы описывают как объекты, так и литералы. То, что называлось классом в Первом манифесте, в ODMG называется объектным типом. В модели поддерживается ряд литеральных типов – базовые скалярные числовые типы, символьные и булевские типы (атомарные литералы), конструируемые типы литеральных записей (структур) и коллекций. Конструируемые литеральные типы могут основываться на любом литеральном или объектном типе, но считаются неизменчивыми. Даты и время строятся как литеральные структуры. Подробнее о литеральных типах см. в следующем подразделе. Объектный тип состоит из интерфейса и одной или нескольких реализаций.25 Интерфейс описывает внешний вид типа: какими свойствами он обладает, какие в нем доступны операции и каковы параметры у этих операций.26 В реализации определяются структуры данных, реализующие свойства, и программный код, реализующий операции. Интерфейс составляет общедоступную (public ) часть типа, а в реализации при необходимости могут вводиться дополнительные частные (private ) свойства и операции. Все объектные типы (системные или определяемые пользователем) образуют решетку (lattice ) типов, в корне которой находится предопределенный объектный тип Object . Поскольку для определения реализации объектного типа требуется использовать один из языков OML , которые мы в этой статье не обсуждаем, ограничимся рассмотрением интерфейсной части типа. Интерфейс объектного типа состоит их следующих компонентов: имя; набор супертипов; имя поддерживаемого системой экстента; один или более ключей для ассоциативного доступа; набор атрибутов,каждый из которых может быть объектом или литеральным значением; набор связей, каждая из которых указывает на некоторый другой объект; набор операций. Атрибуты и связи совместно называются свойствами, а свойства и операции совместно называются характеристиками объектного типа (или объектов данного типа). Точно так же, как имеются атомарные и конструируемые литеральные типы, существуют атомарные и конструируемые объектные типы. В стандарте ODMG 3.0 говорится, что атомарными объектными типа являются только типы, определяемые пользователями (см. ниже).. Конструируемые объектные типы включают структурные типы и набор типов коллекций. 6.Мова визначення об‘єктівПонятие о DDLЯзык SQL имеет две составляющие: язык обращения с данными Data Manipulation Language (DML) и язык определения данных Data Definition Language (DDL). DML состоит из операторов, используемых для создания и получения данных. DDL состоит из операторов, используемых для создания объектов в базе данных и для установки свойств и значений атрибутов самой базы данных. DML и DDL Чем же отличаются эти две группы операторов? В то время, как операторы DML достаточно однотипны для различных реализаций SQL (что дает возможность каждому поставщику программной продукции вводить свои расширения), DDL имеет существенные различия для разных продуктов. Создание объектовОбъекты базы данных создаются программным путем с помощью оператора CREATE. Точный синтаксис оператора CREATE различен для каждого объекта, однако объекты, которые вы можете создавать, а также базовый синтаксис оператора CREATE для каждого объекта, вы можете найти в таблице 22.1.
Из операторов CREATE, рассмотренных в таблице 22.1, только оператор CREATE TABLE является достаточно сложным. Это вызвано тем, что определение таблицы составляет несколько различных элементов. Вы должны определить столбцы, а каждый столбец должен иметь имя и тип данных. Вы можете задать для столбцов возможность использования нулевых (NULL) значений идентификационной строке или в GUID, значение по умолчанию, любые ограничения, применимые к столбцу, а также несколько других свойств, которые мы не будем здесь рассматривать. Упрощенная версия синтаксиса, для определения столбцов имеет следующий вид: <имя_столбца> <тип_данных> [NULL | NOT NULL] [ [DEFAULT <значение_по_умолчанию>] | [IDENTITY [(начальное_значение>, <шаг_увеличения>)[NOT FOR REPLLCATION]]]] [ROWGUIDCOL] [<ограничение_для_столбца>[, <ограничение_для_столбца>...]] Изменение объектов В то время как оператор CREATE создает новый объект, оператор ALTER предоставляет механизм для изменения определения объекта. Не все объекты, созданные с помощью оператора CREATE, имеют соответствующий оператор ALTER. В таблице 22.2 приведен синтаксис для объектов, которые могут быть изменены.
Оператор ALTER TABLE является составным по той же причине, почему и оператор CREATE TABLE: определение таблицы состоит из нескольких различных частей. Упрощенная версия синтаксиса для оператора ALTER TABLE приведена ниже: ALTER TABLE <имя> { [ALTER COLUMN <определение_столбца>] | [ADD <определение_столбца>] | [DROP COLUMN <имя_столбца>] | [ADD [WITH NOCHECK] CONSTRAINT <ограничение_для_таблицы>] } Ключевые слова CHECK (подразумевается) и NOCHECK перед ограничением таблицы, предписывают SQL Server тестировать или не тестировать имеющиеся в таблице данные с учетом нового ограничения. WITH NOCHECK используется лишь в крайне редких случаях. Изменение столбцов Ниже представлено несколько ограничений для фразы ALTER COLUMN. Столбец не может быть изменен, если он:
Удаление объектовОператор DROP удаляет объект базы данных. В отличие от операторов CREATE и ALTER, операторы DROP имеют простой и неизменный синтаксис: DROP <тип_объекта> <имя> 7. Преимущества и недостатки Oracle Основные достоинства Oracle:
Основной недостаток Oracle:
RACТехнология Real Application Cluster, появившаяся в 9-й версии СУБД Oracle, позволяет объединять сервера, обслуживающие СУБД в одну <большую базу данных>, что позволяет достичь двух ключевых целей:
Похожие технологии реализованы в Microsoft SQL Server 2008, но имеется одно существенное отличие: Microsoft Application Cluster позволяет повысить отказоустойчивость системы в целом, но без влияния на производительность. Таким образом, использование RAC позволяет значительно повысить производительность системы, которая дошла до своего <физического потолка>, с сохранением средств, потраченных на это оборудование, и повысить отказоустойчивость системы. Как следствие – надежность и экономия. RATТехнология Real Application Testing позволяет значительно снизить затраты на проведение плановых изменений в конфигурации существующего программного или аппаратного обеспечения. Суть технологии RAT заключается в воспроизведении нагрузки на тестовой базе данных в точном соответствии с нагрузкой на рабочем сервере. Active Data GuardЭта технология позволяет создать резервный сервер основной базы данных с применением всех изменений, сделанных на основном сервере. Получается система, где работают как минимум два сервера: основной и резервный. В случае выхода из строя или плановой остановки основного сервера в работу автоматически вступает резервный сервер, и все пользователи автоматически переключаются и продолжают работу на резервном сервере. Технология проста в реализации и настройке и не требует больших затрат на развертывание и оборудование. Физически резервный сервер может находиться в другом помещении, здании или даже городе. Все, что требуется, – это обычное сетевое соединение между двумя серверами. Можно использовать несколько резервных серверов для одного рабочего сервера.Какие преимущества предоставляет использование этой технологии ?
Похожие технологии реализованы и в DB2 и в MS SQL Server, но Oracle Data Guard выгодно отличается простотой реализации и возможностью использовать резервный сервер в работе и резервном копировании, а также поддержкой различных режимов синхронизации основного и резервного сервера: синхронный, асинхронный, отложенный. Total RecallСутью технологии Total Recall является возможность разгрузки базы данных от информации устаревшей, но которую необходимо хранить по требованиям бизнеса или контролирующих органов с сохранением обычного доступа к этой информации. Использование Total Recall позволяет разгрузить таблицы базы данных от накопленной и редко использующейся информации. Но сохраняется возможность выполнить обычный SQL запрос и получить такую информацию на любой момент в прошлом, т.е. не требуется вносить какие-то изменения в существующее приложение, работающее с базой. Помимо этого, Total Recall обеспечивает неизменность исторической информации и защиту от ее подделки. Похожих или аналогичных технологий в других СУБД пока не реализовано. In Memory Database CacheУникальная технология In Memory Database Cache реализована на базе существующей базы данных Oracle TimesTen in memory database. Эта СУБД за счет ряда применяемых уникальных решений позволяет увеличить скорость обработки транзакций и выдачи запросов более чем на порядок (т.е. в 10 раз), чем обычная СУБД Oracle Database. Эта СУБД ориентирована на хранение и обработку данных только в оперативной памяти сервера. Начиная с 10-й версии Oracle Database, СУБД Oracle TimesTen может выступать в качестве промежуточного звена между клиентским приложением и Oracle Database. В этом случае TimesTen реализует функции сверхбыстрого кэша данных, принимая и обрабатывая транзакции и передавая обработанные данные на хранение в Oracle Database. Такая архитектура позволяет значительно повысить потенциал и расширить сферу применения Oracle Database. Фактически, в такой архитектуре Oracle Database способна справиться с любой транзакционной нагрузкой. Automatic Storage ManagementТехнология ASM приносит принципиально новые концепции в управление дисковой подсистемой сервера базы данных. Суть этой технологии заключается в абстрагировании дисковой подсистемы СУБД от файлов на жестком диске в файловой системе и абстрагировании собственно сервера базы данных от расположения файлов на дисках. В ASM управление осуществляется не файлами на дисках, а разделом диска, не форматированным в файловой системе. Причем, если используется не один жесткий диск, а набор дисков или RAID-массивов, эти диски объединяются в группу ASM и выглядят для СУБД как один жесткий диск. Решением задачи по распараллеливанию данных по жестким дискам для достижения оптимальной производительности занимается теперь не системный администратор, а экземпляр ASM в автоматическом режиме и эффективней, чем это мог бы сделать администратор БД. Также решается задача по обеспечению надежности за счет избыточности хранимых данных. Уровень избыточности задается системным администратором. Теперь возможно извлекать и добавлять жесткие диски для базы данных <налету>, путем выполнения простых команд ASM. Поскольку ASM – это отдельный экземпляр, т.е. отдельнаый программный комплекс, не связанный с СУБД, один экземпляр ASM может обслуживать несколько экземпляров СУБД. Аналогичных решений в других СУБД пока не предложено. Вместе с тем, трудно оспаривать выгоды по производительности и упрощению (а значит повышению надежности) администрирования СУБД, использующей ASM. На сегодняшний день существуют как проприетарные, так свободно используемые системы управления базами данных, например, такие как:
Каждая система имеет свои особенности, преимущества и недостатки и свою цену. СУБД Oracle является старейшей СУБД, первая версия появилась в 1979 году. С тех пор Oracle развивался, становился быстрее, надежней и удобней для разработчика и пользователя. Фактически, конкурирующие СУБД повторяют тот путь, который прошел в своем развитии Oracle, и реализуют у себя технологии, реализованные в Oracle Database с годичным и более отставанием и с различным успехом. Как уже было отмечено, на сегодняшний день Oracle обладает как минимум 4-мя уникальными технологиями, обеспечивающими конкурентное преимущество этой СУБД. О том, что Oracle Database является признанным лидером в этой отрасли производства ПО, свидетельствует тот факт, что по итогам 2007 года Oracle Database принадлежит 47% мирового рынка систем управления базами данных. |