用用户和组创建表

时间:2019-05-30 20:48:34

标签: c# sql tsql

我正在为学校制作一个出租申请。将有三个组可以访问此应用程序。经理,合伙人和所有者。每个组可能对功能有限制。我的问题是,我创建了一个登录表单,并且需要将用户(根据他们的组)重定向到另一个表单。我需要创建一个包含用户和组的表,以便在用户输入其用户名和密码时能够校准某个组。

我试图创建一个表,但是后来我陷入了应该将哪些数据作为外键放置的问题。

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 个答案:

答案 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));