Изменения в базе данных
1 - удален размер столбца из таблицы iC_ProductFeature
2 - Добавлена новая таблица iC_ProductDimensions для хранения данных разных размеров продукта. ниже приведено подробное описание различных столбцов, используемых в iC_ProductDimensions
1- DimensionId - This is the primary key in the table and of bigint datatype.
2- UOMID - (FK) Unit of Measurement ID , this is refrenced from the table iC_ProductUnitOfMeasure.
3- ProductFeatureId : This is referenced column from the iC_ProductFeature table.
4- NumericValue : This column stores the dimensional value (e.g. if UOM is pound and this column stores 10 than we can say that Weight of product is 10 pound.
3 - В iC_ProductUnitOfMeasure добавлен один столбец «MeasurementType».
4 - Изменен тип данных ProductFeatureId на Bigint из varchar (100)
Поток данных
«MeasurementType» в iC_ProductUnitOfMeasure будет хранить измерение, для которого создана единица измерения.
e.g. let's take a snapshot view of rows in iC_ProductUnitOfMeasure
UOMID Abbrivation MeasurementType Description
1 lb Weight This UOM is used for measuring weight of the product
2 inch. Width This UOM is used for measuring width of the product
3 meter Length This UOM is used for measuring length of the product
4 Kg Weight This UOM is used for measuring weight of product in Kg.
в вышеприведенном примере мы пометили каждую UOM его ассоциативным MeasurementType.
UOM 1 может использоваться для измерения веса продукта в фунтах, аналогично UOM 4 может использоваться для измерения веса продукта в килограммах.
Добавление продукта с длиной продукта 0,5 метра, шириной продукта 50 дюймов и весом продукта 100 фунтов.
1 - создать запись в таблице iC_Product для хранения общих атрибутов продукта. (Suppopse ProductId = ICPR0001)
2- Создайте запись в iC_ProductFeature и сохраните общую функцию продукта, такую как функции цвета, размера, размера и размера, если есть. (Предположим, ProductFeatureId = 1)
3- Создайте 3 записи в таблице iC_ProductDimesion, как показано ниже.
DimensionID UOMID ProductFeatureId NumericValue
1 1 1 100
2 2 1 50
3 3 1 0.5
4 - добавить запись в iC_ProductFeatureApplicability с помощью (ProductId = ICPR0001 и ProductFeatureId = 1)
Запрос данных для получения различных размерных значений продукта ICPR001
select
product .* ,
productFeature.* ,
( CAST (dimension.NumericValue as Varchar(100) )+" " + UOM.Abbrivation) as Dimension ,
dimension.MeasurementType
from
iC_Product product ,
iC_ProductFeature productFeature ,
iC_ProductFeatureApplicability ,
iC_ProductDimesions dimension ,
iC_ProductUnitOfMeasure UOM
where
iC_ProductFeatureApplicability.ProductId = product.ProductId
and
iC_ProductFeatureApplicability.ProductFeatureId = productFeature.ProductFeatureId
and
dimension.ProductFeatureId = productFeature.ProductFeatureId
and
dimension.UOMID= UOM.UOMID
and
product.ProductId = 'ICPR001'