Как адаптировать эту простую реляционную модель к многомерной?

У меня есть эта довольно простая реляционная модель для хранения моделей велосипедов. Он содержит 2 таблицы:

    (modelID, modelName, brandName)
    (modelID,  type, color, wheelSize, suspension, frameMaterial, brakeManufacturer, gearType, gearModel, yearProduced)

Меня попросили адаптировать его к пространственной модели.

Это будут таблицы измерений:

    tbl_d_model(modelID, modelName)
    tbl_d_brand(brandID, brandName)
    tbl_d_color(colorID, color)
    tbl_d_type(typeID, type)
    tbl_d_wheel(wheelID, wheelSize)
    tbl_d_suspension(suspID, suspension)
    tbl_d_frameMat(frameID, frameMaterial)
    tbl_d_brakeMan(brakeId, brakeManufacturer)
    tbl_d_gear(gearID, gearType, gearModel)

И это будет таблица фактов:

    tbl_f_fact(modelID, brandID, colorID, typeID, wheelID, suspID, frameID, brakeID, gearID, yearProduced)

Является ли это оптимальным способом сделать это? Есть ли способ лучше?


person s.brody    schedule 29.01.2015    source источник
comment
Факты должны описывать бизнес-процессы, то есть такие действия, как продажи или отгрузка продукции.   -  person Marek Grzenkowicz    schedule 29.01.2015


Ответы (1)


в пространственном моделировании вы используете ключи.

Что вам нужно, так это одно измерение, а не 10 измерений и таблица фактов.

следовательно

dimension_bycicle(key_bicicle, modelName, brandName, type, color, wheelSize, suspension, frameMaterial, brakeManufacturer, gearType, gearModel, yearProduced, modelId)

обратите внимание, что modelId не является вашим естественным ключом (ключ операционной системы и не должен использоваться в качестве ключа хранилища данных).

person SQL.injection    schedule 29.01.2015