我有兩個表:工作與作業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個表: