本来脑子反应慢,学习效率就不高,这猫也要来凑热闹分散我注意力(捂脸),这大肥猫也就我孩
子在家的时候它最会躲猫猫了,孩子不在家这货就是黏人的很。。。。
今天学习的是数据库逻辑设计原则、软件结构设计的图形工具
目前DBMS产品一般支持关系、 状、层次3种模型中的一种,对于特定模型、各机器系统又有自己的一些限制,提供不同的环境工具,如图4.4所示
ER模型向关系数据的转换的问题时如何将实体型像实体之间的联系转换为关系模式。如何确定这些关系模式的属性和码,针对ER图形的实体,联系和属性、一般遵循如下原则
1、每个实体转换为一个关系模式,实体的属性就是关系属性、实体的码就是关系的码
2、对于实体之间的联系,则根据其联系类型分别按照以下情况转换
a 1:1联系:将该联系可以转换并归并到任何一个实体端,转换后的关系模式中同时将另一个实体的码和属性一并加入到联系所在的实体端所对应的关系模式。
b 1:n联系:将1端实体的码和联系的属性都转换归并到多端实体转换后的关系模式中,转换以后关系模式的码为多端实体的码
c m:n联系:将联系转换为一个单独的关系模式,与该联系相连的实体的码及联系本身的属性均转换为关系的属性,各实体的码组成该关系模式的码或关系码的一部分
d 3个或3个以上实体之间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码及联系本身的属性,均转换为关系的属性,各实体的码组成该关系模式的码或关系码的一部分。
e 具有相同码的关系模式可合并
4.4.3 关系数据库规范化
规范化方法就是专门针对关系模型建立的一种数据库设计方法
关系数据库规范化理论主要解决的是如何构造合适的数据逻辑结构问题:范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到标准的关系才是规范化的,目前主要有6种范式:第一、第二、第三、BC、第四、第五范式;满足最低要求的叫第一范式,简称1NF,在第一基础上进一步满足一些要求的为第二范式,简称2NF其余以此类推,显然各种范式之间存在关系。
1NF?2NF?3NF?BCNF?4NF?5NF
在这些范式中最重要的是3NF它们是进行规范化的主要目标
规范化实质上是概念的单一化,在函数依赖范畴、规范化达到BC范式就基本上满足应用的数据要求了。
关系模式规范化的基本步骤如图4.5所示
1、对1NF关系进行投影,消除原关系中非主属性对码的部分函数依赖,将1NF关系转换成若干个2NF关系。
2、对于2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,从而产生一组3NF,对3NF关系进行投影,消除原关系中主属性对码的部分函数依赖和传递函数依赖(也就是说决定属性都称为投影的候选码) 得到一组BCNF关系
4.5软件结构设计的图形工具
总体设计阶段可能会用到的几种图形工具:软件结构图、层次图、HIPO图
4.5.1软件结构图时软件系统的模块层次结构,是进行软件结构设计的有力工具,用来表达软件的组成模块及调用关系,结构图主要内容如下:
1.模块:用方框来表示,方框中写上模块的名字,名字最好能反应模块功能
2.模块调用关系:两个模块之间用单向箭头或直线连接起来表示它们的调用关系,一般总是位于上方的模块之间的调用位于下方的模块,只用直线而不是用箭头表示模块之间的调用关系,在调用线两旁通常还有带注释的箭头表示模块调用过程中来回传递的信息,箭头指明调送方向。
3、辅助符 :弧形箭头表示循环调用,菱形表示选择调用或条件调用,如图4.7所示
画机构图时应注意,以同一名字命名的模块在结构图中仅允许出现一次,调用关系只能从上到下,调用次序可以依据数据传递关系来确定,一般由左到右结构图要尽量画在一张纸上,且保持结构的清晰性。
4.5.2层次图时进行软件结构设计的另一种图形工具,层次图和结构图类似,也是用来绘画软件的层次结构,层次图中的每一个矩形框代表一个模型,矩形框之间的关系表示调用关系,层次方框图中方框代表一个数据方框之间的连线表示组成关系,通常用层次图来作为描绘软件结构的文档
4.5.3HIPO图时层次图上加如数-处理-输出图的英文缩写,也可以看成一种自顶向下按功能逐层分解的设计方法,为了能使HIPO图具有可追踪性,在H图(层次图)中除了最顶层的方框之外,每个方框都加了编
完整的HIPO图由层次图(H图)概要IPO图,详细IPO图部分组成,H图给出了模块的分解,用分层的方框表示和H图中每个方框相对应的一张IPO图用来描绘这个方框代表的模块内部的输入、输出和要完成的功能,每张IPO图要编 且与HIPO图中编 要一一对应,以便了解该模块在软件结构中的位置。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!