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

数据库设计实战(一):数据库设计规范「建议收藏」一、数据库设计流程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、多对多关系

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年7月12日 下午10:16
下一篇 2022年7月12日 下午10:36


相关推荐

  • datagrip 2021.11.4 激活码(JetBrains全家桶)

    (datagrip 2021.11.4 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0E14HXZ4QL-eyJsaWN…

    2022年3月29日
    56
  • b站超过1000万粉丝的up主(b站第一位千万up主)

    前几天一位好朋友入了B站,问我如何才能成为一名百万粉丝的up主。这不,于是我做了这篇的一些分析,知道了成为百万粉丝up主的一些小秘密。还做了一个昵称生成器,给其昵称起名提供建议。这是她的b站视频截图:关于昵称起名我的想法是这样,是我们把B站这些百万粉丝大佬的昵称分析一下成分构成,根据相关性随机起个名,是不是就有百万粉丝up主昵称的那味了?上面截图是她改名前的昵称,是否会改名,改名后叫什么咱们拭目以待。咱们现在就开始爬取整整:B站up主信息爬取直接通过b站首页去爬是很不方便的,这里我找到了两个第

    2022年4月18日
    298
  • 微信小程序上线发布流程

    微信小程序上线发布流程最近花了一天左右的时间学习了下微信小程序的开发 试着练习一把的心态 搞了一个很简单的页面 就当是学习总结吧 学习要点还是挺多的 通过查看官方接口文档 熟悉微信小程序开发工具 工程架构 相比传统页面开发类似 微信小程序也是由 js 文件 页面布局文件 wxml 和样式文件 wxss 一 先登录微信公众平台 在小程序栏目里注册获取 appid 在开发工具里填写该 appid 打开开发工具进行编码工作

    2026年3月17日
    2
  • ES集群搭建「建议收藏」

    ES集群搭建「建议收藏」1.设置内核参数:/etc/sysctl.confvm.max_map_count=6553602.设置文件描述符限制:/etc/security/limits.conf*softnofile65536*hardnofile131072*softnproc2048*hardnproc4096&&1和2的配置,可以等到启动时候报错,再修改(可以清晰地知道1、2在处理什么问题)3.es不允许root用户启动,修改用户和分组chownuser1.

    2022年10月13日
    4
  • 手把手教你如何基于Anaconda安装Tensorflow(Windows和Linux两种版本)

    手把手教你如何基于Anaconda安装Tensorflow(Windows和Linux两种版本)原 手把手教你如何安装 Tensorflow Windows 和 Linux 两种版本 置顶 2018 年 03 月 26 日 15 13 01 Cs hnu scw 阅读数 63137 amp amp amp amp amp amp amp amp lt spanclass amp amp amp a

    2026年3月19日
    2
  • android sdk根目录,Android SDK位置

    android sdk根目录,Android SDK位置AndroidSDK位置我有XamarinStudio,我需要指定AndroidSDK位置。我以前曾在我的电脑上使用XamarinStudio,出于某种原因,我需要再次输入。我已进入以下位置:C:\Users\**username**\AppData\Local\Android\android-sdkXamarinStudio不接受此位置并显示以下消息:NoSDKfoundat…

    2022年7月21日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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