我一直在试图理解设计这个数据库的人的想法。我想知道这个程序叫什么以及为什么它有益。设计这个的人已经去世了,我想知道原因。
假设我有两个表,用户和角色
用户
create table my_users (
userid int,
primary key (userid),
username varchar(255)
);
insert into my_users (userid, username) values (1, 'Stack User 1');
Run Code Online (Sandbox Code Playgroud)
角色
create table my_roles (
roleid int,
primary key (roleid),
rolename varchar(255)
);
insert into my_roles (roleid, rolename) values (1, 'Admin'), (2, 'Local User'), (3, 'DB Owner');
Run Code Online (Sandbox Code Playgroud)
这些表映射在一起称为UserRoles
create table UserRoles (
userroleid int,
primary key (userroleid),
userid int,
roleid int
);
Run Code Online (Sandbox Code Playgroud)
这样做的原因是一个用户可以有多个角色吗?
像这样的东西:
insert into UserRoles (userid, roleid) values (1,1), …
Run Code Online (Sandbox Code Playgroud)