Re: [請益] 資料庫的參考完整性限制

看板Soft_Job作者 (十三夜)時間11年前 (2013/02/10 00:03), 編輯推噓8(809)
留言17則, 9人參與, 最新討論串7/7 (看更多)
※ 引述《mgtsai ()》之銘言: : : -- : : ◆ From: 59.105.83.207 : : 推 SansWord:舉例: 身分證字號是我們的PK, (單一欄位 PK) 02/09 11:55 : 雖然很多系統的實作,會以身分證字號當作 PK : 甚至很多資料庫類的書籍,都會以 PK 設為身分證字號當作範例講解 : 但在實務上,身分證字號其實並不適合當成 PK : 真的有心要做一個系統,要避免以身分證字號當作 PK : 因為存在極少數的案例,身分證字號有發生重覆的狀況 : 這是因為在古早以前戶政資料尚未電腦化的時代 : 在報戶口給身份字號時,全都是以人工作業 : 這時就難免會產生疏漏,發生重覆給號的狀況 : 而這種狀況實在難以人工的方式查核 : 直到戶政資料電腦化後,這種給號重覆的狀況才得以解決 : 但因之前的已經重覆的身份証字號,由於當事人甚至已使用了數十年之久 : 也使用在眾多其它的系統 : 即使電腦可以清查出有哪些重覆的字號 這邊扯遠一點 其實在公家單位 他們也認為身分證字號應該是獨一無二的 所以再提需求的時候 有時候會要求把重複的身分證字號濾掉 比如說戶政電子化來說 現在某些部門都會把個人資料掃描成圖檔 有些公家單位的人工作 每天就是把圖掃描然後改檔名 丟到系統上傳 如果DB有身分證字號就上傳 如果已上傳則不上傳 如果有兩人身分證字號重複的話 則比較年輕的那位 資料通常都不會被存進去 除非確定為update才更新 那些SPEC有時候都是隨單位說的 沒有固定的規則 你如果跟他說那些要注意的問題 DB...等 解釋半天不打緊 說完反而案子接不到才是最冏的 因為你在懷疑公家做事的方式 主管不爽你就不用接了 然後戶政資料電子化好像真的是10年前開始的 我之前改的網站差不多就10年歷史 很多東西都不敢動 我光改個戶籍圖檔系統 就遇到很多鳥問題 包山包海包主機 還被指定用silverlight上傳 (派系鬥爭迷之聲:silverlight新東西 叫那個學程式半年的菜鳥研究下阿) 不知道為什麼用IE都會5分鐘斷線...等問題 做了一個月還沒結案XD 最後好像把我做的silverlight整個打掉重做 哭哭 ===================================================== 額外問一個問題 id當作唯一鍵的時候 資料型態大家會選? var(36)的 GUID? UUID? 或是int(8) 之類的?? 排序方便? -- 最喜歡的一句話是? 世界和平 最尊敬的人是? 德蕾莎修女 請說一句話。 大家都要幸福喔~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.164.59.190 ※ 編輯: lance70176 來自: 1.164.59.190 (02/10 00:06)

02/10 00:44, , 1F
我都用 bigint XD
02/10 00:44, 1F

02/10 01:56, , 2F
必用整數
02/10 01:56, 2F

02/10 02:06, , 3F
大系統就用整數當 PK 吧,效率比使用 UUID 好很多
02/10 02:06, 3F

02/10 02:54, , 4F
bigint+1
02/10 02:54, 4F

02/10 11:02, , 5F
...用bigint 不用int 的理由是? 效能會有差嗎?
02/10 11:02, 5F

02/10 11:22, , 6F
http://0rz.tw/um7Mm 查到的文章
02/10 11:22, 6F

02/10 12:00, , 7F
公家機關的案子,要效能就叫他們買機器阿XD
02/10 12:00, 7F

02/10 12:06, , 8F
樓上專業喔 都在買新機器的時候才補上PK...很賊
02/10 12:06, 8F

02/10 12:07, , 9F
扯到效能兩個字就凹他們買機器 不然就說沒辦法...
02/10 12:07, 9F

02/10 12:29, , 10F
需要速度的用int或bigint,需要安全的用guid
02/10 12:29, 10F

02/10 17:32, , 11F
bigint 每天資料三千萬筆, 用int...
02/10 17:32, 11F

02/10 17:33, , 12F
此外, 用bigint也很容易估計資料庫使用量...
02/10 17:33, 12F

02/10 17:59, , 13F
當然...一切都要看你的應用
02/10 17:59, 13F

02/10 21:49, , 14F
VarChar?
02/10 21:49, 14F

02/10 23:16, , 15F
每天3000萬筆 那算海量資料了吧XD
02/10 23:16, 15F

02/10 23:17, , 16F
最近剛好遇過 有活動就破億 展開太大...只好重新設計
02/10 23:17, 16F

02/11 00:26, , 17F
bigint就64位元的資料量啊...
02/11 00:26, 17F
文章代碼(AID): #1H5dDPYS (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1H5dDPYS (Soft_Job)