JAVA项目中数据库表的设计思路

数据库相关知识

范式(NF):
符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度

三范式:
第一范式:对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:对字段冗余性的约束,要求字段不能由其他字段派生出来,即字段没有冗余

两个表之间的数据关系:
1)一对一: 两个表里数据唯一对应;
2)一对多: 表A在表B里对应多条数据,但表B里的一条数据绝对只对就A中的一条数据;
3)多对多: A里的一条数据对应B里的多条数据,B里一条数据也对应A中的多条数据.

项目中数据库表的设计思路

以笔记项目为例进行分析

1 )首先分析业务,细化模块;
2)找出模块要描述的东西并以表的形式表达出来(表的设计遵循三范式原则);
3)列出你想通过这个表要得到的相关信息的列表;
4 ) 分析模块之间的关系(表与表之间的关系:一对一, 一对多, 多对多)

用户登录模块 :
step1: 用户表:
必须字段—> 用户ID(主键)+用户名+密码
step2:业务:根据用户ID显示该用户的笔记本

笔记本模块:
step1:笔记本表
必须字段:笔记本ID(主键)+笔记本名+所属用户(用户ID(外键))
step2:业务:根据笔记本ID和笔记状态码显示非回收状态的笔记

笔记模块:
step1:笔记表
必须字段 : 笔记ID(主键)+笔记名+笔记标题+笔记内容+所属笔记本(笔记本ID(外键))+ 所属用户(用户ID(外键))+笔记状态Code

回收站模块:
step2:业务:根据用户ID和笔记状态码查询回收状态的笔记,显示在回收站中

这里写图片描述

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值