0

SQL Serverでは、Userテーブルを設計する必要があります。UserID (int)、、、RoleID (int)およびが必要UserName (nvarchar(255))です。

ユーザーには名前を割り当てることができますが、複数の役割が割り当てられる可能性があるため、aUserIdは複数のに対応する場合がありRoleIDます。これにより、重複する可能性があるUserIDように主キーを割り当てることが困難になります。UserID

複数のテーブルに分割する以外に、より良いデザインはありますか?

4

2 に答える 2

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)

また、適切なインデックスと外部キーを追加することを忘れないでください。

于 2012-06-26T07:27:00.930 に答える
2

つまり、テーブルRoles、次にUserIDとRoleIDを持つRolesUsers、最後にUsersテーブルがあります。

編集:RolesUsersのUserID+RoleIDは複合キーです

于 2012-06-26T07:25:41.453 に答える