使用主键的按位标志?

Rob*_*ean 4 flags database-design

我正在设计一个数据库,并在考虑是否需要一对多的关系.传统上我已经完成了正常的PK(作为GUID)并建立了关系,但我想知道如果这样做,为什么不使用按位标志作为PK.

这种关系会丢失,但数据本身会描述这种关系.

示例 - 我有一个组表和一个用户表.用户可以拥有一个或多个组:

+------------------------+
| Groups                 |
+------------------------+
| PK      | Display Name |
+---------+--------------+
| 1       | Group A      |
| 2       | Group B      |
| 4       | Group C      |
+---------+--------------+

+------------------------+
| Users                  |
+------------------------+
| Name    | Groups       |
+---------+--------------+
| Fred    | 1            | // Fred is only in Group A
| Jim     | 3            | // Jim is in Groups A & B
| Sam     | 7            | // Sam is in all Groups
+---------+--------------+
Run Code Online (Sandbox Code Playgroud)

关于这个设计的想法,意见和建议好吗?

Gal*_*boy 5

我不鼓励使用像这样的位标志.首先,你已经破坏了轻松加入这些表的能力,因此确定组成员资格将a)需要更长时间,b)更加困难,以及c)可能涉及更多全表扫描或至少索引扫描.