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

数据库设计实战(一):数据库设计规范「建议收藏」一、数据库设计流程1、需求分析确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约2、概念设计对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型3、逻辑设计将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式4、物理设计对具体的应用任务选定最合适的物理存储结构、存取方法和存取路径等5、验证设计在其他设计基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性

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

一、数据设计流程

 

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账号...

(0)


相关推荐

  • show partitions 分区查询

    show partitions 分区查询前言查询的分区情况程序Jupyter#导入信息frompyspark.sqlimportSparkSession,RowfrompysparkimportSQLContextfrompyspark.sql.functionsimportudf,col,explode,collect_set,get_json_object,concat_ws,splitfrompyspark.sql.typesimportStringType,IntegerTy

  • PyCharm汉化之后,点击设置没反应,完美解决方法[通俗易懂]

    PyCharm汉化之后,点击设置没反应,完美解决方法[通俗易懂]请先检查下pycharm的安装目录lib下是不是有中文汉化包resources_cn.jar有过有的话建议:1.更换一个汉化包或者将原来的resources_en.jar也放进lib目录下2.将中文汉化包resources_cn.jar删除,只留下原版的resources_en.jar…

  • 移动端开发绪论

    移动端开发绪论移动端开发基础通常移动端开发主流方案一共有两种一种是单独制作移动端页面,目前在市场上是主流方案还有一种是响应式页面兼容移动端这种虽然不是主流方案,但是应用这种开发方案的也不是没有.我们访问移动端页面可以通过以下两种方式进行访问:网址域名加m(mobile)就可以直接访问页面的移动端页面使用移动设备,进行访问,则可以直接跳转到移动端页面又到了我们最头疼的浏览器的兼容性问题移动端浏览器基本以webkit内核为主,因此我们只需要考虑webkit兼容性问题即可。移动端浏览器

  • 数据结构之图的创建(邻接表)

    数据结构之图的基本概念中了解了图的基本概念,接下来对图的代码实现进行详解。邻接无向图1.邻接表无向图介绍邻接表无向图是指通过邻接表表示的无向图。上面的图G1包含了"A,B,C,D,

    2021年12月19日
  • httprunner3源码解读(4)parser.py「建议收藏」

    httprunner3源码解读(4)parser.py「建议收藏」源码结构目录可以看到此模块定义了4个属性和12个函数,我们依次来讲解属性源码分析#匹配http://或https://absolute_http_url_regexp=re.compil

  • 更改文字、图片和视频大小(缩放)

    更改文字、图片和视频大小(缩放)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号