Primary-Key
我應該如何處理未知的主鍵?
我在一所學校擔任數據庫管理員。最近,學校將其學生管理軟體升級為基於網路的解決方案。這很好用,但是這個基於 Web 的解決方案缺少我們曾經擁有的一些功能。值得慶幸的是,新的管理軟體可以通過 API 將本地數據庫與其線上數據庫同步。
在我的本地數據庫中,每個學生過去都有一個主鍵,比如某個數字
2015XXXX
在哪裡XXXX
。線上應用程序使用不同的系統。據我所知,目前的辨識號範圍從XXXX
(以千計)到XXXXX
(萬)。我不知道這些數字是否存在邏輯。我更喜歡使用新的身份證號碼,因為讓學生在我的本地數據庫中與線上系統保持一致要容易得多。但是,我希望保留以前沒有新身份證號的學生。我應該給那些什麼樣的主鍵,以防止主鍵的衝突?
我看到一些選項:
- *(到目前為止我所做的)*我已經將以前的學生 ID 更改為一個巨大的數字。瞳孔
20050123
變成1020050123
。學校不會很快達到這個學生人數。但是我不能保證線上系統不會構造大數字?- 使用負數?瞳孔
20050123
變成-20050123
- 其他?
由於您不知道密鑰中是否存在任何邏輯,因此您無法判斷大數或負數是否會導緻密鑰違規。在不了解應用程序的情況下,我建議將以前的學生導入新軟體中以獲得正常 ID 是要走的路。