对于sql中的多对多关系,我有一个快速问题。 因此,理论上我明白,如果ER模型中的两个实体之间存在M:N关系,我们必须将它分解为2 1:N关系,其中包含交叉点/查找表,其中包含复合主键父表。但是,我的问题是,除了组合主键以外,是否还有任何其他额外的列添加到组合表中并且不在任何两个父表中? (除了intersectionTableId,table1ID,table2ID)4rth列是全新的,并且不在任何2个父表中?请告诉我。使用SQL m:n关系进行查询
1
A
回答
0
是的,你可以通过显式地建模“关系”表(就像你的其他实体)来做到这一点。
以下是关于该问题的一些文章。
Create code first, many to many, with additional fields in association table
Entity Framework CodeFirst many to many relationship with additional information
+0
谢谢大家:)非常感谢。 – Vish
2
在一个字 - 是的。表示两个实体之间关系的属性是一种常见的做法。
例如,考虑你有一个数据库,用于存储人的细节和他们喜欢的运动队:
CREATE TABLE person (
id INT PRIMARY KEY,
first_name VARCHAR(10),
last_name VARCHAR(10)
);
CREATE TABLE team (
id INT PRIMARY KEY,
name VARCHAR(10)
);
一个人可能喜欢一个以上的团队,这是你的经典M:N关系表。但是,您也可以为此实体添加一些详细信息,例如某人开始喜欢某个团队的时间:
CREATE TABLE fandom (
person_id INT NOT NULL REFERENCES person(id),
team_id INT NOT NULL REFERENCES team(id),
fandom_started DATE,
PRIMARY KEY (person_id, team_id)
);
相关问题
- 1. SQL查询与M:N的关系
- 2. 查询(M:N)由关系有序属性
- 3. SQL SELECT与m:n的关系
- 4. SQL表中的M:N关系
- 5. 如何使用具有CriteriaBuilder的枚举查询M:N关系
- 6. SQL Server查询表m:n
- 7. 如何在M:N关系中对两个表执行SELECT查询?
- 8. 自我M:N关系
- 9. C#CRM m:n关系
- 10. SQL关系查询
- 11. SQL关系查询
- 12. 使用NSFetchedResultsController与M:N的关系
- 13. 与GORM查询M:N关系的实体实例_not_彼此之间的关系?
- 14. 使用外键关系的SQL查询
- 15. 使用查询列出sql表关系
- 16. Laravel 4上的M:N关系
- 17. CoreData - Xcode 5 - M:N关系
- 18. 使用SQL查询使行进入列
- 19. 的Sql查询,组关系
- 20. SQL父子关系查询
- 21. SQL关系和查询
- 22. 亲子关系 - SQL查询
- 23. webmatrix - sql查询关系
- 24. 如何使用SQL查询中的查询进行查询
- 25. Laravel Eloquent - 进行查询时的关系中的关系
- 26. Sqlalchemy + elixir:如何使用ManyToMany关系进行查询?
- 27. 使用HQL进行多对多关系的次优查询
- 28. 在Django中使用通过多对多关系进行查询
- 29. Laravel模型,关系如何使用Eloquent进行innjoin查询?
- 30. LINQ查询,使用关系
什么是DBMS?以及如何创建交点表? –
绝对!在这样一张桌子上关于BELONGS的数据。考虑客户/电影租赁数据库。我想知道什么客户检查了什么电影作为客户可以有许多电影,并且一次只能由一个客户检查电影;但我希望看看电影的历史记录,并知道它何时返回。关联表可能有一个Checkout和一个CheckIn日期;这将告诉我一个客户的结帐历史和持续时间,也许根据电影属和客户租用的电影,建议上市可能会创建... – xQbert