前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库设计实战(一):数据库设计规范「建议收藏」

数据库设计实战(一):数据库设计规范「建议收藏」

作者头像
全栈程序员站长
发布2022-09-14 16:08:20
3.2K0
发布2022-09-14 16:08:20
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、数据设计流程

1、需求分析

确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约

2、概念设计

对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型

3、逻辑设计

将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式

4、物理设计

对具体的应用任务选定最合适的物理存储结构、存取方法和存取路径等

5、验证设计

在其他设计基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性

6、运行与维护设计

在数据库系统正式投入运行的过程中,必须不断地对其进行评估、调整与修改

二、E-R图

1、什么是实体

实体是客观事物或者逻辑事物的抽象,是可以独立存在的,由构成该事物的其他属性组成的一个概念,是可以包含多种变化的一个名词性的事务

2、实体的特性

(1)实体是独立的

(2)实体在保持自身不变的同时,允许“由于自身变化”而产生不同的性质或者表现

(3)实体是变中不变的东西,是生成变化的基础,是一组具有相同属性事物的集合

3、什么是属性

属性即事物本身所固定的性质,是物质必然的、基本的、不可分离的特性,又是事物某个方面质的表现

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

4、什么是关系

关系是指存在某些事物或实体之间的关联

5、关系的两个重要概念

(1)关系的度:包含于特定关系中的实体叫做参与者,在关系中参与者的数目叫做关系的度

(2)递归关系:在不同的角色中有多次具有相同性质的实体参与的关系

@简单E-R图

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

@关系的度

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

@递归关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

6、什么是E-R关系图

(1)E-R图(Entity Relationship Diagram)

(2)称为实体-关系图,用于图形化描述实体-关系模型,是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型

7、什么是E-R方法

是“实体-关系方法”的简称,是描述显示世界概念结构模型的有效方法

8、E-R图的基本要素

(1)实体型

(2)属性

(3)关联关系

一对一关系(1:1)

一对多关系(1:N)

多对多关系(N:N)

三、设计范式

1、什么是范式

范式是为了消除重复数据减少冗余数据,从而让数据库内的数据更好地组织,让磁盘空间得到更有效利用的一种标准,满足高等级范式的先决条件是满足低等级范式

2、范式的目标

减少冗余数据

消除异常

让数据组织的更加和谐

3、第一范式(1NF)

数据库表的每一行都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。

表的每一行包含一个实例的信息

如果一个关系模型R的所有属性都是不可分的基本数据项,则R是第一范式的关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

4、第二范式(2NF)

要求数据库表中的每个实例或行必须是唯一的。为实现区分,通常需要为表加一个列,以存储各个实例的唯一标识(即主键)

实体的属性完全依赖于主关键字。所谓完全依赖指的是不能存在仅依赖主关键字一部分的属性。如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。

如果关系模型R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R是属于第二范式的。

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

5、第三范式(3NF)

一个数据库表中不包含已在其他表中包含的非主关键字信息。例如存在一个部门信息表,其中每个部门有部门编号DEPI_ID、部门名称、部门简介等信息。那么在员工信息表中列出的部门编号DEPT_ID后,就不能再有关于部门的其他信息,否则就会造成数据冗余。

如果关系模式R(U,F)中的所有非主属性对任何候选选关键字都不存在传递信赖,则称关系R是属于第三范式的。

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

四、数据库设计常用规范

为了优化数据库的设计,提高数据库设计的合理性和数据访问高效性,同时便于阅读和理解数据库的结构,以提高数据共享的质量和效率,促进数据库编码的标准化,特制订一套数据库规范

1、数据库命名规则

(1)对象名

使用有意义的英文单词,杜绝使用汉语拼音,单词之间用下划线分割

最大长度32个字符

名称中的缩写要统一

尽量使用名词结构

(2)表名、字段名

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

2、数据库设计规范

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

五、E-R数据模型设计

1、实体

在现实世界中,任何可以互相区别,且可被人们识别的事、物以及概念等统统可抽象为实体,每一个实体可用一个关系表来表示

每个实体都有一个唯一的名字,实体的名字通常使用名词

在E-R数据模型中,实体用一个矩形表示

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

2、弱实体

这种实体不能单独存在,总是依附于某个实体,因此将其称之为弱实体

在E-R数据模型中,若实体用双框的矩形表示

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

3、属性

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

4、关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

5、关系数据模型

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

6、关键的键

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

7、关系的完整性约束

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

六、关系数据库设计

1、关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

2、一对一关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

3、一对多关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

4、多对多关系

数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」
数据库设计实战(一):数据库设计规范「建议收藏」

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158276.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据库设计流程
  • 二、E-R图
  • 三、设计范式
  • 四、数据库设计常用规范
  • 五、E-R数据模型设计
  • 六、关系数据库设计
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档