2016-12-18 4 views
0

私はちょうど私のデータベースをセットアップするための最良の方法は、私は非常に関係を正しく設定するために新しくて、あなたと確認したいと思います。データベースの設計/関係

は、私は次のセットアップを持っていることを計画:

データベース:MyCompanyの 表:DocumentClassification

 
id | discipline | type1 | type2 
---|------------|-------|------ 
1 | A   |01  |00 
2 | A   |01  |01 
3 | B   |01  |00 

データベース:ジョブ1 表:ドキュメント

 
id | title | doc_number | type_id 
---|-------|------------|-------- 
1 | Doc1 |00001  |3 
2 | Doc2 |00002  |1 
3 | Doc3 |00003  |3 

データベース:JOB2 表:ドキュメント

 
id | title | doc_number | type_id 
---|-------|------------|-------- 
1 | Doc1 |00001  |2 
2 | Doc2 |00002  |3 
3 | Doc3 |00003  |1 

これらは別々のデータベースがありますが、 "TYPE_ID" 欄があることに注意してください"DocumentClassification"テーブルの "id"カラムを参照します(anothe rデータベース)を使用して文書タイプを決定します。私たちは数十内の文書の何千ものとジョブの数百を持つことができるよう、別のテーブルを選択しました

私は本当にただ、これはこれにアプローチするための正しい方法でチェックしたいんですか?

ありがとうございます。

答えて

0

個別のテーブルを持つか、別々のテーブルを持たないと、両方のオプションが要件を満たしていれば問題ありません。

別々のテーブルを使用している場合は、間違いなくJOINSに関する情報と知識が必要です。

私はこのERDは完全に素晴らしいと思います。

+0

アレックス、ご返信ありがとうございます。 「文書」テーブルの列に「規律、タイプ1とタイプ2」を含めないでください。情報を重複させないようにするには、常にid参照を使用します。 – squatman

+0

正しい。しかしそれはERDを拡大し、それによって複雑にします。タイプが4以上の場合にのみタイプ用の新しいテーブルを作成することをお勧めします。ERDには00と01の2つの値しかありません。新しいテーブルを提案しません。 :)答えを受け入れることを忘れないでください –

+0

アレックス、ありがとう。現在、555種類のドキュメントタイプがあります。これを念頭に置いて、別のデータベースとテーブルとして保持しますか?また、私は現在、データベース間で外部キーを強制するためのトリガーを設定していません(これまでに行ったことはありません)。申し訳ありませんが、別のクエリを使用すると、ジョブとドキュメントの量がそれぞれのジョブに別々のデータベースを持っているために最適な方法だと思いますか?どうもありがとうございました。 – squatman

関連する問題