项目2数据库管理环境的建立重点解析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一张表描述了多件事情,如图-3所示。 应用范式规范化设计 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 图-3 函数依赖图 工程信息 员工信息 项目工时信息 应用第二范式规范化 工程号 工程名称 职工号 姓名 职务 小时工资率 工程号 职工号 工时 图-4 应用第二范式 工程表 员工表 项目工时表 满足第三范式吗? 应用第三范式规范化 工程号 工程名称 职工号 姓名 职务 职务 小时工资率 工程号 职工号 工时 工程表 员工表 职务表 工程表 规范化和性能的关系 为满足某种商业目标,数据库性能比规范化数据库更重要 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间 通过在给定的表中插入计算列(如成绩总分),以方便查询 进行规范化的同时,还需要综合考虑数据库的性能。 总结 1-1 在需求分析阶段,设计数据库的一般步骤为: 收集信息 标识对象 标识每个对象的属性 标识对象之间的关系 在概要设计阶段和详细设计阶段,设计数据库的步骤为: 绘制E-R图 将E-R图转换为表格 应用三大范式规范化表格 总结 1-2 为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式。 第一范式(1NF)的目标:确保每列的原子性。 第二范式(2NF)的目标:确保表中的每列,都和主键相关 。 第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关 。 * 讲解要点: 由修建茅屋和大厦的对比,得出结论:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时, 我们需要先创建数据库; * 讲解要点: 既然我们建库前需要预先设计数据库,那到底如何设计呢? 我们一起从数据库设计的角度,看看项目开发周期的不同阶段,数据库设计的具体工作有哪些。 1.重点讲解与数据库设计相关的各个阶段。 2.强调需求分析阶段:分析客户的业务需求。 3.强调概要设计阶段:重点是分析数据库E-R图(类似建筑方面的施工图), 用于项目团队之间以及团队和客户之间的沟通,客户根据图纸提出修改意见, 项目组修改后再与客户反复沟通,直到客户确认。 E-R的好处主要是简洁直观。 4.强调详细设计阶段:重点是实现,需要把E-R图转化为具体的多张表。 但是10个人有10种设计方案,所以我们需要评估、审核并优化,审核时就需要一些设计规则进行审核, 这些规则就是三大范式。 5.在代码编写阶段:我们再根据项目性能要求、项目经费、技术实现难度等选择是Access/SQl Server还是Oracle等 进行物理实现:建库、建表、加约束等。 * 2.标识对象: 告诉学员实体的概念:相当于Java中讲解的对象,现实中实实在在存在的事物都是实体,如汽车、房子、人等。 强调实体一般是名词,英文是Entity 提问学员:BBS论坛中有哪些实体?引导回答:用户、主贴、跟贴 。因为主贴和跟贴的信息不完全一样(如跟贴数等), 所以分开。版主不是实体,因为它属于用户实体,它只是一种拥有特权的特殊用户。 * 讲解要点: 1)分别讲解各种映射关系的生活例子,还可以让学员举例。 例如: 1对1关系,1台车对于一个车位。 2)告诉学员,1对多有的参考资料还表示为1:M或1:∞ ,多对多表示为:M:N或∞ :∞ * 表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,就想施工图设计后,还需要其他机构进行审核图纸是否设计合理一样。 如何审核呢?需要一些有关数据库设计的理论指导规则,这些规则业界简称数据库的范式。 * 讲解每个范式的含义:关键是说明范式的目的,这样规定有什么好处。 * 为了算帐统计方便,会计可能喜欢这样设计表格,如幻灯片所示。 * 讲解目前这些表格可能出现的问题,可以采用提问方式。 * 我们根据三大范式,逐一审核是否规范化。 提问学员: 1.第一范式满足吗,引导回答:基本满足; 2.第二范式满足吗?第二范式要求表中的列必须与主键列相关,也就是要求一张表只能描述一件事情。 我们一起看看这张表描述了哪些事情?让学员思考几分钟,然后提问,最后归纳出如下事情: 1)工程信息 2)员工信息 3)项目的工时信息(每个工人做了多少活儿) * 所以根据第二范式,拆分出了这些表。 提问学员:这些表满足第三范式吗? 引导:员工表还需拆分,存在传递依赖关系,即小时工资率和职务有关,职务又和人有关, 最后传递后,小时工资率看起来就和姓名有关了。小时工资率和职务才之间相关,我们需要应用第三 范式做进一步拆分。 * 告诉学员,数据库的三大范式和数据库的性能有时是矛盾的。 打个比方:大家都知道,环境保护非常重要,西

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档