SQL Server上更好的数据库设计?

ale*_*xtc 0 sql-server database-design

在SQL Server中,我需要设计一个User表.它应该有a UserID (int),a RoleID (int)和a UserName (nvarchar(255)).

可以为用户分配名称但可能分配多个角色,因此UserId可以对应多个RoleIDs.这使得很难将主键UserIDUserID可以复制的.

除了将它分成多个表之外,还有更好的设计吗?

mih*_*imi 6

你应该有:

1. a user table with UsertId(int), UserName (Varchar)
2. a role table with RoleId(int), RoleName(Varchar)
3. a user_role table with user_id(int), role_id(int)
Run Code Online (Sandbox Code Playgroud)

并且不要忘记添加正确的索引和外键.