0

いくつかの変更を行う必要がある既存のデータベースがあります。テーブルを変更して余分なデータを記録するか、そのデータを既に記録している既存のテーブルを使用して別のテストを行い、それを新しいテーブルで他のテーブルにリンクするかを決定する必要があります。

既存:

tSubTest(ixSubTest (pk), ixTest (fk))
tPressureVolume( ixPressureVolume (pk), ixSubTest (fk), ...data fields 1...)
tMotorData( ixMotorData (pk), ixSubTest (fk), ...data fields2...)

オプション1:

tSubTest(ixSubTest (pk), ixTest (fk))
tPressureVolume( ixPressureVolume (pk), ixSubTest (fk), ...data fields 1...)
tMotorData( ixMotorData (pk), ixSubTest (fk), ...data fields2..., ...data fields 1...)

オプション 2:

tSubTest(ixSubTest (pk), ixTest (fk))
tPressureVolume( ixPressureVolume (pk), ixSubTest (fk), ...data fields 1...)
tMotorData( ixMotorData (pk), ixSubTest (fk), ...data fields2...)
tMDPVLink( ixMDPVLink (pk), ixMotorData (fk), ixPressureVolume (fk))

基本的には、テスト シーケンスの開始時に 1 回、圧力ボリュームをチェックするテストが行​​われていました。現在、彼らは他の電気データと一緒に 5 分ごとに記録したいと考えています。彼らはまだ最初の圧力容積テストを行っています。

4

2 に答える 2

2

いくつかの変更を行う必要がある既存のデータベースがあります。テーブルを変更して余分なデータを記録するか、そのデータを既に記録している既存のテーブルを使用して別のテストを行い、それを新しいテーブルで他のテーブルにリンクするかを決定する必要があります。

プロジェクトの後半に追加されているという事実に基づいて、参照を使用して別のテーブルに何かを入れることはしません。

一緒に属しているこれらの情報をまとめておくようにしてください --> 人為的な新しい「リンクされた」テーブルを作成するよりも、既存のテーブルを 1 つまたは 2 つの余分な列で更新したいと思います。

このルールの唯一の例外は、論理エンティティを形成し、ケースの 10% 未満でのみビジネス ケースに存在する相当数の列 (たとえば、10 以上) がある場合です。

たとえば、多くの追加フィールドを必要とする特定のタイプの顧客がいるが、それが実際にはほんの一握りの顧客 (「ゴールド」顧客など) である場合、それらのデータの「クラスター」を別のテーブルに入れる方がよい場合があります。それをリンクします-そうしないと、データベースエンティティの大部分で、一連のフィールドがすべて空(NULL)になるためです。

それが少し役立つことを願っています-ちょうど私自身の2セント;-)

于 2009-11-25T19:52:42.063 に答える
1

すべてのデータ (モーター + ポンプ) が同時にサンプリングされる場合は、次のようにすべてを 1 つのテーブルに入れます。

pump_model_02

圧力/体積がモーター データとは別にサンプリングされる場合は、これを使用します。

pump_model_03

于 2009-11-25T21:42:00.780 に答える