SQL Server数据库设计和高级查询(SQL Advance).pptVIP

  • 12
  • 0
  • 约1.15万字
  • 约 35页
  • 2017-08-24 发布于浙江
  • 举报

SQL Server数据库设计和高级查询(SQL Advance).ppt

SQL Server数据库设计和高级查询(SQL Advance)

应用第三范式规范化 工程号 工程名称 职工号 姓名 职务 职务 小时工资率 工程号 职工号 工时 工程表 员工表 职务表 工程表 规范化和性能的关系 为满足某种商业目标,数据库性能比规范化数据库更重要 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间 通过在给定的表中插入计算列(如成绩总分),以方便查询 进行规范化的同时,还需要综合考虑数据库的性能。 总结 1-1 在需求分析阶段,设计数据库的一般步骤为: 收集信息 标识对象 标识每个对象的属性 标识对象之间的关系 在概要设计阶段和详细设计阶段,设计数据库的步骤为: 绘制E-R图 将E-R图转换为表格 应用三大范式规范化表格 总结 1-2 为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式。 第一范式(1NF)的目标:确保每列的原子性。 第二范式(2NF)的目标:确保表中的每列,都和主键相关 。 第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关 。 * 讲解要点: 1)二期SQL Server的深入 2)和.Net等其他前端应用的关系 3)中型数据库,为后续的Oracle打基础。 * 讲解要点: 1.提问学员,回顾并总结已学知识点 2.引导学员:恭贺大家在上一阶段的学习中取得了骄人的成绩,经过上一阶段的优胜劣汰,继续后期的深入学习。目前我们还存在如下问题: a)以前我们使用企业管理器手工创建的数据库,当项目结束后,如何将数据库移植到客户的计算机上? 答案:一般使用T-SQL语句建库、建表、加约束(代替手工创建),编辑为*.sql文件,然后移植该SQL文件到客户机并执行即可。 b)T-SQL既然是一门语言,它和其他高级语言(如C、Java等)一样,具有强大的编程能力。 答案:例如定义变量、IF/WHILE等逻辑控制语句,还有和C语言函数等价的功能--存储过程 c)目前我们学习的约束都比较简单和初级,SQL Server还支持更加复杂的高级约束---触发器 3.基于这些问题,引出本书讲解的课程目标,进入下一页幻灯 * 红色表示重点部分。 * 讲解要点: 由修建茅屋和大厦的对比,得出结论:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时, 我们需要先创建数据库; * 讲解要点: E-R E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型 既然我们建库前需要预先设计数据库,那到底如何设计呢? 我们一起从数据库设计的角度,看看项目开发周期的不同阶段,数据库设计的具体工作有哪些。 1.重点讲解与数据库设计相关的各个阶段。 2.强调需求分析阶段:分析客户的业务需求。 3.强调概要设计阶段:重点是分析数据库E-R图(类似建筑方面的施工图), 用于项目团队之间以及团队和客户之间的沟通,客户根据图纸提出修改意见, 项目组修改后再与客户反复沟通,直到客户确认。 E-R的好处主要是简洁直观。 4.强调详细设计阶段:重点是实现,需要把E-R图转化为具体的多张表。 但是10个人有10种设计方案,所以我们需要评估、审核并优化,审核时就需要一些设计规则进行审核, 这些规则就是三大范式。 5.在代码编写阶段:我们再根据项目性能要求、项目经费、技术实现难度等选择是Access/SQl Server还是Oracle等 进行物理实现:建库、建表、加约束等。 * 讲解要点: 在需求分析阶段,设计数据库的一般步骤(结合BBS论坛系统讲解): 1.收集信息: 提问学员:论坛的基本功能有哪些?引导回答:注册、登录、发贴、版主论坛管理等 * 2.标识对象: 告诉学员实体的概念:相当于Java中讲解的对象,现实中实实在在存在的事物都是实体,如汽车、房子、人等。 强调实体一般是名词,英文是Entity 提问学员:BBS论坛中有哪些实体?引导回答:用户、主贴、跟贴 。因为主贴和跟贴的信息不完全一样(如跟贴数等), 所以分开。版主不是实体,因为它属于用户实体,它只是一种拥有特权的特殊用户。 * 3.标识每个对象的属性。 告诉学员属性的概念:相当于某个实体的子成员信息,类似Java中类的属性。 提问学员用户、主贴、回帖、版块等实体有哪些属性,列出主要的即可。 * 4.世界万物都是联系的,一个系统中的实体间也是如此,所以我们还需要标出实体间的关系。 强调关系一般是动词。如用户发出主贴,发出就是一个关系,用于表示用户实体和主贴实体间的联系,它是一个动词。 提问学员: 1)跟贴和主贴有什么关系? 2)版块和用户(版主)有什么关系 3)主贴和版块有什么关系 4)跟贴和版块有什么

文档评论(0)

1亿VIP精品文档

相关文档