需要您创建表格的输入

时间:2010-07-06 23:14:54

标签: sql mysql database-design data-modeling

我只想要一些关于mysql数据库的建议。我正在为需要维修和维修的租用汽车创建一个新的数据库。我创建了4个表。 Car_id链接到具有汽车信息的主键表。我在考虑将repair_id和service_id放在汽车数据表中。但这意味着它将在一个表中有3个主键。这可以吗?

车库表 -

  • 车库ID(主键)
  • 车库名称
  • Mechanics fname
  • Mechanics sname
  • 地址
  • 电话

机械数据 -

  • Mechanics id(主键)
  • 车库ID(外键)
  • Mec名称

修复数据 -

  • 修复ID(主键)
  • Car id(外键)
  • 工作说明
  • Mec id(外键)

服务数据 -

  • 服务ID(主要)
  • Car id(外键)
  • 作品说明
  • Mec id(外键)

我略微改变了桌子。你怎么看。它会起作用吗? 车库数据是 Garage_id
车库名称 FNAME
姓 地址 电话号码

类型数据是
Type_code ------------将修复为1,将服务编号为2 Type_description维修/服务

mecanics数据是 Mec id
车库id 输入_code

Repair_id
Car id - 我已经为这个制作了一张桌子 工作描述
Mec id

服务ID
车辆号码 作品说明
Mec id

感谢您帮助我。如果你能看出它是否合适将是有用的。

2 个答案:

答案 0 :(得分:2)

repair应该有一个car_id列。将repair_id放入car意味着您只能对汽车进行一次维修,我认为这不是您想要的限制。

service_id也是如此。

答案 1 :(得分:0)

我会建议单个表中包含引用作业类型表的作业;通过这种方式,您可以随意添加工作类型,6个月服务,12个月服务,M.O.T,维修,翻新等。力学应该进入他们自己的表,也许员工会更好,然后你可以有一个员工类型的参考表与经理,高级机械等等。

当然,这个答案假设你有一张车辆表。

garage_sites (garage_site_id,garage_name等)

mech_staff (mStaff_id,garage_site_id_fk,名称等)

vehicle_job (vJob_id,vehicle_id_fk,vJob_type_code_fk,mStaff_id_fk)

vehicle_job_type (vJob_type_id,vJob_type_code,vJob_type_description)

您可以在以下位置找到许多指针和基础数据库模型:

http://www.databaseanswers.org/data_models/index.htm