一、数据库设计流程

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、多对多关系

数据库设计实战(一):数据库设计规范相关推荐

  1. 一文读懂,DDD落地数据库设计实战

    过去,系统的软件设计是以数据库设计为核心,当需求确定下来以后,团队首先开始进行数据库设计.因为数据库是各个模块唯一的接口,当整个团队将数据库设计确定下来以后,就可以按照模块各自独立地进行开发了,如下图 ...

  2. MySQL数据库设计常用技巧和设计规范(一):E-R图

    1.E-R图 什么是E-R图? 在数据库设计中我们会使用到E-R图(Entity Relationship Diagram) ER图分为实体.属性.关系三个核心部分.实体是长方形体现,而属性则是椭圆形 ...

  3. mysql数据库设计原则_mysql数据库设计总结

    作者:腾讯云技术社区 链接:https://www.zhihu.com/question/19719997/answer/154809252 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  4. MySQL数据库——数据库设计概念和数据库设计步骤

    数据库设计就是根据业务系统的具体需求,结合我们所选用的数据库,建立好表结构及表与表之间的管理关系,为这个业务系统构造出最优秀的数据存储模型的过程.使之能有效的对应用的数据进行存储,并高效的对已经存储的 ...

  5. 数据库设计学习②:数据库设计的步骤

    为什么要进行数据库设计?

  6. 数据库设计学习①:数据库设计简介

    本教程根据慕课网sqlercn老师的[数据库设计那些事]教学视频所学得来. 什么是数据库设计? 为什么要进行数据库设计?

  7. php书店数据库设计,PHP教材数据库设计

    <PHP教材数据库设计>由会员分享,可在线阅读,更多相关<PHP教材数据库设计(5页珍藏版)>请在人人文库网上搜索. 1.教材管理系统数据库设计表xuesheng xuehao ...

  8. 数据库设计基本步骤 / 数据库设计原则

    基本步骤         按照规范设计的方法,同时考虑数据库及其应用系统开发的全过程,可以将数据库设计分为以下 6 个阶段: 需求分析阶段 需求分析是数据库设计的第一步,也是整个设计过程的基础,本阶段 ...

  9. 【SQL数据库设计】数据库设计【小型数据库】

    数据库设计 需求 表结构 字段类型.是否允许为null.是否有默认值 索引设计 数据库引擎的选择 根据产品原型分析,词性分析法,名词创建表或字段,动词表示关系. 数据存储:长期存储的数据, 1.主键: ...

最新文章

  1. 如何停止电脑正在运行的VBS程序?
  2. webpack url-loader limit 转换部分资源为base64格式 其余不转换
  3. 【SAM】loj#6401. 字符串
  4. Java | 原来 try 还可以这样用啊?!
  5. 液晶手写板原理拆解_汽车抬头显示HUD的拆解
  6. 生成token和获取token
  7. JAVA接口和抽象类的特点
  8. Cobbler批量装机
  9. visio 2013安装失败正在回滚
  10. Python Pandas常用数据结构Series和DataFrame快速上手
  11. 干货 | 100亿+数据量,每天50W+查询,携程酒店数据智能平台实践
  12. 收藏模板:软件日报告模板(参考)
  13. Kali-Linux windows 双系统的安装
  14. libjpeg实现YUV转jpeg
  15. DH加密通信python实现
  16. 字体图标svg改变颜色
  17. 飞思卡尔单片机PLL时钟总线模块
  18. 吊打大厂:内核级安卓系统优化软件 | 雪豹速清app官网下载
  19. sja1000 中断_SJA1000中断接收为什么接收中断不能被触发,不能进入中断接收子函数?看资料,里面说会自动触发中断的。...
  20. rhel8安装libpcap-devel包

热门文章

  1. 用python抢火车票_Python3实现抢火车票功能(中)
  2. PS设置并固定选区大小
  3. redis存储微博点赞的人,如何存储?
  4. Bibtex文献排序
  5. ManGe Commander 文档 v0.2
  6. ajax同步提交时遮罩层不显示问题
  7. maven安装笔记--Linux系统和win系统
  8. 笔记本电脑和台式电脑在家里没有装网也可以上网(真后悔现在才看到...,因为我安了网线)
  9. html5 接元宝 源码,新年儿歌
  10. 通过两道一年级数学题反思自己