下载此文档

ORACLE设计规范.doc


文档分类:IT计算机 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33 下载此文档
文档列表 文档介绍
最新范本,供参考!
页脚下载后可删除,如有侵权请告知删除!
最新范本,供参考!
ORACLE设计标准
1、数据库模型设计方法标准
、数据建模原那么性标准
原那么
对于涉及数据库的工程,需要构建数据库逻辑模型图,逻辑模型图是工程组成员之间在数据库层面沟通交互的依据,必须标准画图〔表,主键,外键,关系〕
衡量
对于表的个数在20个以上的模型,需要数据组参与设计,并需DBA作最终审核
方法
对于OLTP系统,采用范式化思想进展模型设计,对于OLAP系统,采用面向问题及多级颗粒度的思想进展模型设计
实施
采用主流的模型设计软件工具PowerDesigner,ERStudio,ERWin
、实体型之间关系认定标准
原那么
所有实体型间的业务逻辑关系,除了语义上保存其原有的业务关系外,本质上都要转化成关系数据库的三种关系〔1:1〕〔1:N〕〔N:M〕
衡量
对于3个及以上实体型之间的“多元关系〞,需要数据组参与设计
方法
比方实体型A和实体型B之间的关系,可以通过问两个问题来确定他们之间的关系:一个A可以对应几个B?一个B可以对应几个A?
最新范本,供参考!
页脚下载后可删除,如有侵权请告知删除!
最新范本,供参考!
〔1〕一个A对应一个B,相反一个B对应一个A,那么A对B就是1:1关系;
〔2〕一个A对应多个B,相反一个B对应一个A,那么A对B就是1:N关系;
〔3〕一个A对应多个B,相反一个B对应对个A,那么A对B就是N:M关系;
实施
〔1〕1:1关系选取任何一个表的主键到另一个表中作为外键来表达;
〔2〕1:N关系将1表的主键在N表中以外键形式存在来表达;
〔2〕N:M关系采用“关系表〞来表达,该关系表的主键是由相关实体表的主键组成的符合主键,各实体表主键不但组成了该关系表的主键,同时也被看作外键在该关系表中存在;
〔4〕对于三个以上表之间的“多元关系〞常需要和反范式化冗余字段结合起来设计,以保证查询速度;
、范式化1NF的标准
原那么
OLTP系统的模型,需要符合第三范式
衡量
对于表在20个以上的模型,需要数据组参与设计
方法
范式化要求:
INF:列是访问的最小单位,具有原子性,不可再被分割;
最新范本,供参考!
页脚下载后可删除,如有侵权请告知删除!
最新范本,供参考!
实施
依据具体情况对相应属性进展拆分或者合并。
范式化1NF常见现象:
现象一:同一个属性值的不同细度把握,比方,常见的“姓名〞这个属性,设计一:“姓名〞是一个列,设计二:“姓〞是一个列,“名〞是一个列,两个列的值组合起来才表达一个“姓名〞语义。两种设计方法,在不同的系统中都有应用,这主要是依据需求的细度来确定,灵活把握;
现象二:把多个属性值错误的作为一个属性值存储,比方:常见的OA系统要存储员工的各种属性,包括技能信息,技能范围:Oracle,JAVA,.NET,C#,Perl,UNIX等等,一种常见的错误设计是:设计一张员工表,其中有一个技能属性字段,然后某员工所掌握的多种技能用逗号〔,〕间隔,然后将这个字符串存储到这个员工表的技能属性字段中。这里的错误在于将多个属性值作为一个属性值存储在一个字段中,不能满足直接遍历员工对某个技能掌握情况,而且如果再要求说明员工对个技能的掌握程度〔精通,熟悉,一般等等〕,那么再增加字段,里面的对应关系将很容易错乱,这是严重违反1NF的情况。正确的设计应该是:两个实体表:一张是员工表,一张是技能字典表,一个员工可以掌握多个技能,也就是〔1:N〕关系,相反一个技能可以被多个员工掌握,也是〔1:N〕关系,双向都是〔1:N〕关系,那么综合起来员工和技能之间就是“多对多关系〔N:M〕〞,依据前述标准,应该设计一张
最新范本,供参考!
页脚下载后可删除,如有侵权请告知删除!
最新范本,供参考!
“关系表〞来存储“多对多关系〞,主键为复合主键〔员工主键+技能主键〕,该关系有一个属性“技能掌握程度〞。
、范式化2NF的标准
原那么
OLTP系统的模型,需要符合第三范式
衡量
对于表在20个以上的模型,需要数据组参与设计
方法
范式化要求:
2NF:满足1NF,不存在非主键属性对主键属性的局部依赖;
实施
范式化2NF常见现象:
实体表中一般不会出现违反2NF的情况,因为都是“一个〞主键列,而关系表是两个以上列的“复合〞主键,故而关系表容易出现违反2NF的情况。主要是该关系表非主键外的属性,本该属于相关的某个实体表的,却放到了该关系表中,这使得该属性不能通过该关系表的复合主键唯一确定,DML操作会发生错误;如果违反了2NF,那么应该把这个属性从关系表中拆分,也许会单独形成一个表,绝大局部情况下是将

ORACLE设计规范 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数33
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小167 KB
  • 时间2021-10-22