数据库主键设计的有关问题

数据库主键设计的问题
我做了个影评网,在设计评分表的时候,是通过电影编号和用户编号来确定唯一列的,因为在程序里设计了每个用户只能对某个电影进行一次评分。
那么我有比亚把评分表再增加一个主键吗? 是不是所有的表主键是必须的? 求解答
------解决方案--------------------
主键雖然不是必須,但有更好.
------解决方案--------------------
主键最好是设,至于是联合主键,还是另赠一列自增长主键,取决于实际应用中是如何抽取数据,以及和其他表如何关联,通过这些因素来决定加什么主键比较合适,目的是查询方便和效率
------解决方案--------------------
既然每个用户只能对某个电影进行一次评分,那你的主键就可以了,而且这种编号也不是经常更改了。
------解决方案--------------------
建议再增设一个主键值,因为在你评分表的记录中,每个电影是可以被不同用户评论的。虽然没条记录对应唯一的一个用户编号,但是为了规范设计,为了防止编号出现问题。建议另设一个主键比如ledger_sn,一部电影被评论一次,ledger_sn+1
------解决方案--------------------
方案: 把 电影编号和用户编号 作为联合主键。