我有2个表:用户和角色,并且有一个将这些表连接在一起的表。连接表中唯一的东西是链接两个表的ID。
我应该怎么称呼这张桌子?我从来没有真正看到过一个好的命名约定。
我以前见过的约定:
- UsersToRolesJoin
- UsersToRolesLink
- UsersToRoles会员资格
- UsersRoles
例如:
Users:
Id
Name
Roles:
Id
Name
TableThatJoinsTheTwo:
Id
UserId
RoleId
我有2个表:用户和角色,并且有一个将这些表连接在一起的表。连接表中唯一的东西是链接两个表的ID。
我应该怎么称呼这张桌子?我从来没有真正看到过一个好的命名约定。
我以前见过的约定:
例如:
Users:
Id
Name
Roles:
Id
Name
TableThatJoinsTheTwo:
Id
UserId
RoleId
Answers:
我称呼用户表User
,角色表Role
和联接表UserRoles
。
顺便说一句,在联接Id
表中pk并不是真正必需的。更好地使UserId
与RoleId
一起PK,或只是英国(唯一键),这样就可以保证独特的User
-Role
关系。
(User, Role)
PK
为这张桌子做一个漂亮的组合。无需创建代理。
@BalusC
:一个连接表确实需要一个PK
,但不需要一个代理 PK
。它需要的是PK
由FKs
it链接组成的组合。
User
还是Users
?以S结尾的东西怎么样?等等”(如果您刚刚开始项目,我现在将对此进行更改)User
,Role
,和外部参照表:UserRole
。UserRole
比RoleUser
。User_X_Role
或者UserXRole
为好,如果你喜欢额外的冗长我将链接表称为:
Remove_The_Surrogate_Primary_Key_From_The_Link_Table_Unless_You_Can_Prove_That_You_Really_Need_One
@Josh Close
:只需命名您的桌子即可UserRole
:)
_Link
零件。
我们具有相同的结构,并将链接表称为UserRoles。
这是我工作场所的惯例:
UsersXRoles
user
和的表user_group
,并且对链接表进行调用user_user_group
会引起混淆。user_x_user_group
看起来不错!
您可以从Microsoft窃取一个页面,并将其称为UsersInRoles。