2011-08-27 54 views
4

讓我們說我有這樣一個複選框搜索表單:替代大量的MySQL布爾值?

檢查所有你感興趣:

  • 保齡球
  • 檯球
  • 甜食

我可以請求該來自數據庫的數據,而不是不得不將大量的布爾值添加到像這樣的數據庫中?

(VenueId,IfBowling,IfBilliard,IfSweets)

也許只是有一列,將包含所有的場館本身有那些選擇?

回答

23

替代..肯定..簡單:

User表,Interests表,UserInterests表。

UserInterests用於存儲UsersInterests之間的多對多關係,並且包含來自所述表的值爲FOREGN KEY的值。

P.S.你真的應該讀SQL Antipatterns書。你會從中學到很多東西。

+1

謝謝你我會去研究這個:) – pufAmuf

+0

一篇文章對於像你這樣的初學者有用,http://web.archive.org/web/20080805014412/http://www.datamodel.org/NormalizationRules。 html來解釋如何將數據分解爲表格和關係 – Martin