发布系统的表格结构

时间:2019-01-06 11:35:42

标签: mysql database

我有一个为发布系统构建内存数据库的项目,我希望对数据库结构,表的结构和字段以及它们之间的关系有帮助。 以下是数据库和表的说明  在此项目中,架构包含3个表:Users,Content,License,应添加足够的列以基于时间限制(包括永久性)或允许访问特定内容切片的访问次数来支持许可证(内容切片可以是任意可以识别内容的标准,例如某个范围内的发布日期或内容ID列表和/或“期刊名称”上的过滤器)。

我试图写3张桌子。

用户表,包含:

-id
-name
-password
-authority

许可证表:

-id
-name

用户许可证表”

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

3 个答案:

答案 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);