我正在開發一個項目。它主要是爲了學習的目的,我發現實際上嘗試一個複雜的項目是掌握基礎知識後學習一門語言的最好方法。數據庫設計不是一個強項,我開始閱讀它,但它的早期和即時通訊仍在學習。涉及動態字段的數據庫結構
這裏是我的阿爾法模式,我真的在這裏我只是想記下所有我能想到的,看是否任何問題,跳出點。 http://diagrams.seaquail.net/Diagram.aspx?ID=10094#
我的一些顧慮我想反饋:
爲核心通知屬性,如區域例子,可以說爲了簡單的領域是廚房,臥室,花園,衛生間和起居室。對於另一個可能成爲主頁,聯繫頁面,about_us,啓動畫面的客戶。它可以是2個區域,也可以是100個,不需要限制它。
我爲默認創建了單獨的表格,每個表格都鏈接到一個錯誤。後來我遇到了自定義字段的問題,如果有人想要標記該錯誤適用於哪些主題,我們可能不會有這種情況,那麼可能還有其他100個東西,所以我想堅持一組核心屬性和自定義字段給人靈活性。
但是當我到了自定義字段我知道我有一個問題,我不能要創建一個表,每一個自定義字段,所以我代替2個表。自定義字段和custom_field_values。這個想法是包括默認每場將被存儲在該表中,並且每個將被鏈接到值表,只會有這樣的事情
custom_fields table
id project_id name
01 1 area(default)
12 2 rooms(custom)
13 4 website(custom)
custom_field_values table
id area project_id sort_number
667 area1 1 1
668 area2 1 2
669 area3 1 3
670 area4 1 4
671 bedroom 2 1
672 bathroom 2 2
673 garden 2 3
674 livingroom 2 4
675 homepage 4 1
676 about_us 4 2
677 contact 4 3
678 splash page 4 4
這看起來像一個有效的方式來處理動態字段這樣或還有其他的選擇嗎?
默認值將被硬編碼,所以你可以使用它們或換成你自己或者我可以創造一個又一個表,允許用戶編輯這將被鏈接到他們的項目的默認名稱。任何反饋都是值得歡迎的,如果計劃中存在的問題非常明顯,請隨時批評。
唉EAV。如果我是你,我會看看NoSql的選擇。 –