MySQL — Как дать пользователям в SQL доступ к разным файлам

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

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

На данный момент у меня есть таблица со всеми пользователями
там столбцы
электронные письма,

пароли,

имена / фамилии,

а также инструменты.

Я хотел бы иметь возможность просто добавить еще одно поле для этого, которое контролирует, к каким файлам они имеют доступ.

0

Решение

Что у вас здесь есть многие-ко-многим отношения между студентами и файлами. В MySql мы обычно решаем эту проблему путем создания сводная таблица. Вот небольшой пример:

CREATE TABLE users (
id INTEGER PRIMARY KEY,
email VARCHAR(100) NOT NULL
);

CREATE TABLE assignments (
id INTEGER PRIMARY KEY,
filepath VARCHAR(100) NOT NULL
);

CREATE TABLE user_assignment (
id INTEGER PRIMARY KEY,
user_id INTEGER NOT NULL,
assignment_id INTEGER NOT NULL,
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (assignment_id) REFERENCES assignments (id) ON DELETE RESTRICT ON UPDATE CASCADE,
);

Итак, каждая запись в user_assignment сводная таблица означает, что пользователь с идентификатором user_id имеет доступ к назначению с идентификатором assignment_id,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]