2016-04-23 18 views
0

いいえ。だから、私は学校のデータベースをやる必要があります。私は作成したすべてのテーブルとの関係で仕事をすることを義務付けられています。これまでのところ、私はいくつかのテーブルといくつかの関係を持っています:ClassroomsIDClassroomNumber(101,203などのような)テーブルを持っています。別のSubjectsのテーブルでは、私はSubjectNameClassroomIDと、このような関係持っている:コードでコード内のSQLの関係

enter image description here

(C#の)I ClassroomsテーブルからSelect値を、私はjoin/whereを使用する必要がありますので、私は追加しますwhere s.ClassroomID = c.ID(前に定義したsおよびc)。さて、それは動作します。しかし、私の質問は異なっています。なぜ私は関係を使用する義務がありますか?それらは何のため? Joinwhereは関係なく動作しているので、なぜですか?

+0

[Basic Database Design?](http://stackoverflow.com/questions/29930453/) –

+0

あなたは義務がありません。そして、あなたがそのような質問をしているなら、あなたが直面している仕事のために間違ったツールを選んでいるかもしれません。 SQL DBは多くの場合完璧ですが、あなたの人件費は異なる場合があります。 – Serg

+0

男、私です。あなたは知っている、私は大学にいる、彼らは私に多くの、多くの要件とそのような運動を与える、そして本当に、私はしなければならない – Frynio

答えて

3

データの完全性を保証するためのものです。より少ないたわごとデータがDBに入ることを確かめてください。また、他の人も簡単に理解できる構造DBを持つこと。

質問しないでください。あなたはそれらが必要です。あなたはそれらをしたい。 DWHでは、そうではありませんが、トランザクションDBではあなたは行います。

1

外部キーは、テーブル/列間の関係に基づくインデックスです。テーブルが大きくなるほど、これは非常に重要になります。数百万のレコードを持つ2つのテーブルを結合しようとしたときに、インデックスが作成されていないと、クエリの完了にかなりの時間がかかります。