繁体   English   中英

如何建立两个表之间的一对多关系

[英]How to stablish a one to many relationship between 2 tables

我正在处理这种情况。 我在 SQL SERVER 中有三个表,称为MoviesSeriesOrders

Orders有一个ItemId ,其中可以是MovieId (电影 PK)或SerieId (系列 PK)。 我的意思是,在 Orders 表中可能有来自系列电影的记录。

我不知道如何维持这种关系,也不知道哪一种可能是实现它的最佳方式。 直到我知道,我只能在 2 个表之间创建 1 对 1 或 1 对多关系,而不是 3。

提前致谢。

在这种情况下,我认为最好将 Movies 和 Series 存储在具有公共属性的同一个表中,包括。 一列指示类型(电影或系列),然后在单独的表(如果要规范化)或什至在同一个表(以避免连接)中具有附加属性。

您应该了解如何在 sql-server 中实现表继承

你有产品吗,这个产品可能是电影系列

在链接样本中,一个可能是学生教师

最好的办法是:

  1. 为电影和连续剧创建一个通用表,其中包含两个实体应共享的字段(如 ItemId)。
  2. 为电影创建一个表,该表引用在步骤 1 中创建的表,其中包含必须仅为电影编译的字段。 这张新表将与前一张表一一对应。
  3. 系列也一样。
  4. 创建订单表并将 ItemId 外键设置为指向在步骤 1 中创建的表的 ItemId 主键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM