我正在为学校制作一个出租申请。将有三个组可以访问此应用程序。经理,合伙人和所有者。每个组可能对功能有限制。我的问题是,我创建了一个登录表单,并且需要将用户(根据他们的组)重定向到另一个表单。我需要创建一个包含用户和组的表,以便在用户输入其用户名和密码时能够校准某个组。
我试图创建一个表,但是后来我陷入了应该将哪些数据作为外键放置的问题。
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,
);
答案 0 :(得分:2)
如果用户完全属于一个组,并且在这种情况下看起来像这样,则最好将组ID放在用户表中。将其限制为组表中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));