1

我必须在 MySQL 数据库中表示的数据当前存在以下问题:

我必须支持具有不同数据的不同类型的产品,例如汽车、酒店房间、书籍等。对于我的应用程序,每个产品都有一些通用数据,如名称、描述、价格等。

所以我想有一个产品表,包含通用数据,汽车、hotel_rooms、书籍和任何以 1:1 关系引用此产品表的表。

问题是将产品表作为主表,所以我可以查询产品表并通过这些查询“自动”获取额外数据,这样我就可以使应用程序更“通用”。

关于如何实现这一点的任何想法?我有一些想法,但我不认为它们是最好的方法,当这个问题可能比我想象的更常见时,我不想去做肮脏的黑客攻击。

使用:PHP + Zend 框架 + MySQL。

4

1 回答 1

0

拥有一个基础对象,然后使用多态性对该基础对象进行子类化。基础对象存储所有共享数据(在 1 个表中)。然后每个子类都有其独特的属性,并将它们从单独的表键中获取到基表中。使子类能够从其父对象加载公共数据,以及加载其唯一/不同的数据。

于 2008-11-05T16:10:28.143 回答