欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据库范式设计(专题).ppt

    • 资源ID:180381       资源大小:275.50KB        全文页数:18页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库范式设计(专题).ppt

    2023年3月27日第1页数据库范式设计专题数据库范式设计专题第一范式第一范式 (1st NF)l在任何一个关系数据库中,第一范式(在任何一个关系数据库中,第一范式(1NF)是对关)是对关系模式的基本要求,不满足第一范式(系模式的基本要求,不满足第一范式(1NF)的数据)的数据库就不是关系数据库。库就不是关系数据库。 l所谓第一范式(所谓第一范式(1NF)是指数据库表的)是指数据库表的每一列都是不每一列都是不可分割的基本数据项可分割的基本数据项,同一列中不能有多个值同一列中不能有多个值,即实,即实体中的某个属性不能有多个值或者不能有重复的属性体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(间为一对多关系。在第一范式(1NF)中表的每一行)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无只包含一个实例的信息。简而言之,第一范式就是无重复的列。重复的列。BuyerIDCountryCity1142中国中国日本美国北京北京东京纽约BuyerIDAddress1234中国北京市 美国纽约市英国利物浦日本东京市 2 第二范式(第二范式(2NF)l第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。Orders字段字段例子例子订单编号产品编号订购日期价 格001A0012000-2-3$29.00 Orders字段字段例子例子订单编号订购日期0012000-2-3Products字段字段例子例子产品编号价 格A001$29.003 第三范式(第三范式(3NF)l满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不能包含已经在其它表中存在的非主关键字信息。即,第三范式就是属性不依赖于其它非主属性(即表与表之间存储数据独立)。Orders字段字段例子例子订单编号订购日期顾客编号0012000-2-3AB001顾客姓名TonyTony Orders字段字段例子例子订单编号订购日期顾客编号0012000-2-3AB001 规范化实例规范化实例假设某建筑公司要设计一个数据库。公司的业务规假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:则概括说明如下:l公司承担多个工程项目,每一项工程有:工程号、工程名公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等称、施工人员等l公司有多名职工,每一名职工有:职工号、姓名、性别、公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等职务(工程师、技术员)等l公司按照工时和小时工资率支付工资,小时工资率由职工公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)的职务决定(例如,技术员的小时工资率与工程师不同)l公司定期制定一个工资报表,如图公司定期制定一个工资报表,如图- -1 1所示所示规范化实例规范化实例工程号工程名称职工号姓名职务小时工资率工时实发工资A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513845.001002李思岐李思岐技术员技术员6016960.001004葛宇宏葛宇宏律师律师60191140.00小计小计2945.00A2立交桥立交桥1001齐光明齐光明工程师工程师6515975.001003鞠明亮鞠明亮工人工人5517935.00小计小计1910.00A3临江饭店临江饭店1002李思岐李思岐技术员技术员60181080.001004葛宇洪葛宇洪技术员技术员6014840.00小计小计1920.00图-1 某公司的工资表规范化实例规范化实例工程号工程名称职工号姓名职务小时工资率工时A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1002李思岐李思岐技术员技术员6016A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1003鞠明亮鞠明亮工人工人5517A3临江饭店临江饭店1002李思岐李思岐技术员技术员6018A3临江饭店临江饭店1004葛宇洪葛宇洪技术员技术员6014图-2 某公司的项目工时表规范化实例规范化实例1.表中包含大量的冗余,可能会导致数据异常:表中包含大量的冗余,可能会导致数据异常:l更新异常更新异常 例如,修改职工号例如,修改职工号=1001的职务,则必须修改所有职工号的职务,则必须修改所有职工号=1001的行的行l添加异常添加异常 若要增加一个新的职工时,首先必须给这名职工分配一若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空)工分配一个虚拟的工程。(因为主关键字不能为空)l删除异常删除异常 例如,例如,1001号职工要辞职,则必须删除所有职工号号职工要辞职,则必须删除所有职工号1001的数据行。这样的删除操作,很可能丢失了其它有的数据行。这样的删除操作,很可能丢失了其它有用的数据用的数据规范化实例规范化实例2采用这种方法设计表的结构,虽然采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,大量的数据。这种重复的输入操作,很可能导致数据的不一致性。很可能导致数据的不一致性。一张表描述了多件事情,如图-3所示。应用范式规范化设计应用范式规范化设计工程号工程号工程名称工程名称 职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时图图-3 函数依赖图函数依赖图工程信息员工信息项目工时信息应用第二范式规范化应用第二范式规范化工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工程号工程号职工号职工号工时工时图图-4 应用第二范式应用第二范式工程表员工表项目工时表满足第三范式吗?满足第三范式吗? 应用第三范式规范化应用第三范式规范化工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务职务职务小时工资率小时工资率工程号工程号职工号职工号工时工时工程表员工表职务表工程表练习:分析是否满足练习:分析是否满足3NFl 关系模式如下:关系模式如下:l报名(学员编号,学员姓名,培训编号,报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期)培训名称,培训费,报名日期)l每项培训有多个学员报名,每位学员可参每项培训有多个学员报名,每位学员可参加多项培训。加多项培训。答案答案主码:主码:学员编号学员编号+培训编号;培训编号;1NF;l学员(学员编号,学员姓名)学员(学员编号,学员姓名)l培训(培训编号,培训名称,培训费)培训(培训编号,培训名称,培训费)l报名(学员编号,培训编号,报名日期)报名(学员编号,培训编号,报名日期)练习练习l请确定下列关系的关键字、范式等级;若请确定下列关系的关键字、范式等级;若不属于不属于3NF,则将其化为,则将其化为3NF,要求每个关,要求每个关系写一条记录。系写一条记录。 l(部门编号,部门名称,所在城市,员工(部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)预算,职务,加入项目的日期)l注注职务指某员工在某项目中的职务。职务指某员工在某项目中的职务。答案答案l部门(部门编号,部门名称,所在城市)部门(部门编号,部门名称,所在城市)l员工(员工编号,员工姓名,部门编号)员工(员工编号,员工姓名,部门编号)l项目(项目编号,项目名称,预算)项目(项目编号,项目名称,预算)l工作(员工编号,项目编号,职务,加入工作(员工编号,项目编号,职务,加入项目的日期)项目的日期)规范化和性能的关系规范化和性能的关系 l为满足某种商业目标,数据库性能比规范化数据为满足某种商业目标,数据库性能比规范化数据库更重要库更重要 通过在给定的表中添加额外的字段,以大量减通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间少需要从中搜索信息所需的时间 通过在给定的表中插入计算列(如成绩总分)通过在给定的表中插入计算列(如成绩总分),以方便查询,以方便查询l进行规范化的同时,还需要综合考虑数据库的性进行规范化的同时,还需要综合考虑数据库的性能能。总结总结 :l 规范化的本质是提高数据独立性,解决规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗插入异常、删除异常、修改复杂、数据冗余等问题的方法。规范化的基本思想是逐余等问题的方法。规范化的基本思想是逐步消除数据依赖中不合适的部分。步消除数据依赖中不合适的部分。 第一范式(第一范式(1NF)的目标:确保每列的原子性。)的目标:确保每列的原子性。 第二范式(第二范式(2NF)的目标:确保表中的每列,都和主)的目标:确保表中的每列,都和主键相关键相关 第三范式(第三范式(3NF)的目标:确保每列都和主键列直接)的目标:确保每列都和主键列直接相关,而不是间接相关相关,而不是间接相关

    注意事项

    本文(数据库范式设计(专题).ppt)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开