2016-12-03 9 views
0

まず、私は設計上の問題があると思いますが、解決方法は不明です。1対1の関係を実装する

------- 
Company 
------- 
CompanyId 
CompanyName 
----------- 

そして:

-------     
Company Administrator 
------- 
AdminId 
AdminName 
----------- 

私の考えは一つの会社が持っているオナ会社の管理者と1つの会社の管理CNAを持つことができるので、一から一可能にする関係である

は、私は2つのテーブルを持っています1社

私の質問: それぞれのテーブルに外部キーを設定する必要がありますか、それとも別の方法で実装する必要がありますか?

私のアプリでは会社の管理者に会社を作成してもらいたいので、実際にはテーブルをマージすることはできません。

アイデア?

+0

こんにちは、ロバート!あなたは、会社の管理者に1つの会社と会社を管理者に所属させたいと言っていますか? – Uzzar

+0

はい、そうですね。 1つの企業には管理者が1人だけ必要で、1人の管理者には1つの企業しかいないことがあります。私が持っているウェブページの私のアイデアは、次のとおりです。管理者はまず自分自身を登録し、自分のプロフィールから会社を作成します。 –

答えて

3

としてあなたの質問を読む:

CompanyAdministratorは1社当社がをCompanyAdministratorに属しています。

これが正しい場合: - Companyには、それが属しているCompanyAdministratorが記録されます。テーブルは次のようになります。

Company: 
    - id 
    - company_name 
    - any other attributes of the company you want to track 
    - company_administrator_id 

    CompanyAdministrator: 
     - id 
     - any other attribute of the comanpy_administrator you want to track. 

基本的に、company_administrator_idは会社のテーブルに存在します。

0

あなたは1対1の関係を持っている場合、あなたは例えば、他のテーブルの外部キーとしてテーブルの各プライマリキーを使用することができます。

------ 
    **Company** 
    ------- 
    CompanyId 
    CompanyName 
    Admin_id 
    ----------- 
    -------     
    **Company Administrator** 
    ------- 
    AdminId 
    AdminName 
    ----------- 
    **OR** 
    ------ 
    Company 
    ------- 
    CompanyId 
    CompanyName 
    ----------- 
    -------     
    Company Administrator 
    ------- 
    AdminId 
    AdminName 
    Company_id 
    -----------