0

このテーブルの画像を確認してください - http://puu.sh/3ipDq.png

これを MySQL (sql) でモデル化するにはどうすればよいですか? このテーブルに含まれるデータを正規化された方法でデータベース テーブルに格納できるようにしたいと考えています。DB に簡単にクエリを実行し、この正確なテーブルを Web ページ上に (HTML を使用して) 作成できるはずです。

データは、そのようなデータセットに対していくつかの計算 (集計関数)、フィルター、比較、検索などを実行できるように十分に保存する必要があります (しばらくすると大量のデータが得られると想定されるため、基本的にクエリはパフォーマンス)。

それが理にかなっている場合は、いくつかの助けをいただければ幸いです。key/val 構造を念頭に置いてこのデータをモデル化しようとしましたが、成功しませんでした。行/列間の関係を維持するのが難しい。たとえば、2 列目の 1 行目は 3、4、n 列目の 1 行目に関連付けられます。

別の解決策は、画像に示されているのと同じ数の列を持つテーブルを作成することです。しかし、ここでの問題は、これが単なるサンプル テーブルであるということです。変数列、完全に無関係な列名/タイプ、値などを含む、これらのようなテーブルがさらに増える予定です。たとえば、別のテーブルがあります-http://puu.sh/3iq0g.png-保存できるようにしたい「一般的な」方法で両方のテーブル(もちろん、さらに多くの関連するテーブルと関連しないテーブル)からのデータ。最初に考えたのは key/val メソッドでしたが、失敗しました。

この部分に NoSQL ソリューションを使用することを検討する必要がありますか?

4

2 に答える 2

2

これは複雑ではありません。

ただし、いくつかのテーブルが必要です。

Cab_type       PK cabtype     details...
Media_option   PK mediatype   details...
Placement      PK placement   details...
Unit           PK unit        details...
pricing        PK (serial number)  FK cabtype FK mediatype FK placement FK unit  Price

これは通常の形式のデータベースのすべての定義に適合し、価格テーブルを介して任意のテーブルをリンクできるため、必要な情報を取得するためにクエリを実行するのが簡単であるという利点があると思います。

お役に立てれば。

2 番目のテーブルと想定される n 個のテーブルを参照してください。ここで、通常の形式が本領を発揮します。関係をコード化する必要がありますが、ある時点で行います。たとえば、ユニットが常に 1 つの目的で配置に関連付けられている場合、各テーブルの FK を含むテーブル unit_placement を作成して、関係を説明できます。最終的には、物事を結び付けるデータを入力する必要があります。自動的に発生するわけではありません (非常に頻繁に!)

于 2013-06-18T10:07:10.967 に答える