我有一个为发布系统构建内存数据库的项目,我希望对数据库结构,表的结构和字段以及它们之间的关系有帮助。 以下是数据库和表的说明 在此项目中,架构包含3个表:Users,Content,License,应添加足够的列以基于时间限制(包括永久性)或允许访问特定内容切片的访问次数来支持许可证(内容切片可以是任意可以识别内容的标准,例如某个范围内的发布日期或内容ID列表和/或“期刊名称”上的过滤器)。
我试图写3张桌子。
用户表,包含:
-id
-name
-password
-authority
许可证表:
-id
-name
用户许可证表”
-id
-user-id (FK)
-license-id (FK)
-price
-expiration date
-created at
答案 0 :(得分:0)
据我了解,您的问题是允许几种用途。这是java的应用。这就是为什么要使用java标记。因为这样的数据库没有错。如果是这样
只需尝试使用休眠模式
或使用专门用于读取或写入数据的方法创建新类
然后让用户通过继承或您喜欢的任何方法来访问所需的那些方法
答案 1 :(得分:0)
我的问题是如何设计表及其之间的关系,我已经用3个表完成了,不知道如何处理内容
答案 2 :(得分:0)
用户与许可证之间存在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);