我的問題涉及到一個帶有mysql數據庫的php網站。如何在數據庫中創建動態「類型」
目前在數據庫中,我們有一個「令牌」實體
令牌可保持0或多個「對象」實體和每個對象的類型可以是X,Y,Z的
所以
----------
| Token |
|--------|
--------------
|token_object|
| |
|tokenID |
|objectID |
--------------
------------
| object |
| |
|objectType|
------------
------------ --------- ---------
| objectX | |objectY| |objectZ|
| | | | | |
------------ --------- ---------
現在這個工程okish,因爲當我想從一個物體,由於我們的緩存系統的性質,是在當時幾乎總是一個對象,我可以只讓兩個查詢來從數據的數據物體和物體X/Y/Z
(SELECT * FROM object WHERE id = $id)
和
switch($objectType)
case 'objectX':
SELECT * from ObjectX WHERE id = $id
case 'objectY':
etc etc..
但現在我一直在問,讓網站的用戶創建新的對象類型,即對象A/B等
我可以創建一個新的objectXn表爲每個新的對象類型,並通過選擇一個很好的值的objectType將工作
(SELECT * FROM $objectType WHERE blabla)
但這似乎並不是一個很乾淨的解決方案n,尤其是創建新表格
有沒有更好的解決方案?
值得注意的是,我希望有相對令牌和額外的對象類型的創建將不會發生大量的/幾乎不會有大量的對象
我正在從此刪除PHP標記。雖然你在PHP中實現你的解決方案,但問題的核心是參考MySQL,因此PHP不屬於。 – Matt 2012-08-03 17:18:08
對象表是否都有相同的字段?呃等等,不,我認爲我看到 - 對象具有所有對象通用的字段,而objectX具有X唯一的字段? – 2012-08-03 17:32:43