Труды КНЦ вып.12 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ вып. 5/2021(12))

С другой стороны, если хранение экземпляров сущности Х «разделить» на отношения, содержащие однородные по набору атрибутов группы экземпляров с соответствующими заголовками, то число таких отношений в БД будет равно количеству однородных групп, а представление значений атрибутов <a 1 , ..., an> в БД может оказаться избыточным. В качестве решения указанной проблемы предлагается разделить хранение общих атрибутов объектов, относимых к одной сущности (<a 1 , . , an>), и «индивидуальных» атрибутов отдельных экземпляров или однородных групп объектов этой сущности (рис.2). В общем случае может быть реализовано несколько уровней группирования экземпляров с одинаковыми наборами атрибутов. Проектирование реляционных отношений при «открытых» наборах атрибутов Еще одной проблемой, с которой могут столкнуться разработчики структуры РБД предметной области - «открытость» набора атрибутов, значения которых предстоит хранить. Имеется ввиду, что при формировании структуры БД отсутствует полная информация о подлежащих хранению атрибутах. Это может быть обусловлено, в частности, необходимостью дополнения БД новыми атрибутами представленных в базе сущностей в связи с применением новых моделей и расширением спектра решаемых с использованием этой базы задач. Реляционная модель позволяет расширить хранимое отношение без изменения уже существующей части. Но реализация такой процедуры, по сути, представляет собой изменение структуры БД, что далеко не всегда возможно в рамках прикладной информационной системы, уже эксплуатируемой конечными пользователями. Обеспечить возможность расширения набора атрибутов, отражающих свойства объектов предметной области, позволяет следующие решение. Для представления используемых атрибутов в РБД формируется отношение, выполняющее роль справочника свойств объектов. Минимальный заголовок этого отношения может состоять всего из трех элементов: идентификатор свойства, название свойства и единицы измерений значения свойства (<Id_property, name_property, unit>). Использование справочника позволяет легко пополнять перечень атрибутов, которые могут дополнительно понадобиться в качестве характеристик представляемых в БД объектов. При этом в отношение X (рис.3), кроме идентификатора и «имени» экземпляра, могут быть включен только набор атрибутов ai, имеющийся у всех экземпляров сущности X, а «индивидуальные» атрибуты вынесены в отношение X_property. Если у экземпляров сущности X нет общих атрибутов, то заголовок отношения «X» будет состоять только из двух элементов: <Id_X; X_name>. На основе этого решения может быть реализовано описание общих свойств любой группы однотипных элементов. В этом случае экземпляром сущности X является не единичный экземпляр объекта, а однородная группа, имеющая свое название (X_name) и идентификатор (Id_X). Все свойства группы описываются в отношении «X_property» набором записей с одинаковым идентификатором группы. Количество записей для группы определяется количеством задаваемых для нее свойств (выбираемых из справочника). Текстовые наименования групп элементов, которые могут быть довольно 133

RkJQdWJsaXNoZXIy MTUzNzYz