我打算爲網站設計數據庫。我們的網站有不同的屏幕。每個屏幕應該有唯一的ID,每個屏幕將是不同的類型。與屏幕相關的信息應存儲在其類型表中。我怎樣才能做到這一點?管理員定製應用程序的MySQL數據庫設計
我的計劃是利用擋拆表下面的字段
屏幕
screen_id
screen_type
screen_type_table_name
Home_screen
home_screen_id
screen_id
語言
內容1
內容2
home_screen_field1
home_screen_field2
aboutus_screen
aboutus_screen_id screen_id
語言
內容1
內容2
about_us_field1
about_us_field2
上述兩個表格的關係是1到多個(屏幕表格到類型表格)。一個屏幕在類型表中可能有很多記錄(用不同的語言)。
這裏的問題是,我無法查詢單個查詢中的數據。當我將表名存儲在屏幕表中時。
任何人都可以在這裏建議最好的數據庫設計?
[編輯]
我不能存儲在同一個表中的信息..
原因:
1)語言約束
2)我需要維護每個內容的修訂
3 )不同類型的每個屏幕。所以每個類型的字段都會有所不同。每個字段的字段數也不盡相同。
4)我無法序列數據太(因爲我需要尋找各種設施)
詢價
隨着畫面ID,我應該能夠獲取在單個查詢的內容。請給我一些建議。
由於事先
感謝
VENU
我已更新我的問題。實際上,每種屏幕類型都會有不同的字段。 – Venu 2011-04-13 07:31:39
我還是不明白爲什麼你不能把它們放在同一張桌子上,對不起。除非你想讓about_us_field1成爲例如INTEGER和home_screen_field1例如一個VARCHAR。如果它們的數據類型相同,則仍應將它們放在一個表中。 – Brecht 2011-04-13 07:49:21
沒錯,但是home_screen將包含許多其他專用於該主屏幕的字段。我剛纔提到了兩個領域。這也將是不同的類型,每個屏幕的字段不會有所不同。所以我不能把它們放在屏幕表中(假設類型表作爲不同的對象,我剛剛提到了兩個類型表,但也有很多其他類型) – Venu 2011-04-13 08:10:02