我有一个项目来建立一个出版系统的内存数据库,我想在数据库结构的帮助,什么将是表的结构和字段以及它们之间的关系。以下是对此项目中的数据库和表的说明,该架构由3个表组成:用户、内容、许可证、应根据时间限制(包括永久的)或允许访问特定内容切片的访问次数添加足够的列以支持许可证(内容切片是可以识别一段内容的任何标准,如在一定范围内的出版日期或内容is列表和/或期刊名称上的过滤器)。
我试着写了3个表。
用户表,由以下部分组成:
-id
-name
-password
-authority
许可证表:
-id
-name
用户许可证表“
-id
-user-id (FK)
-license-id (FK)
-price
-expiration date
-created at
发布于 2019-01-06 19:44:21
据我所知,你的问题是对几种用途的许可。它是这方面的java应用。这就是为什么你有java标签。因为这样的数据库并没有什么问题。如果是这样
只需尝试使用hibernate
或者创建一个具有专门用于读取或写入数据的方法的新类
然后让用户通过继承或您喜欢的任何方式访问这些方法
发布于 2019-01-06 19:58:48
我的问题是如何设计表格和它们之间的关系,我已经做了3个表格,但不知道如何做内容
发布于 2019-01-06 22:23:53
用户和许可证之间存在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);
https://stackoverflow.com/questions/54061098
复制相似问题