Связь категоризации

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

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

image81

Рис. 2.41. Пример схематичного представления связи категоризации


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

В рассматриваемом примере связь категоризации (рис. 2.42) целесообразно выделить при рассмотрении объекта "Клиент", который может представляться двумя категориями: "Физическое лицо" и "Юридическое лицо", где каждый обладает своим набором атрибутов и требует своего специфического описания в структурных элементах модели базы данных. Однако эти объекты-категории обладают и рядом общих атрибутов, характеризующих их в рамках описания клиента магазина: "Номер лицевого счета".

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

image82

Рис. 2.42. Пример атрибутивного состава объектов со связью категоризации


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

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

 
< Пред   СОДЕРЖАНИЕ     След >