2010-12-06 14 views

答えて

2

テーブルの1つの列で別のテーブルを参照する場合は、おそらく、データベース設計のキー、主キー、および外部キーの概念に目を通すことをお勧めします。

たとえば、企業と従業員のデータベースでは、あなたがこのような2つのテーブルがあるとします。会社のテーブルで

Company (c_id, name, city) 
Employee (e_id, c_id, name) 

を、C_IDは、主キーになります。 Employeeテーブルでは、c_idはCompanyを参照する外部キーになります。これにより、

SELECT E.name 
FROM Employee as E, Company as C 
WHERE E.c_id = C.c_id AND C.name = "IBM" 

のようなクエリを実行でき、IBMで働く従業員の名前が返されます。

リンク:

http://en.wikipedia.org/wiki/Primary_key

http://en.wikipedia.org/wiki/Foreign_key

1

なぜあなたは外国人の関係のために行くカント。あなたが本当に列としてテーブルが必要な場合は

for eg : Table1 (ID,ForeignKeyId, other columns) 
     Table2 (ID,other columns) 

ForigenKeyId will be the primary key of Table2 
1

、あなたは解決策のためhttp://msdn.microsoft.com/en-us/library/ms175010.aspxをお読みください。ただし、これは主に一時記憶域に使用されるため、表の列データ型が実際に必要になることはほとんどありません。

主キーと外部キーの関係がわからない場合は、リレーショナルデータベースを学習するか、ビジネスエンティティとアプリケーションのニーズに基づいてデータベーススキーマを設計するようにしてください。さもなければ、あなたは完全に維持されず、中期的にあなたに逆行するデザインに終わるでしょう。

PK/FKトピックのクイックリファレンスが必要な場合は、http://www.functionx.com/sqlserver2005/Lesson13.htmをお読みください。それはあなたにこの特定の問題に取り組むために必要な知識を与えるべきです。

関連する問題