0
Q
連接操作的主鍵?
A
回答
0
使用主鍵進行良好的數據庫設計可能是一個爭論。按照RDBMS指南的經典,建議爲良好的數據庫設計創建主鍵。但現在有一天不會對數據庫方面施加太多限制來提高性能,而是對業務層進行驗證(不確定主鍵是否也是如此)。
現在想到您的問題, 主鍵對於連接操作不是必需的,但是必須使用唯一標識主表記錄的列,否則它可能會生成虛假記錄。
部門
| dept| sub_dept | dsc |
| CS | CS | Computer sc.|
| CS | IT | Info Tech. |
學生
| Name | age | sex | dept | sub_dept|
| abcd | 025 | M | CS | CS |
| wxyz | 023 | M | CS | IT |
現在,如果你加入的sub_dept表,你會得到正確的結果。
select s.name, s.age, s.sex, d.dsc from student s, department d where
s.sub_dept = d.sub_dept
| Name | age | sex | dsc |
| abcd | 025 | M | Computer Sc. |
| wxyz | 023 | M | Computer Sc. |
如果你加入的dept列的表,你會得到虛假的元組(2個額外的行)
select s.name, s.age, s.sex, d.dsc from student s, department d where s.dept = d.dept
| Name | age | sex | dsc |
| abcd | 025 | M | Computer Sc. |
| wxyz | 023 | M | Computer Sc. |
| abcd | 025 | M | Info Tech. |
| wxyz | 023 | M | Computer Sc. |
相關問題
- 1. ETL操作 - 返回主鍵
- 2. SQL:連接主鍵上的表並返回主鍵
- 3. 沒有主鍵的連接表
- 4. 如何指定連接表的主鍵
- 5. 如何創建連接的主鍵?
- 6. 有多個主鍵的連接表
- 7. 創建沒有主鍵的連接表
- 8. 連接具有相同主鍵的表
- 9. 不同操作系統中的本地主機連接
- 10. 的ssh:連接到主機X.X.X.X端口22:操作超時
- 11. 簡單的SQL操作 - 連接兩個具有相同列且沒有主鍵/外鍵的表
- 12. Redux連接異步操作
- 13. 連接查詢與操作
- 14. 將void連接到操作?
- 15. 關於多個關鍵事件的MySQL連接操作
- 16. CakePHP的:連接操作不工作
- 17. 不工作的連接操作
- 18. 將str連接到用作主鍵的自動增量列
- 19. 此操作需要連接到'主'數據庫
- 20. 使用ssh連接到遠程主機後執行unix操作
- 21. SmtpException - 連接被遠程主機強制關閉。 /操作超時
- 22. 套接字操作嘗試一個無法連接的主機windows CE的
- 23. 內部連接2個主鍵
- 24. SQL在主鍵上連接行值
- 25. 無法連接表,ID_Dosen,ID_Dosen(主鍵)
- 26. 連接形式通過PHP和主鍵
- 27. 如何更改主鍵和連接的外鍵的列類型?
- 28. 休眠一對一連接使用主鍵不工作
- 29. Apple Automator發出「無法連接操作」錯誤的AppleScript操作
- 30. MATLAB:SQL風格的連接操作