0
我正在創建一個社交媒體網站。用戶可以創建一個類別(1個用戶到多個類別),每個類別都有很多條目。我想讓用戶發佈事件(1個事件可以有很多帖子)。我可以有兩個外鍵的表嗎?
換句話說,該活動擁有該帖子,但我希望能夠識別創建該帖子的用戶。
這是否意味着我應該爲許多帖子創建1個事件以及爲多個帖子創建1個用戶?這是否會造成標準化問題?最好的解決辦法是什麼?
我正在創建一個社交媒體網站。用戶可以創建一個類別(1個用戶到多個類別),每個類別都有很多條目。我想讓用戶發佈事件(1個事件可以有很多帖子)。我可以有兩個外鍵的表嗎?
換句話說,該活動擁有該帖子,但我希望能夠識別創建該帖子的用戶。
這是否意味着我應該爲許多帖子創建1個事件以及爲多個帖子創建1個用戶?這是否會造成標準化問題?最好的解決辦法是什麼?
我沒有看到類和事件
之間的任何關係,在這種情況下,在活動
用戶表
Primary key
類別添加的categoryID作爲FK表
Primary key
Foreign Key (users)
活動
Primary key
帖子
Primary key
Foreign Key (events)
Foreign Key (users)
只是要清楚用戶可以張貼在所有類別或只是他們創造的呢?什麼是「入口」類別? –
在帖子(事件和用戶)上有2個外鍵是實現你想要的最好的方式。這將通過這種方式進行標準化。 –
FOREIGN KEY聲明只是告訴DBMS表中引用列出的列中的值必須作爲引用列出的表中列中的值出現。無論何時如此,請申報。一些DBMS不允許在引用中使用循環。 (那些數據庫管理系統使用其他的參考資料,限制只是他們的選擇。)這種情況有時是設計不佳的標誌。 (DBMS使用約束來排除無效更新嘗試並優化查詢評估,但不需要約束來更新或查詢。) – philipxy