2016-12-09 18 views
0

これらの2つのテーブルから1対1リレーションシップを作成する最良の方法は何ですか? ?1対1リレーションシップを作成するSQL

CREATE TABLE hotel(
id_Hotel 
... 

) 

CREATE TABLE Manager(
ID_Manager 
... 

) 

ありがとうございました!

+0

、各ホテルには、マネージャを持っているので、開始する場所は中マネージャIDでありますホテルのテーブル。 –

+0

なぜこれは1-1の関係にする必要がありますか?あなたが一度退職したマネージャーの歴史を守っていませんか?ジョインのための外部キーとユニークな制約を調べてください。 –

+0

1対1の関係を使用する学校のアゴメントですが、残しておきます。学校のプロジェクト以来、私はマネージャーの歴史を守る必要はありません。だから私はおそらくこれを作成するテーブルのホテル(id_Hotel INT、id_Manager INT ...)とテーブルマネージャ(Id_Manager、....)を作成する –

答えて

0

通常のアプローチは、次のようになります。

create table Hotel(id_Hotel INT, id_Manager INT...) 

しかし、もっと現実的な解決策がある:

おそらく
create table Hotel(id_Hotel INT, ...); 
create table Manager(id_Manager INT, ...); 
create table Hotel_Manager(id_HM INT, id_Hotel INT, id_Manager INT, CreateDate Date); 
+1

'id_HM'は無駄です。 '(id_Hotel、id_Manager)'を 'Hotel_Manager'の主キーにするだけです。しかしそれは1対1の関係ではなく、多対多です –

+0

私のものを修正すると大好きです、@a_horse_with_no_name – JohnHC

関連する問題