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

本文介绍数据库设计中的关键概念,如范式(NF),并详细解释了三范式的具体要求。同时,文章还提供了实例,展示了如何根据实际业务需求设计用户、笔记本及笔记等表结构,确保数据的一致性和减少冗余。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库相关知识

范式(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和笔记状态码查询回收状态的笔记,显示在回收站中

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值