Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_PM_Final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
963.07 Кб
Скачать

90. Понятие объектно – ориентированной бд.

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

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

Часто возникает впечатление, что хотя ограничения существующих систем пытаются объяснять некими принципиальными соображениями (например, что развитые возможности конструирования классов, подкрепленные средствами наследования классов позволяют ограничиться запросами только на одном классе объектов), на самом деле эти ограничения являются следствием недостаточно развитой технологии. Кажется, что в условиях отсутствия признанного лидера в области ООСУБД (каким была, например, компания IBM со своим проектом System R в области РСУБД), единственным путем к выработке такой технологии является продолжающаяся (иногда дублирующая) работа исследователей.

В предыдущих работах мы стремились к тому, чтобы показать принципиальную возможность построения ненавигационного языка запросов к ООБД на основе усиления теоретико–множественного смысла понятия класс [7] и предложить общую концепцию языка программирования ООБД, который естественно (без потери импеданса) включает в себя язык запросов [8]. В этих работах не содержались какие–либо детальные технические проработки, изложение велось на идейном уровне.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]