ユーザー/役割システムを設計したい:
ユーザーには名前とパスワードがあり、ユーザーは のようないくつかの役割を持つことができますAdmin
。
このために、次のようなスキーマを作成しました。
ユーザー:
CREATE TABLE [dbo].[Users]
(
[id] [int] NOT NULL,
[name] [nvarchar](50) NULL,
[password] [nvarchar](50) NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([id] ASC)
)
役割:
CREATE TABLE [dbo].[Roles]
(
[id] [int] NOT NULL,
[name] [nvarchar](50) NULL,
CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED ([id] ASC)
)
ユーザーの役割:
CREATE TABLE [dbo].[User_Roles]
(
[id] [int] NOT NULL,
[User_id] [int] NOT NULL,
[Role_id] [int] NOT NULL,
CONSTRAINT [PK_User_Roles] PRIMARY KEY CLUSTERED ([id] ASC)
)
私の質問は: 外部キーを使用する必要がありますUser_Roles.User_id -> User.Id
はいの場合、なぜですか?