![]() |
1
10
用户和组之间有多对多关系。这需要一个单独的表来组合用户和组:
要查找给定组中的所有用户,只需说:
经验法则:如果您觉得需要在同一字段中对多个值进行编码,那么可能需要一个到单独表的外键。使用字节块或Unicode字符的技巧只是在一个字段中对多个值进行编码的巧妙技巧。数据库设计不应使用巧妙的技巧-将其保存为应用程序代码;-) |
![]() |
2
2
我肯定会选择单独的表——当然是最好的数据关系视图。如果在userid和groupid上都有索引,则可以快速获取每个组和每个用户组的用户。 |
![]() |
3
1
更标准、更实用、更易于理解的方法是联接表。它很容易被许多ORM支持,除了在大多数情况下具有合理的性能之外。只有当你有理由,比如说有一百万个用户,并且每隔半秒钟就必须回答这个问题时,才能用“聪明”的方式输入。 |
![]() |
4
0
我要做三张桌子。用户、组和用户组,用作链接用户和组的交叉引用表。在usersgroups表中,我将添加userid和groupid列,并将它们作为主键。顺便问一下,命名这些外部参照表有哪些命名约定? |
![]() |
5
0
这取决于您试图做什么,但是如果您的数据库支持它,您可以考虑使用角色。这样做的好处是,数据库提供了角色周围的安全性,您不必创建任何表。 |
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |