0
私は地元の蒸留所の生産制御アプリケーションを開発しています、と私は、データベースを構築する問題を抱えています。最適なデータベース構造
コア機能は、精神の種類を作成するユーザーの能力があり、これらの型はすべて、関連する生産プロセスを持っています。各プロセスは複数のステップを持つことができます。 7つの異なるタイプのステップがあります。
ユーザーは、いくつかの精神の「バッチ」を作成すると、精神のタイプが選択され、ユーザーが定義した生産プロセス以下の「ウィザード」が表示されます。各ステップで、ユーザはそのステップに関連する情報を入力する。私が思い付いた何
は、この多対多の関係だった:それはデータを埋めるに来たときに、これは精神のタイプの作成のために働いている間spirits (spirit types)
- id
- name
steps (steps in the production process)
- spirit_id
- state_id
states (names of all possible steps)
- id
- name
、それが欠けていました。製造プロセスステップの各ステップは異なるデータを取ります:
distillation
- abv
- mass
dilution
- abv
- water
filtration
- density
- volume
この種のアプリケーションに最適な構造は何でしょうか?厳しい仕様のないデータモデリング( -
は、私はSQLを愛する..意見ベース領域ですが、それはモンゴまたはいくつかの他のNoSQLデータベースの問題だように、あなたが本当に記述していることに聞こえます。私はいくつかの成功とモンゴーを使用し、それは私の経験でうまく動作します。私はJavaで作業しています。その言語でMongoと作業するための高品質なリソースがたくさん見つかりました。私は状況がほとんどの主要言語で似ていると仮定します。 (これはプラグインではない、と私はほとんどの事のためにSQLを使用して好む。) – Jeutnarg
私はこれらのセットアップのためのキー/値のペアを使用します。それは最もスケーラブルではありませんが、あなたが数百万のプロセスを持たなければ、それはうまくいくはずです。名前値のペア、キー値のペア、属性値のペア、EAV ....同じものへのすべての参照。多くの開発者はこれを選択しません。別のシナリオ:http://stackoverflow.com/questions/19458613/sql-vs-nosql-for-data-that-will-be-presented-to-a-user-after-multiple-filters-ha – Twelfth