Обработка запросов к объектному представлению реляционной базы данных (начало)

Нужен дешевый хостинг в Украине? Выбирайте хостинг от Абрис-Ком. Выгодные условия, широкие возможности.

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

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

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

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

Применение объектного представления РБД вносит следующие особенности в оформление запросов, сохраняя их общий синтаксис:

  • в SQL-запросе указываются названия полей таблиц, а в запросе к объектному представлению — названия атрибутов объектов, которые формируются следующим образом: 1) атрибут, принадлежащий объекту на верхнем уровне иерархии объектов (т.е. основному объекту), идентифицируется сочетанием названия объекта и названия атрибута (например, Личность.имя); 2) атрибут, принадлежащий объекту на более глубоком уровне иерархии (т.е. вспомогательному объекту), идентифицируется сочетанием названий всех объектов на пути от объекта верхнего уровня иерархии к объекту, которому он непосредственно принадлежит, и названием атрибута (например, Лич-ность.Работа.Должность.код);
  • в SQL-запросе типа SELECT, объединяющем несколько таблиц с условием объединения по равенству первичных и внешних ключей, требуется указывать это условие в разделе WHERE, а список соответствующих таблиц в разделе FROM, а в соответствующем ему запросе, объединяющем несколько объектов, данное условие и раздел FROM не указываются, т.к. условие объединения хранится в ОСД и будет добавлено к существующему разделу WHERE, а список таблиц в разделе FROM будет сформирован автоматически на этапе обработки запроса.

Из четырех основных типов SQL-запросов, оперирующих данными в таблицах РБД (запросы типа SELECT, INSERT, UPDATE и DELETE — выборка, вставка, обновление и удаление данных соответственно), наибольший интерес представляет запрос типа SELECT, т.к. он имеет наибольшее количество различных способов использования и в прикладных задачах встречается чаще всего. Кроме того, его различные формы могут присутствовать в качестве подзапросов в запросах других типов, поэтому методика обработки запроса к объектному представлению, позволяющая выполнять его в обычной СУБД, будет рассмотрена на примере запроса типа SELECT.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.