SQL关系和最佳实践
如果我有一个用户表和一个角色表 添加关系的通常做法/模式是什么 我是在用户表中为RoleID创建一个额外的列,还是人们通常会这样创建一个关系表: 关系表 最后,作为一个用户,你可能会创建无数不同类型的东西,这些东西都需要与你相关。。。而是将关系添加到为每个单独的事物创建的每个单独的表中。。例如: 页数表 因此,另一张表也类似于此: 评论表 在这种情况下,如果要这样做,我需要扩展Relationships表: 关系表 我可能只想填写UserID和CommentID,因为这种关系不适用于角色。。。由另一个条目管理的。例如,可以为注释关系输入值:SQL关系和最佳实践,sql,relationship,Sql,Relationship,如果我有一个用户表和一个角色表 添加关系的通常做法/模式是什么 我是在用户表中为RoleID创建一个额外的列,还是人们通常会这样创建一个关系表: 关系表 最后,作为一个用户,你可能会创建无数不同类型的东西,这些东西都需要与你相关。。。而是将关系添加到为每个单独的事物创建的每个单独的表中。。例如: 页数表 因此,另一张表也类似于此: 评论表 在这种情况下,如果要这样做,我需要扩展Relationships表: 关系表 我可能只想填写UserID和CommentID,因为这种关系不适用于角色。。。由
AUTO | 2 | NULL | 16
我可以想象一个多用途的修订表很方便
修订表
实际上应该是这样的:
关系表新建
如果一个用户具有多个角色,并且一个角色可以由多个用户承担,则您具有多对多关系。您需要关系表relationshipId字段是不必要的。有些人认为无论如何,拥有一个是个好主意。我不是那种人。有人能给我演示一下我的关系表是什么样子的吗?我在我的OP底部关系表中尝试了一下,这看起来还好吗?
PageID | Title | Content | Author (UserID)
CommentID | Comment | Author (UserID)
RelationshipID | UserID | RoleID | CommentID
AUTO | 2 | NULL | 16
RevisionID | DateCreated | UserID | ActionTypeID | ModelTypeID | Status | RelatedItemID
---------------------------------------------------------------------------------------
1 | <Now> | 3 | 4 (Delete) | 6 (Page) | TRUE | 38
2 | <Now> | 3 | 1 (Delete) | 5 (Comment) | TRUE | 10
3 | <Now> | 3 | 1 (Add) | 5 (Comment) | FALSE | 10
RelationshipID | UserID | RoleID | CommentID... etc
RelationshipID | ItemID | LinkID | ItemType | LinkType | Status
---------------------------------------------------------------------------------
1 | 23(PageID) | 7(UserID) | ("Page") | ("User") | TRUE
2 | 22(CommentID) | 7(UserID) | ("Comment") | ("User") | TRUE
3 | 22(CommentID) | 23(PageID) | ("Comment") | ("Page") | TRUE