Database-Design
定義主鍵:客戶編號僅在一個國家/地區是唯一的,但可能在不同國家/地區重複
我面臨以下問題:
我有一個包含客戶資訊的表格,例如客戶編號,即
customerID
設置為主鍵,除了一些其他數據外,還有一個國家程式碼形式的國家值,countryID
。但是,其他國家的客戶數據也應導入此表。儘管客戶編號在一個國家/地區內是唯一的,但它們不是跨國的。不應出於組織原因更改客戶編號。
如何為該表中的每個客戶仍然確保一個密鑰?
我將使用 countryID、CustomerID 作為您的唯一鍵,因為您已聲明您將擁有每個國家/地區的唯一客戶 ID。我將從 countryID 開始,因為它在系統中是唯一的,您可以添加 customerID 以獲得每個客戶的唯一密鑰。
可以有一個由多列組成的主鍵。這需要單獨編寫約束,作為表約束:
CREATE TABLE customers ( countryID INTEGER, customerID INTEGER, [...], PRIMARY KEY (countryID, customerID) );