系统开发导论讲稿(语)_5.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统开发导论讲稿(语)_5

5.结构化设计技术 在这部分,你将会学习如何利用规范化技术生成好的数据设计模型。你也将学习其他结构化设计技术,帮助你理解它们在什么时候,如何使用并且它们有助于系统的设计。 规范化 规范化(也称作关联数据分析)是一种把复杂数据结构分解成为二维表的技术。规范化完成需要四步,分别为非规范式,第一范式(1NF),第二范式(2NF),第三范式(3NF)。 规范化产生一系列表,这些表是系统中数据的一种表现形式。规范化的目的是组织系统的所有属性,形成规范的一系列表或关系,因此要避免一些不希望的结果。 A.在不同的关系中不需要重复属性 B.数据修改、插入和删除问题,及更新异常。 下一步我们讲解规范的过程。 第一步 非规范式 列出非规范化表单中数据,并且选择一个键 数据来源于一个合适的出处,通常如表单或报表。这里我们用个人信息为例,如下: 员工号 SO1 部门号 D3 员工姓 Smith 部门名 销售 员工名 John 出生日期 15//03/60 薪水 $16000 职位 技术员 保险号 WA694302K 聘用日期 04//01/90 课程号 课程名 时长(天) 课费 开课日期 地点 提供者 C01 Intro to access 2 $160 30//041/90 D4 training C67 Intro word 1 $100 17//04/94 External ABC C68 Intermediate word 1 $120 10//10/95 external ABC 来源于表单的数据列举在下面的表格中,并且选择一个主键。 选择一个主键的标准是: A.键能唯一确定数据源 B.使用最少数量的属性,理想状态为一个。 C.避免文本键。 表格被用作展示规范化过程的每个阶段。主键下标注下划线,并且其他的数据属性被列在下面。在非规范化阶段,通常用凹进的方式表示重复的数据。在这个例中课程的数据对于每个员工是重复的。 UNF 1NF 2NF 3NF 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 课程号 课程名 时长 课费 开课日期 地点 提供者 第二步 第一范式(1NF) 第一范式是在非规范式上,把重复的属性分离出来组成独立的关系,为新的关系选择一个键。 重复的属性是指一个主键有多个对应值的属性。 这一步包括分离重复属性形成独立的关系,把非规范式的主键放入新关系中(保持和原来关系的联系)并且分配一个主键。在这个例中,键将是员工号和课程号,是一个组合键。 UNF 1NF 2NF 3NF 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 课程号 课程名 时长 课费 开课日期 地点 提供者 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 员工号 课程号 课程名 时长 课费 开课日期 地点 提供者 在第一范式中表示的数据是两个关系 第三步 第二范式(2NF) 第二范式是通过分离第一范式中那些仅仅依赖于部分键的属性,形成新的关系。 这一步仅仅影响有组合键的关系。需要确定在组合键关系中是否有一些属性只依赖于组合键的一部分。 第一范式中的第一个关系在这步不会被影响,因为它只有一个主键,所以第一个关系在第二范式中保持原样。 考虑组合键关系时,需要考虑的最基本的问题是:属性是否依赖于整个组合键? 如果不是,这个属性将被分离出来,放入新的关系中,并且写在其依赖的键的下面。 在第一范式中的第二个关系中,属性课程名、时长、课费仅仅依赖于课程号。属性开课日期、地点和提供者依赖于课程号和员工号,因此任何一个员工学习一个课程在不同的时间,地点和提供者。 UNF 1NF 2NF 3NF 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 课程号 课程名 时长 课费 开课日期 地点 提供者 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 员工号 课程号 课程名 时长 课费 开课日期 地点 提供者 员工号 部门号 部门名 员工姓 员工名 出生日期 职位 聘用日期 薪水 保险号 员工号 课程号 开课日期 地点 提供者 课程号 课程名 时长 课费 在第二范式中有三个关系 第四步 第三范式(3NF) 第三范式是通过分离第二范式中依赖于非主键属性的属性,形成新的关系。 从第二范式中分类依赖于一个非主键属性的属性,构成新的关系,这个依赖的非主键属性作为新关系的主键。这个属性同时被留在原来的关系中,为了保持和原来数据的联系。 这个非主键属性比较难确定,因为这里要考虑所有的非主键属性。 这个属性是否依赖于其

文档评论(0)

vtangojia + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档