Primary-Key

我應該如何處理未知的主鍵?

  • July 31, 2015

我在一所學校擔任數據庫管理員。最近,學校將其學生管理軟體升級為基於網路的解決方案。這很好用,但是這個基於 Web 的解決方案缺少我們曾經擁有的一些功能。值得慶幸的是,新的管理軟體可以通過 API 將本地數據庫與其線上數據庫同步。

在我的本地數據庫中,每個學生過去都有一個主鍵,比如某個數字2015XXXX在哪裡XXXX。線上應用程序使用不同的系統。據我所知,目前的辨識號範圍從XXXX(以千計)到XXXXX(萬)。我不知道這些數字是否存在邏輯

我更喜歡使用新的身份證號碼,因為讓學生在我的本地數據庫中與線上系統保持一致要容易得多。但是,我希望保留以前沒有身份證號的學生。我應該給那些什麼樣的主鍵,以防止主鍵的衝突?

我看到一些選項:

  1. *(到目前為止我所做的)*我已經將以前的學生 ID 更改為一個巨大的數字。瞳孔20050123變成1020050123。學校不會很快達到這個學生人數。但是我不能保證線上系統不會構造大數字?
  2. 使用負數?瞳孔20050123變成-20050123
  3. 其他?

由於您不知道密鑰中是否存在任何邏輯,因此您無法判斷大數或負數是否會導緻密鑰違規。在不了解應用程序的情況下,我建議將以前的學生導入新軟體中以獲得正常 ID 是要走的路。

引用自:https://dba.stackexchange.com/questions/108665