【发布时间】:2016-03-07 07:30:04
【问题描述】:
我有一个代表连接到游戏室的用户的表格。它看起来像这样:
id | gameRoomId | userId
------------------------
0 abc bob
1 xyz joe
2 xyz frank
...
有没有办法可以删除自动增量主键id 列?我没有将它用于任何查询,也不打算这样做。
gameRoomId 和 userId 分别有一个通用索引。
我现在正在使用 mysql,如果重要的话,最终可能会切换到 postgres。
【问题讨论】:
-
那么当用户断开连接时如何将其从游戏室桌子上移除?
-
GameRoomID 和 userID 的组合所代表的自然键。并且有些代理键除了唯一之外没有任何意义。在一般系统设计中;拥有代理键通常是有意义的。 1)它允许您基于 ONE 值而不是组合键值获取数据集 2)当键本身发生变化时它不会改变,因此关系更容易维护。但两种思想流派都有效。 agiledata.org/essays/keys.html
-
最近我开始在这些类型的表中添加标识列,但这只是因为如果没有实体框架会抱怨。
标签: sql database-design primary-key