停止复制数据库中行数据的开始

时间:2014-01-27 05:33:41

标签: php mysql database database-design logic

我正在为当地汽车经销商建立一个数据库。

客户想要一个用于查找服务计划的向下钻取选项,我正在尝试计算逻辑。

所以基本上用户做的第一件事就是选择车型然后选择传输年份,然后选择KM / Miles(此数据用于定位服务计划):

enter image description here

这是通过使用数据库中的值填充的下拉菜单完成的。

现在,每项任务的服务计划定价会根据KM / Miles而变化,并且车辆之间永远不会相同。

所以看起来像这样:

enter image description here

因此,前4列(型号,年份,传输,KM)是下拉值及其确定使用哪种服务计划的值(是的,由于自动或手动传输,某些车辆名称重复如上表所示 - 我需要确保它们不会在下拉列表中重复。

现在我想知道的是我如何在MySQL中使用PHP查询来解决这个问题

用重复数据填充所有空白单元格,例如

enter image description here

以某种方式使用规范化(有人向我建议)不幸的是我不熟悉数据库并且不太确定如何使用它,我意识到这意味着拥有较小的关系表,但我不太了解逻辑。

2 个答案:

答案 0 :(得分:0)

正如某人所建议的那样,如果您希望数据库具有数据完整性并能够适应变化,则需要对数据库进行规范化。你想争取至少第3范式(3NF)

开始理解规范化,因为如果没有它,你将很难建立一个好的数据库。 http://en.wikipedia.org/wiki/Database_normalization

您至少需要将其分为两个表。我建议一个Vehicle表格,其中包含ModelYearTransmissionKM/Miles(所有参与者属性)的列,然后是{{1具有服务计划属性的表。然后,Service Plan表可能会有一个服务计划列,其上有一个外键约束,映射到Vehicle表(Service Plan)的主键。这样,当您要求车辆X时,您将获得车辆映射到的服务计划的映射。

答案 1 :(得分:0)

您可以拥有如下所示的表格:

enter image description here

正如您所解释的那样,您可以编写查询来提取所需的数据。