2011-02-10 57 views
0

在建立一个MySQL数据库,认为我有一个产品表(tblCar)命名为:数据库表布局

  • 跑车
  • 轿车
  • 小巴
  • 卡车

以及(1980年代)配件清单:

  • 天窗
  • 镀铬轮毂
  • 窗口色调

和选项列表:

  • 油漆颜色
  • 室内装饰
  • 内饰颜色
  • Blu- Ray player in-dash

现在,让我们设置一些基本规则:

  • 跑车可以从任何配件可供选择
  • 轿车可以从任何附件选择,但不提供蓝光选项
  • 小巴有窗口色调作为附件,可以从所有选项中进行选择
  • 卡车只有镀铬轮毂,色调配件和只有油漆选项

我需要一个tblCar设置,这很清楚。但是,如何管理tblAccessoriestblOptions的表格,而无需重复订单项本身。让我们假设,我只想对配件和选项,而不是价格,因为这些描述信息肯定会为他们安装在汽车不同。

请问这是tblAccessoriesHelper的情况下保存的值的列表carID and accessoryID这两个应该在哪里见面还是有更好的方法?

回答

0

你必须结表,加入该两人一起

tblCar 
tblAccessories 
tblOptions 
tblCarAccessories 
tblCarOptions 

存在使用前缀“JCT”如果你正在使用命名“TBL”表另一个命名约定。我会命名的表

Car 
Accessory 
Options 
CarAccessory 
CarOptions 

(用单数形式的名称表,但“选项”是特殊的,因为“选项”可以在某些DBMS预留/特殊字)