发布系统的mysql表结构

ds97pgxw  于 2021-06-15  发布在  Mysql
关注(0)|答案(3)|浏览(259)

我有一个项目,以建立内存数据库的出版系统,我想在数据库结构的帮助,将是什么结构和字段的表和它们之间的关系。下面是对本项目中的数据库和表的说明,该模式由3个表组成:用户、内容、许可证、,应添加足够的列,以支持基于时间限制(包括永久性)或允许访问特定内容片的访问次数(内容片是可以标识一段内容的任何标准,如范围内的发布日期、内容ID列表和/或日志名称筛选器)的许可证。
我试着写三张表。
用户表,包括:

-id
-name
-password
-authority

许可证表:

-id
-name

“用户许可证表”

-id
-user-id (FK)
-license-id (FK)
-price
-expiration date 
-created at
bttbmeg0

bttbmeg01#

据我所知,您的问题在于授予多个使用权限。这是java应用程序。这就是为什么你有java标签。因为这样的数据库没有错。如果是的话
只需尝试使用hibernate
或者创建一个新类,其中包含专门用于读写数据的方法
然后让用户通过继承或任何您喜欢的方法访问这些方法

jm2pwxwz

jm2pwxwz2#

用户和许可证之间存在1-n关系,一个用户可以拥有多个许可证,每个许可证只属于一个用户。
要表示这种关系,两个表就足够了,而不是三个表。你不需要额外的桥接表 user-license :
这个 user 表中每个用户级别(id、名称、密码等)包含一条记录
这个 licence 表中包含每个许可证的一条记录,以及所有相关信息(名称、价格、到期日等)和引用许可证所属用户id的外键
下面是如何将外键添加到表中 license :

ALTER TABLE license 
    ADD user_id INT NOT NULL DEFAULT 0;
ALTER TABLE license
    ADD CONSTRAINT fk_user_id 
    FOREIGN KEY (user_id) REFERENCES users(id);
ubbxdtey

ubbxdtey3#

我的问题是如何设计表和它们之间的关系,我已经做了3个表,不知道如何做的内容

相关问题