这个查找表示例如何工作?

时间:2009-10-02 20:01:05

标签: php mysql database database-design zend-framework

假设我有一个产品表,用于存储不可自定义且具有静态定价的现成产品。我在同一个表中也有1个可定制的产品,它的价格和各种特性因配置而异。此可自定义产品的最终价格基于等式,而不是各个配置选项的总和。

据我所知,我需要针对此可自定义产品的每个配置属性的产品表和查找表。但是,我只想在产品表中存储1个项目来识别这个可定制的产品。我希望前端能够根据查找表数据填充下拉框(只需一个fetchAll并呈现所有选项)。

我的困惑是,如何在产品表中的此自定义产品与其子查找表之间建立关系。我在产品表中是否有一些列说“此项需要查找表”?非常难过。

提前致谢!

1 个答案:

答案 0 :(得分:0)

有很多不同的方法可以解决这个问题,因为我相信你已经意识到了。

我会提出一些想法:

拥有产品表。所有与该产品直接相关的基本产品信息都会在那里。

|productID|productName|productDescription|productPrice|....
|INT      |Varcar     |Text              |Double      |....

为配置创建表。这将产生以下效果:

|configID|configName|configDescription|configType|...
|INT     |Varcar    |Text             |Enum      |...

然后创建一个连接表

|configID  |productID  |....
|FK: config|FK: product|....

您的想法是创建配置,然后将它们添加到连接中。这允许现有产品获得配置,并根据需要添加和删除配置。