2015-07-18 42 views
0

我正在創建一個社交媒體網站。用戶可以創建一個類別(1個用戶到多個類別),每個類別都有很多條目。我想讓用戶發佈事件(1個事件可以有很多帖子)。我可以有兩個外鍵的表嗎?

換句話說,該活動擁有該帖子,但我希望能夠識別創建該帖子的用戶。

這是否意味着我應該爲許多帖子創建1個事件以及爲多個帖子創建1個用戶?這是否會造成標準化問題?最好的解決辦法是什麼?

+0

只是要清楚用戶可以張貼在所有類別或只是他們創造的呢?什麼是「入口」類別? –

+0

在帖子(事件和用戶)上有2個外鍵是實現你想要的最好的方式。這將通過這種方式進行標準化。 –

+0

FOREIGN KEY聲明只是告訴DBMS表中引用列出的列中的值必須作爲引用列出的表中列中的值出現。無論何時如此,請申報。一些DBMS不允許在引用中使用循環。 (那些數據庫管理系統使用其他的參考資料,限制只是他們的選擇。)這種情況有時是設計不佳的標誌。 (DBMS使用約束來排除無效更新嘗試並優化查詢評估,但不需要約束來更新或查詢。) – philipxy

回答

2

我沒有看到類和事件
之間的任何關係,在這種情況下,在活動

  • 用戶表

    1. 用戶ID Primary key
  • 類別添加的categoryID作爲FK表

    1. 的categoryID Primary key
    2. 用戶ID Foreign Key (users)
  • 活動

    1. EVENTID Primary key
  • 帖子

    1. 帖子ID Primary key
    2. EVENTID Foreign Key (events)
    3. 用戶ID Foreign Key (users)
相關問題