Создайте таблицу (таблицы) с пользователями и группами

Я создаю приложение для аренды для школы. Там будет три группы будут иметь доступ к этому приложению. Менеджеры, Партнеры и Владелец. Каждая группа может иметь ограничения по функциональности. Моя проблема в том, что я создал форму входа, и мне нужно перенаправить пользователя (в соответствии с его группой) в другую форму. Мне нужно создать таблицу с пользователями и группами, чтобы иметь возможность вызывать определенную группу, когда пользователь вводит свое имя пользователя и пароль.

Я пытался создать таблицу, но потом застрял на том, какие данные следует поместить в качестве внешнего ключа.

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,
                        );

Для какого стола?

demircioglu 30.05.2019 22:56
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
241
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если пользователь принадлежит ровно к одной группе, а здесь это выглядит так, лучше поместить идентификатор группы в таблицу пользователей. Ограничьте его как внешний ключ идентификатором в таблице групп, чтобы быть уверенным, что могут быть вставлены только допустимые идентификаторы групп, и как ненулевой, чтобы принудительно установить его.

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

Другие вопросы по теме