创建包含用户和组的表
Posted
技术标签:
【中文标题】创建包含用户和组的表【英文标题】:Create a Table(s) with Users and Groups 【发布时间】:2019-10-16 12:50:08 【问题描述】:我正在为学校构建一个租赁应用程序。将有三个组可以访问此应用程序。经理、同事和所有者。每个组可能对功能有限制。我的问题是我创建了一个登录表单,我需要将用户(根据他们的组)重定向到另一个表单。我需要创建一个包含用户和组的表,以便在用户输入他们的用户名和密码时能够调用某个组。
我试图创建一个表,但后来我卡住了应该将哪些数据作为外键。
CREATE TABLE Users (
UserID INT NOT NULL,
PASSWORD VARCHAR(50),
PRIMARY KEY(UserID)
);
CREATE TABLE Groups (
GroupID INT,
GroupName VARCHAR,
PRIMARY KEY(GroupID)
);
CREATE TABLE User_Groups (
UserID INT,
GroupID INT,
);
【问题讨论】:
哪个表? 【参考方案1】:如果用户完全属于一个组,并且看起来就是这种情况,则最好将组 ID 放在用户表中。将其约束为 groups 表中 ID 的外键,以确保只能插入有效的组 ID,并且不为 null,以强制必须设置它。
CREATE TABLE groups
(grouid integer,
groupname varchar(50),
PRIMARY KEY (groupid));
CREATE TABLE users
(userid integer,
username varchar(50),
password varchar(50),
grouid integer NOT NULL,
PRIMARY KEY (userid),
FOREIGN KEY (groupid)
REFERENCES groups
(groupid));
【讨论】:
以上是关于创建包含用户和组的表的主要内容,如果未能解决你的问题,请参考以下文章