【问题标题】:Which attribute to use as the PK?使用哪个属性作为PK?
【发布时间】:2012-09-17 22:15:14
【问题描述】:

我有一张名为 Vehicles 的表。 而这张表有8个属性:

  • 车辆 ID
  • 注册号
  • 制造商(本田、福特等)
  • 型号
  • 颜色
  • 乘客人数
  • 里程表的当前读数
  • 功能

我应该使用 Vehicle ID 作为 PK 还是 reg_no 作为 PK?

【问题讨论】:

  • 你能得到每辆车的 VIN 吗?它将准确地表示对象的唯一性,而不管销售等。

标签: database primary-key normalization entity-relationship erd


【解决方案1】:

由于表称为车辆,我会说车辆 ID。但这也取决于车辆是否多次进入数据库,例如多个车主。

【讨论】:

  • 哦,它实际上是一个传输服务提供商。但是,这些车辆中的每一个都需要定期维护,并且会创建另一个名为维护的表。对于这个维护表,它有里程表的当前读数、维护开始日期、最终成本和描述。那么哪个属性应该是这个表的 PK 呢?
  • 维护 ID,带有 FK 到车辆 ID
  • 将特定公司的员工运送到特定的地方。车辆只是众多实体之一。
  • 是否可以将维修表的车辆ID用作PFK?
  • 不,因为汽车可能需要多次维护。我建议你看看一些规范化课程,因为这是规范化的基础。
猜你喜欢
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多