【SSM - 数据库篇 】数据库设计三大范式 以及反三范式介绍


大佬链接
三大范式介绍
数据库设计表时,有三种规则或者原则,叫做三大范式

第一范式

确保每一列的原子性(做到每列不可拆分)

不满足原子的例子,对其进行拆列,使其符合第一范式
在这里插入图片描述

第二范式

在第一范式的基础上,每列都和主键(可以直接或也可以间接)相关

产品数量、产品折扣、产品价格与“订单号”和“产品号”都相关,但是订单金额和订单时间仅与“订单号”相关,与“产品号”无关. —拆表
在这里插入图片描述

第三范式

第三范式(3NF):在第二范式的基础上,每列都和主键直接相关(数据比较少冗余的)
所有属性都完全依赖于学号,所以满足第二范式,但是“班主任性别”和“班主任年龄”直接依赖的是“班主任姓名”,而不是主键“学号–使用外键
在这里插入图片描述

反三范式

1)反三范式是什么?
反三范式是基于第三范式所调整的,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。
(2)目的是什么?
》》1:为了更好地方便地满足业务需求
》》2:为了获取更高的数据库查询性能

规范度 VS 效率
我们在设计数据库的时候,既要考虑数据库的规范度,同时也要考虑数据库的执行效率

SSM建设数据库的步骤如下: 1. 创建数据库 在MySQL数据库中,可以使用以下命令创建数据库: ``` CREATE DATABASE 数据库名 CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 其中,utf8为编码方式,utf8_general_ci为排序规则,可以根据需要进行修改。 2. 创建数据表 在MySQL数据库中,可以使用以下命令创建数据表: ``` CREATE TABLE 表名( 字段1 数据类型 [约束条件], 字段2 数据类型 [约束条件], ... [表约束条件] ) ``` 其中,字段1、字段2等为表的列,数据类型可以是int、varchar等,约束条件可以是NOT NULL、PRIMARY KEY等,[表约束条件]可以是UNIQUE、FOREIGN KEY等。 3. 设计数据表结构 在设计数据表结构时,需要考虑以下几个方面: - 数据库范式:一般使用3NF或BCNF范式设计数据表结构,以避免数据冗余和不一致。 - 表关系:如果需要在多个数据表之间进行关联查询,需要设计表之间的关系。 - 数据类型:需要根据实际需要选择合适的数据类型,以节省存储空间和提高数据访问效率。 - 约束条件:需要根据实际需要添加约束条件,以保证数据的完整性和一致性。 4. 填充数据 在数据表结构设计完成后,需要向数据表中填充数据,以便在应用中进行测试和演示。 5. 配置数据源 在SSM应用中,需要在配置文件中配置数据源,以便在应用中连接数据库。具体的配置方法可以参考我之前回答的问题“ssm框架连接mysql数据库”。 6. 编写DAO层代码 在SSM应用中,一般使用MyBatis作为DAO层框架,需要编写对应的Mapper接口和Mapper.xml文件,以实现与数据库的交互。 以上就是SSM建设数据库的基本步骤,需要根据实际需要进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值