数据库的设计理论

本文介绍了数据库设计的基本理论,包括数据库三范式、数据完整性、冗余字段和索引的使用。强调了在遵循三范式的同时,应考虑项目业务特性以优化性能。讨论了如何创建索引和在外键关联上的策略,以及数据库设计流程,从需求分析到E-R图绘制,再到物理表创建。

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

一.数据库设计基本理论知识
1、数据库三范式
◆保证数据库字段原子不可分割。
一个字段,只能表示一个含义。
◆每行数据有唯一的依赖。(有主键)
唯一、不能为空,用于区分两条不同的数据。
◆不传递依赖。(有外键)
在数据关联时,使用主键进行关联。不传递给其他字段。

第一范式:数据库表中的所有字段值都是不可分解的原子值
第二范式:需要确保数据库表中的每一列都和主键相关 而不能只与主键的某一部分相关(主要针对联合主键而言)
第三范式:需要确保数据表中的每一列数据都和主键直接相关 而不能间接相关

2、数据完整性:
外键关联和外键约束
外键关联:第三范式~
外键约束:为了保证数据的完整性,数据库本身会对有外键关联的数据进行完整性校验。这样 的校验本身性能不高。

3、冗余字段:
在数据库表中,多余没有实际意义的字段。

4、索引:
索引是提高数据库检索效率的一种方法。
索引会针对表中的某一个或几个字段,做一个位置的记录,当查询的时候,先在索引记录的位置中找到相关数据在表中的位置。
如何创建索引:index on
对哪些字段进行索引: 对经常被查询的字段做索引,比如:主键id。
经常被修改的字段,最好不要创建索引。
二、数据库设计技巧
在设计数据库时,我们尽可能按照数据库的三范式进行设计,但是根据项目业务的特性,我们也不一定要严格遵守三范式。比如:三 范式中的第三范式,在设计表时,我们会创建外键关联,但是一旦创建外键后,数据库为了保证数据的完整性,每一次操作表和关联表 时,都需要关联查询响应的表中的数据是否存在,性能会受到很大的影响。但是在项目中,我们可以通过业务操作手段,来验证数据的完 整性,此时不需要数据库在浪费时间和资源去验证一次,所以我们通常在设计表时,把外键的字段当成一个普通字段使用,不创建外键约 束。关于冗余字段,有时候为了去提高查询效率,我们也会使用冗余字段,避免过多的表联查。1

三、设计流程:
首先根据需求确定业务数据表,然后根据业务处理情况设计业务逻辑表。确定有什么表和表中有什么字段以后,使用PD绘制E-R图。 将数据库物理模型生成sql脚本,在DB中执行,创建表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值