0

テーブル(RDBMS)に変換したい次の構造があります。

1)
Structure(
      // 1st entry
      "HK"
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ]
      ),                  
     //2nd entry
     "JP",
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ],
      Aggressive limits, Structure( "ABC", 10, "SCD", 20 )
      )         
)         

2)
Structure(
      // 1st entry
      "Algo1"
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ]
      ),                  
     //Second entry
     "JP",
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ],
      Aggressive limits, Structure( "ABC", 10, "SCD", 20 )
      )         
)         

Structure(
      // 1st entry
      "Algo2"
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ]
      ),                  
     //Second entry
     "JP",
      Structure(
      "Aggressive Price", 100
      "Passive Price",    90,
      "Quantity", 1000
      "Tick Ladder", [ [ 0.1, 1 ],
                       [ 0.2, 2 ],
                       [ 0.3, 3 ] 
                     ],
      Aggressive limits, Structure( "ABC", 10, "SCD", 20 )
      )         
)         

1)-国「HK」および「JP」のパラメータが含まれています。

2)-「Algo1」と「Algo2」に同じパラメータが含まれています。パラメータの値は変化する可能性があります。これをリレーションスキーマとして表すための最良の方法は何ですか。

私が考えている解決策

1)アグレッシブ価格、パッシブ価格、数量、ティックラダーの表「パラメータ」

2)テーブルパラメータを参照するテーブル「国」

3)テーブルパラメータを参照するテーブル「Algo」

4)「パラメータ」配列によって参照されるラダー値を格納するテーブル「ラダー」。

「パラメータ」などを参照する「国」テーブルの一意のキーを生成するにはどうすればよいですか?

他のより良い方法はありますか?

4

1 に答える 1

0

このようなものはマークから外れていますか?

create table countries (country_code char(2) primary key,
                        country longtext);

create table algos (pk char(40) primary key,
                    country_code_fk char(2),
                    aggressive_price decimal(8,2),
                    passive_price decimal(8,2),
                    quantity int,
                    tick_ladder enum);

create table aggressive_limits (algo_fk char(40),
                                field_0 char(3),
                                field_1 int,
                                field_2 char(3),
                                field_3 int);
于 2012-12-14T00:45:11.120 に答える