[討論] 複合主鍵(Composite Primary Key)
之前的專案經驗,DB的PK大多是複合主鍵,不愛用流水編號,
主要是流水編號是沒有意義,所以盡量都是以欄位來當PK。
但最近專案在玩新技術,有些觀念似乎有點模糊,框架官網
表明ORM不支援複合式主鍵Table,建議使用Uniqe來代替複合式主鍵,
框架的觀念在於PK應該是唯一的,不該是靠幾個欄位來達成資料的唯一性,
如果有此需求,應該是以Unique來達成。
想請問各位的專案,PK都怎麼建?
有常用複合式主鍵嗎?哪種觀念才是對的?
另外,各位常用Foregin Key嗎,因為玩ORM發現他對ORM很重要,
但以往的專案很少用這個東西(主要是User要求刪資料的時候很麻煩)
跟各位請益
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.120.146
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1432739727.A.92A.html
※ 編輯: MacPerson (36.232.120.146), 05/27/2015 23:17:40
推
05/27 23:18, , 1F
05/27 23:18, 1F
→
05/27 23:18, , 2F
05/27 23:18, 2F
有效率但不好維護,不夠直觀,而且與User溝通,他不懂什麼是流水編號,
他只會拿它們觀念上的PK跟PG溝通,例如身分證號或名字+手機之類
但這是我的經驗,也希望大家能夠討論,讓我學習
推
05/27 23:26, , 3F
05/27 23:26, 3F
→
05/27 23:26, , 4F
05/27 23:26, 4F
→
05/27 23:26, , 5F
05/27 23:26, 5F
→
05/27 23:27, , 6F
05/27 23:27, 6F
※ 編輯: MacPerson (36.232.120.146), 05/27/2015 23:49:46
推
05/28 00:26, , 7F
05/28 00:26, 7F
→
05/28 01:46, , 8F
05/28 01:46, 8F
→
05/28 01:47, , 9F
05/28 01:47, 9F
推
05/28 09:26, , 10F
05/28 09:26, 10F
推
05/28 12:53, , 11F
05/28 12:53, 11F
→
05/28 14:41, , 12F
05/28 14:41, 12F
→
05/28 14:41, , 13F
05/28 14:41, 13F
→
05/28 19:30, , 14F
05/28 19:30, 14F
→
05/28 19:30, , 15F
05/28 19:30, 15F
→
05/29 07:50, , 16F
05/29 07:50, 16F