Еще раз подчеркнем, что схема
Еще раз подчеркнем, что схема данных, возникающая в процессе объектной привязки, определяется как анализом предметной области, так и множеством отношений, возникших в результате нормализации описывающих ее данных. В качестве иллюстрации к этой мысли рассмотрим еще один случай, когда
атрибуты, входящие в ключ отношения и зависящие от класса, не являются внешним ключом. Продолжая наш пример, создадим схему данных, описывающих поставки товара на склад. Предположим, что в результате нормализации данных мы получили следующее простое отношение
rSupplyItems
SupplyDate |
Primary key |
Дата поставки |
GoodsID |
Primary key, Foreign key on rGoods.GoodsID |
Уникальный артикул товара |
Pieces |
|
Штуки, поставленные за день |
Первичный ключ этого отношения содержит поле GoodsID а, следовательно, это можно было бы предполагать, что это отношение должно определять структуру класса сGoods. Следуя этому предположению, мы должны создать свойство
PROPERTY pGoodsSupply{
SupplyDate As DATE UNIQUE;
Pieces AS INT;
}
которое в дальнейшем будет рассматриваться как домен (rdom) входящего в класс cGoods атрибута, который содержит информацию о поставках описываемого этим классом товара.
Однако предположим, что анализ предметной области показал необходимость создать класс cSuppliesPerDate, описывающий поставки товара за день. Следуя этому определению, можно говорить о существовании зависимости cSuppliesPerDate ->rSupplyItems.SupplyDate. Зависимый атрибут SupplyDate не является внешним ключом (хотя и входит в его состав). Отношение, являющееся сильным для класса cDaySupply, отсутствует. В таких случай процедура объектной привязки предполагает, что
зависящие от класса поля, не являющиеся ни первичным, ни внешним ключом, должны быть выделены в отдельное отношения, которое и станет сильным для этого класса. В нашем случае схем должна быть изменена следующим образом
rSupplyDates
rSupplyItems
SupplyDate |
Primary key, Foreign key on rSupplyDates. SupplyDate |
GoodsID |
Primary key, Foreign key on rGoods.GoodsID |
Pieces |
|
<
Содержание Назад Вперед