数据库的设计

数据库设计的三大范式

数据库设计的三大范式
第一范式(1NF)用来确保每列的原子性,要求每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元)。

第二范式(2NF)在第一范式的基础上更进一层,要求表中的每列都和主键相关,即要求实体的唯一性。如果一个表满足第一范式,并且除了主键以外的其他列全部都依赖于该主键,那么该表满足第二范式。

第三范式(3NF)在第二范式的基础上更进一层,第三范式是确保每列都和主键列直接相关,而不是间接相关,即限制列的冗余性。如果一个关系满足第二范式,并且除了主键以外的其他列都依赖于主键列,列和列之间不存在相互依赖关系,则满足第三范式。

数据库的三范式可以不遵守,但是一定要有足够的理由

数据库的 er图和eer图

er图:逻辑模型
实体:一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系,使用矩形表示。
属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。对于主属性名,则在其名称下划一下划线使用椭圆形来表示。
联系:也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系,使用菱形表示。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
er图实例:
在这里插入图片描述

eer:物理模型
主键和主键对应的话显示实线。
主键和非主键对应的话为虚线。
两个小竖线表示对应关系为1.

这里网上找了个图来表示一下
在这里插入图片描述
在这里插入图片描述
eer图实例:
在这里插入图片描述

数据库中表的对应关系

3.表的对应关系
1对1的表设计
不需要中间表,一张表的主键存在与另一个表当中,另一张表的主键作为外键
1对多的表设计
不需要中间表,一张表的主键存在与另一个表当中,另一张表的主键不需要作为外键
多对多的表设计
需要中间表,中间表需要存两张表的主键

数据库的设计原则

(1)把具有同一个主题的数据存储在一个数据表中,“一表一用”。

(2)尽量消除冗余,提高访问数据库的速度。

(3)一般要求数据库设计达到第三范式,多对多,最大限度消除了数据冗余、修改异常、插入异常、删除异常,基本满足关系规范化的要求。

(4)关系数据库中,各个数据表之间关系只能为一对一和一对多的关系。对于多对多的关系必须转换为一对多的关系来处理。

(5)设计数据表结构时,应考虑表结构的动态适应性。

数据库设计的主要步骤:

1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;

2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;

3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;

4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;

5、系统实施:组织数据入库、编制应用程序、试运行;

6、运行维护:系统投入运行,长期的维护工作。

在线作图平台推荐

processOn-免费在线作图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值