我正在創建一個數據庫來存儲Magic the Gathering卡。
的設計,我想我應該用情況如下:MySQL檢查數據庫是否規範化和功能化
完全IMG:http://portolivre.net.br/imgs/MTGdb.png
爲了幫助你們瞭解什麼是需要在這個數據庫:
每卡可以出現在多個版本中,當它改變版本時可以改變:每個版本中的稀有性,藝術家和卡號。
每張卡片可以有一種或多種類型。
每張卡都可以有子類型(不是必需的)。
馬克也依賴卡和版本。
現在,我懷疑我的東西:
這是正確歸?
可以保留一些沒有任何主鍵的表嗎? (cardSets,cardType和cardSub)
考慮到當我需要卡信息時,我需要檢查每張表,我應該學習哪些視圖並使用它們?
也有基本的土地,女巫會出現不止一次在同一個版本,即任何版本可以有4個不同的森林,他們將擁有一切完全相同(包括卡號),只有在藝術家不同。
我應該創建一個地表並用它代替卡表來處理這種情況,還是應該在卡表中添加4次Forest?
謝謝大家=)
如果您使用innodb作爲存儲,您應該創建一個PRIMARY鍵或UNIQUE鍵。如果你在innodb中沒有創建PRIMARY鍵或UNIQUE鍵,那麼我在mysql中發現了一些麻煩的代碼。檢查這個http://dba.stackexchange.com/questions/48072/why-does-mysql-ignore-the -index偶數上力換此階由/ 48184#48184 –