[英]Choosing Primary and Foreign Keys
我对主键和外键的概念有疑问。 我猜 model 将是我的主键? 不太确定如何连接 rest:/
产品(制造商,model,类型)
PC(型号、速度、内存、高清、价格)
笔记本电脑(型号、速度、内存、高清、屏幕、价格)
打印机(型号、颜色、类型、价格)
通常,您希望有一个非常 static 的非重复字段作为您的主键。 通常这最终会成为一个“id”列,其中包含随机生成的非重复 id(例如 UUID)。 重要的是要记住,您的主键是表中任何给定行的标识符,并且不能被同一张表上的任何其他行重复。
外键是列中的值,其来源来自另一个表。 很难用你提供的数据给出一个可靠的例子,因为我不确定表和它们的列是如何相互关联的,但是可以说 Product 表的 model 字段是为了匹配 model电脑桌上的项目。 在这种情况下,Product 上的 model 列将与 PC 表有外键关系,这意味着存储在 Product 表上的 model 列中的项目必须与 PC 表上的条目匹配,因此外键中的“外来”。
一般来说,尽管您会让外键成为对 id 的引用,而不是另一个表上的实际字段。 就像您的产品表可能有一个名为“maker_id”的列,这将与 Maker 表上的 maker_id 有外键关系。 然后在那个 Maker 表上,你存储了几个列,其中包含关于那个制造商的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.