我有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由FKsit链接组成的组合。
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。