2017-02-03 20 views
-1

現在、私は複数のスレーブテーブルを持っていますが、それらを追加すると、2つのクエリを作成し、選択したスレーブテーブルとマスターテーブルの両方に投稿します。C#SQL、Server、データグリッドビュー:マスターテーブルの処理方法

私のアプリケーションをスキミングして、私のメソッドのために本質的に重複したコードがたくさんあることに気付きました。私は本当に私のデータベースへの接続を最小限にするためにこれを変更したい。

注:アプリケーションで選択されているスレーブテーブルに応じて、スレーブデータグリッドビューを作成する必要があります。

大量のSQL挿入/更新/選択を使用する代わりに、ロード時にすべてのスレーブテーブルからすべての情報を引き出し、XMLを使用してマスターテーブルにデータを挿入するなどの方法について考えていましたが、これが効率的だとは思わない。

私の現在の機能を説明するには テキストフィールドが両方のスレーブテーブルとマスターテーブルに挿入されます マスターテーブルは、選択された他のスレーブテーブルに選択された情報を挿入します。

私の目標は、マスタに関するMuti-Slaveテーブルの効果情報と、マスタからのスレーブテーブルの情報変更を持つことです。

これを処理するにはどうすればよいでしょうか?

答えて

1

まず、テーブルを正規化する必要があります。主キーを含むマスターテーブルを作成し、それに応じてマスターテーブルへの外部キーを含む要件に基づいてトランザクションテーブルを作成することができます。 これは、値を対応する(スレーブ)テーブルに格納するのに役立ち、データの冗長性も削減します。

+0

私はすでにそれを行っています。私はPKとFKが何をしているのか知っていますが、それがどういうものなのか理解していません。だから、私はスレーブテーブルにPKを、マスターテーブルにFKを持っていますが、キーがどのように冗長性を停止するかを理解していません。現時点では、私がスレーブテーブルに何かを置くとき。マスターテーブルに何も入力せず、手動でマスタに挿入します。 – Mokey

+1

理想的には、正規化がどのように動作するのか、スレーブテーブルのマスターテーブルと対応するFKにPKを作成するべきです。また、複数のテーブルにアクセスするには、結合を使用する必要があります。 –

関連する問題