我的问题涉及到一个带有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