通常のデータベースでは、水平方向に拡張する必要がないという問題があります。
私は店を持っていますProduct
。例えば衣料品店。Color
と の間で選択できる店舗の数に制限はありませんSize
。私は今のところこれらを呼びますTypes
。
テーブルは次のようになります。
Product
Product name
ProductTypes
ProductId
TypeId1
TypeId2
Price
Weight
Stock
Etc...
Types
TypeId
Type name
とが同じテーブルにまだ一緒にあるためTypeId1
、実際には正規化されていません。TypeId2
顧客は、タイプ間のすべての相関関係を含む 10D マトリックスを効果的に作成する製品に 10 個のタイプを割り当てたいと考えているかもしれませんが、その場合TypeId
、ProductTypes
テーブルにさらに 8 個の を作成する必要があります。
これは、水平方向にスケーリングすることなく適切に正規化できますか?
たとえば、次のタイプがあります: Color
、Size
、Gender
およびShape
。
Blue
XL
Male
Turtleneck
主力商品shirt
の在庫がなく、価格が変更されたと言える必要があります。しかし、より多くのタイプを製品に動的に追加できるようにする必要があります。
基本的に私は、合理的なデータベースに 5 次元配列ルックアップを格納する方法を尋ねています。