【发布时间】:2013-01-13 22:45:13
【问题描述】:
我正在开展一项新业务,提供大约 30 种不同的服务。我正在尝试找出使用 MySQL 和 PHP 对所有 30 项服务进行“轻松访问”的最佳方式。在这一点上,我正在设置我的数据库,我想确保我朝着正确的方向前进。这是我迄今为止提出的概念:
Create Table customers (customer_id)
Create Table orders (order_id, customer_id, product_id)
Create Table logo_design (logo_id, customer_id, order_id, product_id)
Create Table web_design (web_id, customer_id, order_id, product_id)
所以我的想法是,对于每个新客户,他们都会被分配一个唯一的客户 ID。对于他们购买的每项服务,此 ID 都会保留在他们身边。我遇到困难的地方是说客户订购了 3 种不同的服务。如何显示他们购买的 3 项服务,而无需进行一百万次不同的循环或验证检查?真正连接所有表以方便访问的最佳方式是什么?
非常感谢任何建议!
【问题讨论】:
-
当每个服务具有相同的基本列时,为什么要为它们创建单独的表?为什么没有一个带有“类型”列的表?这将大大简化。
-
@Ilion,原因是因为每个服务都会存储不同的信息,所以我认为最好为每个服务提供单独的表。我在帖子中给出的示例只是连接所有表的方式。除了我展示的内容之外,每个表中都会存储更多信息。我错过了你说的话吗?
-
我不这么认为,但是当您提供的内容不同时,很难就您的结构向您提供建议。
标签: php mysql sql database database-design