Лекционный комплекс модуль Базы данных и субд глоссарий бд база данных, поименованная совокупность структурированных данных субд icon

Лекционный комплекс модуль Базы данных и субд глоссарий бд база данных, поименованная совокупность структурированных данных субд


Смотрите также:
Опираются на единый устоявшийся комплекс основных понятий. Рассмотрим эти понятия...
Программа дисциплины «Базы данных»...
Тема «Основные термины и понятия»...
Системы управления базами данных (субд). Функции субд базы данных (БД)...
Методика выполнения работы Введение в базы данных и Microsoft Access База данных (БД)...
Реферат на тему: Access. Базы данных...
Учебная программа по дисциплине базы данных и субд дорохина Т. В., Скуратовская О. Г...
Управление транзакциями в системах баз данных Понятие транзакции...
Гис-технологии в экологии...
Вопросы к государственному меж...
Вопросы к государственному междисциплинарному...
Лекция №1: Стандарты языка sql...



Загрузка...
страницы: 1   2   3   4   5   6
вернуться в начало
скачать
^

Реляционные базы данных.


В реляционных базах данных (Relational Database System, RDBS) все данные отображаются в двумерных таблицах. База данных, таким образом, это ни что иное, как набор таблиц. RDBS и ориентированные на записи системы организованы на основе стандарта B-Tree или методе доступа, основанном на индексации – Indexed Sequential Access Method (ISAM) и являются стандартными системами, использующимися в большинстве современных программных продуктов. Для обеспечения комбинирования таблиц для определения связей между данными, которые практически полностью отсутствуют в большинстве программных реализаций B-Tree и ISAM, используется языки, подобные SQL (IBM), Quel (Ingres) и RDO (Digital Equipment), причем стандартом отрасли в настоящее время стал язык SQL, поддерживаемый всеми производителями реляционных СУБД.

Оригинальная версия SQL – это интерпретируемый язык, предназначенный для выполнения операций над базами данных. Язык SQL был создан в начале 70 х как интерфейс для взаимодействия с базами данных, основанными на новой для того времени реляционной теории. Реальные приложения обычно написаны на других языках, генерирующих код на языке SQL и передающих их в СУБД в виде текста в формате ASCII. Нужно отметить также, что практически все реальные реляционные (и не только реляционные) системы помимо реализации стандарта ANSI SQL, известного сейчас в последней редакции под именем SQL2 (или SQL-92), включают в себя дополнительные расширения, например, поддержка архитектуры клиент-сервер или средства разработки приложений.
^

Объектно-реляционные методы


Несмотря на рассмотренные недостатки реляционных баз данных, они обладают рядом достоинств:

  • разделение таблиц разными программами;

  • развернутый “код возврата” при ошибках;

  • высокая скорость обработки запросов (команда SELECT языка SQL)

  • результатом выборки является таблица, которая содержит поля, удовлетворяющие заданному критерию);

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

  • относительно высокая скорость при работе с большими объемами данных.



^ Рис. 1. Возможные подходы к объединению объектных и реляционных БД.


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

Объектно-реляционные шлюзы. При использовании такого метода пользователь взаимодействует с БД при помощи языка ООСУБД, а шлюз заменяет все объектно-ориентированные элементы этого языка на их реляционные компоненты. За это опять приходиться расплачиваться производительностью. Например, шлюз должен преобразовать объекты в набор связей, сгенерировать оригинальные идентификаторы (original identifier – OID) объектов и передать это в реляционную БД. Затем шлюз должен каждый раз, когда используется интерфейс реляционной СУБД, преобразовывать OID, найденный в базе, в соответствующий объект, сохраненный в РСУБД.

Гибридные СУБД. Еще одним решением может стать создание гибридных объектно-реляционных СУБД, которые могут хранить и традиционные табличные данные, и объекты. Многие аналитики считают, что будущее за такими гибридными БД. Ведущие поставщики реляционных СУБД начинают (или планируют) добавлять к своим продуктам объектно-ориентированные средства. В частности, Sybase и Informix собираются в следующих версиях СУБД ввести поддержку объектов. Подобные разработки намерены вести и независимые фирмы. Например, компания Shores готовится оснастить объектно-ориентированными средствами СУБД Oracle8, выпуск которой намечен на конец 1996 г.
^

Объектно-ориентированные базы данных.

Что такое ODBMS?


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

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

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

  • Целостность;

  • Масштабируемость;

  • Отказоустойчивость.

Отметим, что ООБД не требуют многих из тех внутренних функций и механизмов, которые столь привычны и необходимы в реляционных БД. Например, при небольшом числе пользователей, длинных транзакциях и незначительной загрузке сервера объектные СУБД не нуждаются в поддержке сложных механизмов резервного копирования/восстановления (исторически сложилось так, что первые ООБД проектировались для поддержки небольших рабочих групп – порядка десяти человек – и не были приспособлены для обслуживания сотен пользователей). Тем не менее технология БД определенно созрела для крупных проектов.



^ Рисунок 2 Прямая и косвенная адресации.


Третье необходимое качество базы данных – это отказоустойчивость. Именно это свойство отличает программный продукт от “прилады”. Существуют несколько способов обеспечения отказоустойчивости:

  • резервное копирование и восстановление;

  • распределение компонентов;

  • независимость компонентов;

  • копирование.

Объектная технология и объектные базы данных

Объектная технология и объектные базы данных являются практическим результатом работы по моделированию деятельности мозга. Было замечено, что мозг может, с одной стороны, хранить очень сложную и разнородную информацию, а с другой стороны, — манипулировать ею, используя единые подходы. Точно также, очень сложное поведение объектов реального мира должно быть реализовано в программах таким образом, чтобы скрыть эту сложность. Несомненно, что обе указанные особенности все больше и больше находят отражение в сегодняшних наиболее передовых приложениях.
^

Стандарты объектных баз данных.


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

В области объектных СУБД в настоящее время выработаны стандарты для:

  • объектной модели;

  • языка описания объектов;

  • языка организации запросов (Object Query LanguageOQL);

  • “связующего” языка (C++ и, конечно же, Smalltalk);

  • администрирования;

  • обмена (импорт/экспорт); интерфейсов инструментария и др.

Хотя у Microsoft и свое мнение на этот счет, организацией, выработавшей наиболее используемые на сегодня и устоявшиеся стандарты, является консорциум поставщиков ООСУБД ODMG (ООСУБД), которого поддерживают практически все действующие лица отрасли. В сотрудничестве с OMG, ANSI, ISO и другими организациями был создан стандарт ODMG-93. Этот стандарт включает в себя средства для построения законченного приложения, которое будет работать (после перекомпиляции) в любой совместимой с этой спецификацией ООСУБД. В книгу ODMG-93 входят следующие разделы:

  • Язык определения объектов (Object Definition Language – ODL);

Язык объектных запросов (Object Query Language – OQL);



Рисунок 3 Схема использования ODL для построения приложения.

  • Связывание с C++;

  • Связывание со Smalltalk.

ODL. В качестве языка определения объектов (ODL) ODMG был выбран существующий язык IDL (Interface Definition Language – язык описания интерфейсов), который был дополнен такими необходимыми для объектных БД свойствами, как определение коллекций, двунаправленных связей типа “многие-ко-многим”, ключей и др. В сочетании со средствами языка IDL определения атрибутов и операций, это позволяет определять практически любые объекты. Все дополнения реализованы в виде доопределения методов, что обеспечивает совместимость со стандартами OMG, например стандартом CORBA.

OQL. За основу языка OQL была взята команда SELECT языка SQL2 (или SQL-92) и добавлены возможность направлять запрос к объекту или коллекции объектов и возможность вызывать методы в рамках одного запроса. Данные, полученные в результате запроса, могут быть скалярными (включая кортежи), объектами или коллекциями объектов. При определении стандарта члены ODMG руководствовались следующими принципами:

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

  • Определение временных экземпляров (Transient Instance) и экземпляров, создаваемых на длительный срок (Transient Instance) при помощи оператора new(). При перегрузке оператора new() оба типа экземпляров могут создаваться от одного класса, который может существовать продолжительное время.

  • Обеспечение устойчивости через стандартный механизм наследования; пользователь может определять экземпляры временные и рассчитанные на продолжительное использование средствами оригинальной версии языка.

  • Использование специального механизма указателей (Smart Pointers). Связи между объектами объявляются при помощи шаблона Ref<> и перегрузки оператора ->; это позволяет использовать специальные указатели (контролируемые системой; см., например, идентичность в словарике (стр. Error: Reference source not found) и упоминание косвенной адресации (стр. Error: Reference source not found) как обычные.

^ Объектное хранение данных.

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

^ Сравнение объектного и реляционного доступа

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

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

^ Объектная модель данных и объектное программирование.

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

^ Основные концепции объектной технологии

Наследование – это способность порождать один класс объектов из другого. Новый класс (подкласс) сохраняет все свойства и методы своего “родителя”, кроме того, он может иметь дополнительные свойства и методы, характерные только для него. В основе взаимоотношений между исходными и производными классами лежит принцип принадлежности.

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

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

^ Реляционный доступ.

Многие инструменты (например, генераторы отчетов) используют для доступа к данным не объектные технологии, а SQL, что не исключает их из разряда часто применяемых инструментов.

^ Вопросы для самопроверки:




  1. оставить комментарий
    страница3/6
    Дата31.03.2012
    Размер0,86 Mb.
    ТипДокументы, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы: 1   2   3   4   5   6
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх