3
我自學成功進行數據庫設計和MYSQL。謝謝你看我的問題。我現在有一個數據庫看起來像這樣在mySQL
:使用其他唯一約束創建代理鍵表
我用一個組合鍵的原因是我要保持Owner
和DevName
唯一所有的時間。 我可以看到的一個問題是,我需要始終使用兩個外鍵,所以Data1
表未標準化。
所以我做了一個表,看起來像這樣,使另一個表具有代理鍵表。
這看起來好嗎?我不知道做新表確實是個好主意......
有什麼讓他們在具有代理鍵一個表,保持的Owner
和DevName
獨特的像這樣的組合?:
感謝您的快速回復。噢,我認爲這個查詢使'id','owner'和'devname'具有獨特的組合,我不符合我的要求。但它實際上效果不錯:)謝謝。 只是一個簡單的問題,所以'UNIQUE INDEX'和'UNIQUE KEY'是相同的嗎?沒有區別? –
是的,在MySQL中完全相同。 (其他數據庫區分了唯一的CONSTRAINT和唯一的INDEX,例如,Oracle允許使用非唯一索引強制執行一個唯一的約束,但(MySQL)InnoDB存儲引擎不會這樣做,您需要創建一個在MySQL中,這兩個語句是等價的:'ALTER TABLE foo ADD CONSTRAINT foo_UX1 UNIQUE KEY(bar,baz)'和'CREATE INDEX foo_UX1 ON foo(bar,baz)' – spencer7593
非常感謝許多! –