小编Tra*_*vis的帖子

数据库设计 - 表创建和连接记录

我一直在试图理解设计这个数据库的人的想法。我想知道这个程序叫什么以及为什么它有益。设计这个的人已经去世了,我想知道原因。

假设我有两个表,用户角色

用户

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)

mysql database-design

3
推荐指数
1
解决办法
569
查看次数

标签 统计

database-design ×1

mysql ×1