我試圖設計一些數據庫表來存儲有關某些實體及其相關應用程序的配置設置。我能走得如此之遠,但卻遇到了「磚牆」。我會告訴你我的意思是...(不要把以下內容:圖片,作爲一個字面上的商業問題,圖片只是向你解釋我的問題的簡單方法)。數據庫模式設計 - 如何根據實體存儲特定的應用程序設置
標準
- 我們有圖片的目錄下載。
- 我們有幾個應用程序,可以 消費這些 圖片的任何數量。
- 我們想要配置如何在應用程序上顯示這些圖片 ,具體取決於。
記住熊,每個程序都可以配置爲顯示畫面的具體和獨特的方式。
所以很明顯,我們需要2個表圖片,應用程序和一個結表以顯示MM的關係,儘可能多的圖片可以在許多應用中 - 見下:
我強調在紅色的「CONFIG_TABLE」列 - 我有一個非常強烈的懷疑,這是不好的,非常非常糟糕。據顯示,對於paricular應用程序,這是存儲在設置的配置表見下:
所以 - 有非常speicific應用程序的配置適用於圖片,這取決於你是什麼應用程序談論。現在假設設計被破壞了,因爲我相信它 - 我怎麼實際設計數據庫來正確地建模? (希望這是有道理的)
告訴我,如果在app表中包含一個包含所有所需PIC_ID的配置表,那麼單獨的PICTURE_APP表的必要性是什麼?你是否也意識到CONFIG_TABLE列明顯違反了1NF? – mihsathe
我知道這是明顯違規 - 這就是爲什麼我說它是一個破碎和糟糕的設計。PICTURE_APPLICATION表在那裏,因爲我想知道什麼圖片與什麼應用程序相關聯。 – Vidar
假設在「名稱」上有一個唯一的約束,表「應用程序」在5NF。一些有問題的設計決定與標準化無關;這是其中之一。 –