2016-12-03 62 views
0

所以,首先,我認爲我有一個設計問題,但不知道如何解決它。實現一對一的關係

我有兩個表:

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

和:

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

我的想法是一對一的,因爲一個公司可以有ONA公司的管理員和一個公司管理員CNA有關係一家公司。

我的問題: 我是否必須在每個表中放置一個外鍵,還是應該以某種不同的方式實現它(可能更好)。

我無法真正合並這些表格,因爲在我的應用程序中我希望公司管理員創建公司。

任何想法?

+0

嗨羅伯特!你是說你想讓公司的管理員擁有一家公司和一家公司屬於管理員嗎? – Uzzar

+0

是的,我猜。一家公司只能有一個管理員,而一個管理員也只能有一個公司。我對網頁的想法如下:管理員首先註冊自己,然後從他自己的檔案創建他的公司。 –

回答

3

閱讀您的問題爲:

CompanyAdministrator有一個公司公司屬於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 
    -----------