sql课件第5章关系数据库的规范化设计.ppt

sql课件第5章关系数据库的规范化设计.ppt

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库建设是硬件、软件和干件的结合 技术与管理的界面称之为“干件” 三分技术,七分管理,十二分基础数据 结构设计与行为设计相结合 结构(数据)设计:设计数据库框架或数据库结构 行为(处理)设计:设计应用程序、事务处理等 数据库辅助工具(CASE工具) Rational公司的Rational Rose:支持关系型数据库逻辑模型的生成,包括:Oracle 7、Sybase、SQL Server、Watcom SQL和ANSI SQL,其结果可用于数据库建模工具生成逻辑模型和概念模型。 数据库辅助工具(CASE工具) CA公司的Erwin:主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。 数据库辅助工具(CASE工具) Sybase公司的PowerDesigner:采用基于Entity-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。 Oracle公司的Oracle Designer:支持面向对象和实体关系的建模方式。在一个有效的实体关系模型或面向对象的类型模型中,数据库设计转换工具可以自动生成第一个数据库方案,且具有完整的表、列、索引和参照完整性约束。 满足1NF的关系模式不一定是好的关系模式 BANK(branch_name,assets,account_number,access_date,balance)中, 函数依赖: branch_name→assets, account_number→branch_name, (account_number,access_date)→balance。 BANK的码应为(account_number,access_date) 存在的问题??(四个方面的问题) 造成这些异常的原因在于,关系BANK中存在着非主属性对码的部分函数依赖。 Bank可分解为: BA(branch_name,assets,account_number) ∈2NF ACCOUNT(account_number,access_date,balance) ∈2NF BA仍存在问题: 数据冗余 插入异常 删除异常 修改复杂 原因:BA中存在:非主属性 assets传递函数依赖于码account_number BA可分解为: BRANCH (branch_name,assets) DEPOSITS (account_number, branch_name) 数据冗余、插入异常、删除异常和更新异常均不会发生。 CES(customer,employee,service) 函数依赖: (customer,service)→employee (customer,employee)→ service employee→service 候选码:(customer,service)、(customer,employee) CES∈3NF 但仍存在问题:假设银行提供了若干服务,并已确定由哪些员工来负责,但还没有顾客,则服务和员工的信息就不能加入到数据库中。 原因:存在主属性service对码的部分函数依赖。 BCNF 如果在3NF的基础上进一步消除主属性对码的部分依赖和传递依赖,则关系模式就达到了BCNF。 CES分解为(customer,employee)和(employee,service) 一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除异常。 进一步分析和表达用户的需求 自顶向下的结构化分析方法(Structured Analysis,简称SA方法) SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。 进一步分析和表达用户需求 1.首先把任何一个系统都抽象为: 属性的类型 2. 单值属性和多值属性 一个属性对一个特定实体都只有一个属性值,这样的属性称为单值属性。 某一属性在不同的实体上可能有不同数目的值,这样的属性称为多值属性。 属性的类型 3. 存储属性和派生属性 某些情况下,两个或两个以上属性值是相关的,其中一个属性A1的值可以从其他的相关属性A2或实体E派生出来。属性A1称为派生属性,A2称为存储属性。 派生属性的值不存储,但在需要时可以被计算出来。属性值还可以从相关实体派生得到。 属性的类型 4. 空值 空值的情况有两类: 没有适用

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档