我有两个表:工作与作业ID,jobdescription等,并用户与用户ID,作业ID,姓名等连接两个表
什么是最好的做法两个作业ID链接到同一个用户ID在表用户?
我可以存储相同用户的作业的项目,但我想这是一个更优雅的解决方案一个中间表做到这一点。
谢谢。
我有两个表:工作与作业ID,jobdescription等,并用户与用户ID,作业ID,姓名等连接两个表
什么是最好的做法两个作业ID链接到同一个用户ID在表用户?
我可以存储相同用户的作业的项目,但我想这是一个更优雅的解决方案一个中间表做到这一点。
谢谢。
三个表 - 用户,工作,UserJobs
用户表包含关于用户的
作业表描述了各个作业
UserJobs表作为您的许多-TO-之间的桥梁信息许多使用UserID/JobID的组合PK/FK的关系。
例
Users
UserID Name
---------------------------------
1 Doogie Howser
2 Steve Urkel
3 Forest Gump
Jobs
JobID JobDescription
---------------------------------
1 TV Character
2 Movie Character
3 Nerd
UserJobs
UserID JobID
---------------------------------
1 1
1 3
2 1
2 3
3 2
我看到TheTXI已经给你一个很好的答案,给他说了什么添加更多: 你有什么是用户之间的许多一对多映射< =>工作。而且,无论何时遇到这种情况,您都必须使用映射用户和作业的映射表。大多数情况下,会创建一个名为UserJobs的表,其中包含一个包含jobid和userid的组合键。希望有所帮助。
这就是所谓的many-to-many关系,在RDBMS中实现这一点的方法是拥有一个junction table。
你最好有3个表: