大家好,又见面了,我是你们的朋友全栈君。
一、数据库设计流程
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、多对多关系
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158276.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...