Я создаю приложение для аренды для школы. Там будет три группы будут иметь доступ к этому приложению. Менеджеры, Партнеры и Владелец. Каждая группа может иметь ограничения по функциональности. Моя проблема в том, что я создал форму входа, и мне нужно перенаправить пользователя (в соответствии с его группой) в другую форму. Мне нужно создать таблицу с пользователями и группами, чтобы иметь возможность вызывать определенную группу, когда пользователь вводит свое имя пользователя и пароль.
Я пытался создать таблицу, но потом застрял на том, какие данные следует поместить в качестве внешнего ключа.
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,
);
Если пользователь принадлежит ровно к одной группе, а здесь это выглядит так, лучше поместить идентификатор группы в таблицу пользователей. Ограничьте его как внешний ключ идентификатором в таблице групп, чтобы быть уверенным, что могут быть вставлены только допустимые идентификаторы групп, и как ненулевой, чтобы принудительно установить его.
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));
Для какого стола?