mysql-如何让sql中的用户访问不同的文件

i1icjdpr  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(332)

我是当地一所高中的鼓楼老师,我正在制作一个网页,让学生们可以看到他们的音乐。
我正在一个表中制作一个用户列表,需要为用户添加权限,以便他们只能访问我分配给他们的音乐(pdf文件)。起初,我考虑过使用数组作为文件名,但在看到sql中的数组有多大争议之后,我决定联系一下,看看是否有更好的建议。
到现在为止,我有一个表格,里面有所有用户的信息,这些信息都是电子邮件,
密码,
名/姓,
和仪器。
我想能够只是添加另一个字段到这个控制什么文件,他们有权访问。

a6b3iqyw

a6b3iqyw1#

你在这里看到的是学生和档案之间的多对多关系。在mysql中,我们通常通过创建一个pivot表来解决这个问题。下面是一个小例子:

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 有权访问id为的分配 assignment_id .

相关问题