Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Языки программирования систем ООБД и языки запросов
Вызывающее интерес все большего числа исследователей и разработчиков и активно развивающееся направление объектно-ориентированных баз данных (ООБД) обладает несколькими специфичными характерными чертами. При том, что практически все осознают потребность в ООБД, отсутствует какая-либо общая, повсеместно признанная точка зрения о том, что должны обеспечивать системы управления ООБД (ООСУБД). В самых общих словах, на уровне общего согласия, ООБД должна содержать классы объектов произвольно сложной структуры, инкапсулирующее поведение. Практически все согласны, что ООСУБД должна поддерживать систему объектно-ориентированного программирования, позволяющую как определять новые классы объектов, так и создавать прикладные системы. Более того, многие рассматривают это как основную черту ООБД - устранение несоответствия между языками программирования и языками БД [1]. Вместе с тем, односторонний взгляд на ООСУБД как на систему объектно-ориентированного программирования, поддерживающую долговременное хранение объектов, не отражает специфику таких систем как систем управления базами данных. Возникающая ситуация в некотором смысле противоположна ситуации с реляционными СУБД, но столь же неудовлетворительна. В случае реляционных систем имеются мощные средства управления БД - непроцедурные языки запросов и манипулирования данными, но программирование прикладных систем происходит с использованием не очень естественных комбинаций языков программирования и языков БД (например, языка Си со встроенным SQL). В большинстве реализованных ООСУБД поддерживается система объектно-ориентированного программирования, но средства запросов к ООБД существенно слабее, чем в реляционных системах. Очевидные недостатки этой ситуации можно объяснять разными причинами, но прежде всего они кроятся в отсутствии простого и мощного теоретического основания ООБД. В этой работе я не претендую на создание такого базиса. Рассматриваются лишь некоторые аспекты, которые в будущем, возможно, могли бы послужить основой непроцедурных языков запросов к ООБД. Более точно, памятуя о той роли, которую сыграла реляционная алгебра в истории языков запросов реляционных СУБД, я предлагаю алгебру классов для ООБД. Основная мысль состоит в том, чтобы использовать понятие класса для обеспечения замкнутости алгебры. Подобно тому, как операндами и результатом выражения реляционной алгебры являются отношения, операндами и результатом выражения алгебры классов являются классы. В предлагаемой алгебре используется тот же набор операций, что и в классической реляционной алгебре. Проблема состояла в том, чтобы разработать правильную интерпретацию этих операций в контексте ООБД.
Для разработки алгебры объектов потребовалось уточнить базовые концепции и определения ООБД. Заметим, что ни одно из этих уточнений не является новым: соответствующие идеи неоднократно появлялись в публикациях. Мне не приходилось встречать в публикациях только одну идею - возможность существования в ООБД нескольких классов однотипных объектов. При реализации непроцедурных языков ООБД возникает ряд вопросов, связанных главным образом с трудностями оптимизации запросов. В существующих системах эта проблема, как правило, решается за счет отказа от инкапсуляции объектов или путем введения существенных ограничений на инкапсуляцию. В данной работе предлагается некоторый подход, дающий возможность выполнять оптимизацию запросов к ООБД без требования ограничения инкапсуляции объектов. Общая структура статьи следующая. Второй раздел содержит краткий обзор языков запросов к ООБД и методов оптимизации запросов. В третьем разделе приводятся некоторые соображения из области реляционной алгебры, повлиявшие на разработку алгебры классов. В четвертом разделе содержатся основные определения и формулировка алгебры классов. Пятый раздел посвящается оптимизации запросов к ООБД. Шестой раздел - заключение.
|
|||||
Последнее изменение этой страницы: 2021-12-15; просмотров: 23; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.217.134 (0.004 с.) |