如何使用评级系统创建最佳模式数据库并在一个月内可用?

| 我将创建数据库MySQL的架构。有用户名,密码等和评分系统,可在一个月内使用。 标准它看起来像这样: id |用户名|密码一月二月前进rating1 |评分2 | rating3 | 1 |约翰| xxx | 1 | 0 | 1 | 3 | 3 | 6 2 |艾米| xxx | 1 | 1 | 0 | 1 | 6 | 3 如果用户购买商品,则必须添加评分(1,2,3)。如果在约翰中选择2,则评分2 +1 id |用户名|密码一月二月前进rating1 |评分2 | rating3 | 1 |约翰| xxx | 1 | 0 | 1 | 3 | 4 | 6 2 |艾米| xxx | 1 | 1 | 0 | 1 | 6 | 3 一月,二月(1-可用,0-不可用)等将自己设置为John或Amy。 这好吗?我应该为Januar / feb / march和rating1 / 2/3创建单独的表格吗?也许只是为了评分?     
已邀请:
        我不是一个硬核数据库设计人员,但是乍一看这是架构未规范化。 如果您可以为月份创建一个单独的表,并且评分会更好,请找到以下示例 d |用户名|密码 1 |约翰| xxx 2 |艾米| xxx id |一个月评分 1 | 1 | 3 MonthID |月名 1 |一月 然而,这种限制可能不是您所建议的数据库的理想解决方案。     
        好吧,我知道这很晚了,但是这很严重!!! 首先使用bcrypt加密密码 第二,永远不要存储未正确加密的密码。您需要一个“盐”来正确执行此操作。 看到这里:http://www.nathandavison.com/posts/view/13/php-bcrypt-hash-a-password-with-a-logical-salt 我不是php专家,但看起来不错。 至于数据库,Prabhakantha的回答看起来还可以,但可能并不完全合适。 用户数
id | username | password | salt

1  | john     | xxx      | blah
2  | amy      | xxx      | ughh
等级
id | month_id | rating
1  | 1        | 3
月数
id | month   | year
1  | January | 1990
我知道在Rails上的ruby世界中,我会使用多态关联对此进行建模。在这里看看它是如何工作的:http://railscasts.com/episodes/154-polymorphic-association 是的,这是一段关于铁路的视频,但此处适用。     

要回复问题请先登录注册