博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
S2_SQL_第一章
阅读量:5365 次
发布时间:2019-06-15

本文共 1296 字,大约阅读时间需要 4 分钟。

第一章:数据库的设计

1.1为什么需要规范数据库的设计

1.1.1:什么是数据库设计

数据库设计就是将数据中的数据实体及这些数据实体之间的关系,进行规范和结构的过程。

1.1.2:数据库设计非常重要

良好的数据库设计表现的几个方面

l 效率

l 便于进一步扩展

l 可以使应用程序变得更加容易

1.2:设计数据库的步骤

 需求分析阶段

 概要设计阶段

 详细设计阶段

1.2.1:收集信息

创建数据库之前,必须充分的理解数据库的需要完成的任务和功能

1.2.2:标识实体

在收集信息后,必须标识数据库要管理的关键对象或实体

1.2.3:标识每个实体需要存储的信息

标识实体的信息,实体的属性,这些属性将组成表中的列

1.2.4:标识实体之间的关系

关系型数据库有一项很强大的功能,即他可以关联数据库中各项的相关信息

1.3:概要设计--------绘制E—R

E-R图(entity-Relationship)实体关系图

1.3.1:实体-关系模型

1:实体现实世界中客观存在的事物,具有行为特征和属性

2:属性:属性就是实体的特征

3:联系:联系就是两个或连个以上的实体之间的关系

4映射关系:表示通过联系与该实体关联的其他实体的个数。

 一对一:X中的一个实体与Y中的一个实体关联。Y的一个实体最多与X中的一个实体关联

 一对多: X中的一个实体与Y中的任意多实体关联。Y中的一个实体最多与X中的一个实体关联

 多对一:X中的实体与Y中的一个实体关联。Y中一个实体最多与X中的任意多实体关联

 多对多X中的一个实体可以与Y任意多实体关联,,反正成立

5实体关系图

 矩形表示实体

 椭圆表示属性

 菱形表示关系集

1.3.2:关系数据库模式

用二维表形式表示实体和实体之间的数据模型称为关系模型

R(u) 或者R(A,B)     R:表示关系U:表示属性集合AB表示U中的属性

1.4逻辑设计--------绘制数据库模型图

1.4.1:绘制数据库模型图步骤

 新建数据库模型图

 添加实体

 添加数据列相应的属性

 添加实体之间的映射关系

 

1.5:数据规范化

1.5.1:设计问题

 信息重复

比小心输入代表的意思一样,但是用的词却不一样。

 更新异常

更新时造成的异常。

 插入异常(无法表示某些信息)

本来是一样的实体,最后插入的一个或对个信息不一样

 删除异常(丢失有用的东西)

一些情况下,可能删除莫一行数据,会丢失一些数据

1.5.2:范式设计

 确保每列的原子性。表示不可分的最小数据单元

 第一范式的基础上,每列都与主键有直接的关系。其他都要依赖于主键。(一个表描述意见事情)

 第二范式的基础上,没列都和主键有直接的关系,每列之间不存在依赖关系。

1.5.3:规范化和性能的关系

实际开发过程中既要考虑三大范式,避免数据的永裕和各种数据操作异常,要考虑数据访问的性能,有,为了减少之间的连接,提高访问新能,允许适当的永裕,这是最合适的设计方案!!!

转载于:https://www.cnblogs.com/94Diao-888/p/94D888.html

你可能感兴趣的文章
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>
Android OpenGL ES 开发(N): OpenGL ES 2.0 机型兼容问题整理
查看>>
项目中用到的技术及工具汇总(持续更新)
查看>>
【算法】各种排序算法测试代码
查看>>
HDU 5776 Sum
查看>>
201521123044 《Java程序设计》第9周学习总结
查看>>
winfrom 图片等比例压缩
查看>>
人工智能实验报告一
查看>>