簡體   English   中英

我應該將數據庫圖中的哪些字段分成關系表?

[英]Which fields in my database diagram should I separate into relation tables?

我正在努力解決試圖了解數據是否應該在數據庫邏輯圖中被分成不同的表或保存在同一個表中的問題。

我的數據庫分為 3 部分:用戶(可以是可以發布、查看或點贊菜譜的注冊用戶;以及審查已發布菜譜並可以接受或阻止用戶的管理員)、菜譜(其中包含以下數據:菜名、類別、難度、持續時間、份量、執行、查看次數和狀態)和成分。

食譜和配料有很多:很多關系,所以我用一個名為“Recipe_Ingredient”的關系表將這兩者聯系起來。

用戶與菜譜有 1: many 的關系(一個用戶可以創建多個菜譜,但每個菜譜只能由一個用戶創建),但由於收藏夾部分,還有一個連接它們的關系表(即一個用戶可以擁有多個菜譜)最喜歡的,並且每個食譜也可以被許多用戶標記為最喜歡的)。

但我的實際問題是:我已經從表格配方中分離出幾個字段(參見下圖以供參考),例如類別、難度和 state。 這是可以接受的還是這些字段最好保留在表格食譜中?

我目前的照片,供參考

對不起,很長的消息。 非常感謝你的幫助!

我認為您擁有的表格大部分都很好,因為隨着數據的增加,您就會看到設計的價值。 在尋找優化時,您可以使用以下一些想法來做出這些決定:

  1. 哪些表僅用於具有永遠不會更改的設置值的參照完整性? 我認為 state 和難度。 配方表中的值(如 state)應該只顯示 state 值,因此不需要查找。 有時,這些不會更改的值類型最終會出現在名稱-值對表(字段名、字段值、字段文本)中,並且在前端處理完整性。 當然這意味着當我查看配方表時,我可以立即看到難度和 state,而無需在其他地方查找值。
  2. 如果您必須將其轉移到報告或分析中,您是否有足夠的描述符供最終用戶使用? 這可能是保留困難描述的一個很好的理由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM