首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >发布系统的表结构

发布系统的表结构
EN

Stack Overflow用户
提问于 2019-01-06 19:35:42
回答 3查看 66关注 0票数 0

我有一个项目来建立一个出版系统的内存数据库,我想在数据库结构的帮助,什么将是表的结构和字段以及它们之间的关系。以下是对此项目中的数据库和表的说明,该架构由3个表组成:用户、内容、许可证、应根据时间限制(包括永久的)或允许访问特定内容切片的访问次数添加足够的列以支持许可证(内容切片是可以识别一段内容的任何标准,如在一定范围内的出版日期或内容is列表和/或期刊名称上的过滤器)。

我试着写了3个表。

用户表,由以下部分组成:

代码语言:javascript
运行
复制
-id
-name
-password
-authority

许可证表:

代码语言:javascript
运行
复制
-id
-name

用户许可证表“

代码语言:javascript
运行
复制
-id
-user-id (FK)
-license-id (FK)
-price
-expiration date 
-created at
EN

回答 3

Stack Overflow用户

发布于 2019-01-06 19:44:21

据我所知,你的问题是对几种用途的许可。它是这方面的java应用。这就是为什么你有java标签。因为这样的数据库并没有什么问题。如果是这样

只需尝试使用hibernate

或者创建一个具有专门用于读取或写入数据的方法的新类

然后让用户通过继承或您喜欢的任何方式访问这些方法

票数 0
EN

Stack Overflow用户

发布于 2019-01-06 19:58:48

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

票数 0
EN

Stack Overflow用户

发布于 2019-01-06 22:23:53

用户和许可证之间存在1-N关系,其中一个用户可以拥有多个许可证,并且每个许可证只属于一个用户。

要表示这样的关系,应该有两个表,而不是三个。您不需要额外的网桥表user-license

  • user表为每个用户级别(id、名称、密码等)包含一条记录
  • licence表为每个许可证包含一条记录,并包含所有相关信息(名称、价格、到期时间等)引用许可证所属用户id的外键

下面是如何将外键添加到表license中:

代码语言:javascript
运行
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54061098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档