资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,http:/ Server 2005,),单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,数据库开发与应用(SQL Server 2005)pp0教学课件,课程目标,具备建立数据库服务器,配置数据库环境,使用,DDL,语言定义数据库结构。,具备管理各种数据库文件,数据库和数据表的能力。,能实现对数据的处理,实现增加、修改、删除、查询数据,实现数据高级检索和视图。,能对数据库添加适当的索引,设置访问权限,保证数据库的正常运行。,能对数据库进行日常的备份和还原操作,在数据库发生损坏的情况下最大程度的恢复数据库数据。,课程内容,了解设计数据库的基本步骤,熟练使用,T-SQL,实现建库、建表、加约束,掌握高级检索,实现功能强大的查询,掌握使用视图、事务、索引,快速访问数据库,掌握数据库的安全管理,实现数据库的恢复与备份,。,本章目标,了解设计数据库的步骤,掌握如何绘制数据库的,E-R,图,理解数据库的规范化三大范式,0.1,你在使用数据库吗,我们生活每一天都离不开这些,0.2,为什么要使用数据库,其目的是从大量的、原始的数据中抽取、推导出对人们有价值的信息作为行动和决策的依据。,主要经历了三个阶段:,人工管理阶段、文件系统阶段、数据库系统阶段。,数据库管理技术主要特点:,(,1,)面向组织的复杂的数据结构,(,2,)数据冗余度小,易扩充,(,3,)具备较高的数据和程序的独立性,(,4,)统一的数据安全性、完整性、并发性控制,0.3,网站论坛功能实现,网站论坛,BBS,的首页,版块的发帖列表,发表主帖,回复主帖,查看回帖,添加论坛类别,查看论坛类别,查看版块,添加版块,查看,/,修改,/,删除用户,为什么需要设计数据库,修建木屋需要设计吗?,修建建筑物需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库,0.4,网站论坛数据库的设计,为什么需要设计数据库,良好的数据库设计,节省数据的存储空间,能够保证数据的完整性,方便进行数据库应用系统的开发,糟糕的数据库设计:,数据冗余、存储空间浪费,内存空间浪费,数据更新和插入的异常,0.4,网站论坛数据库的设计,需求分析阶段,:分析客户的业务和数据处理需求,;,概要设计阶段,:设计数据库的,E-R,模型图,确认需求信息的正确和完整,;,详细设计阶段,:将,E-R,图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核,;,代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用,;,软件测试阶段:,安装部署:,0.4,网站论坛数据库的设计,软件项目开发周期,收集信息,:,与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务,BBS,论坛的基本功能:,用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息;,用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等;,论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等;,0.4,网站论坛数据库的设计,设计数据库的步骤,0.4.1,需求设计,标识对象,(实体,Entity,),标识数据库要管理的关键对象或实体,实体一般是名词:,用户:论坛普通用户、各版块的版主。,用户发的主贴,用户发的跟贴(回贴),版块:论坛的各个版块信息,0.4,网站论坛数据库的设计,设计数据库的步骤,0.4.2,概念设计,论坛用户,呢称,密码,电子邮件,生日,性别,用户的等级,备注信息,注册日期,状态,积分,主贴,发贴人,发贴表情,回复数量,标题,正文,发贴时间,点击数,状态,最后回复时间,回贴,贴子编号,回贴人,回贴表情,标题,正文,回贴时间,点击数,版块,版块名称,版主,本版格言,点击率,发贴数,标识,每个实体的属性(,Attribute,),设计数据库的步骤,0.4,网站论坛数据库的设计,0.4.2,概念设计,标识对象之间的关系,(,Relationship,),跟贴和主贴有主从关系:我们需要在跟贴对象中表明它是谁的跟贴;,版块和用户有关系:从用户对象中可以根据版块对象查出对应的版主用户的情况;,主贴和版块有主从关系:需要表明发贴是属于哪个版块的;,跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的;,0.4,网站论坛数据库的设计,设计数据库的步骤,0.4.2,概念设计,E-R,(,Entity,Relationship,)实体关系,图,符合,含义,实体,一般是名词,属性,一般是名词,关系,一般是动词,0.4,网站论坛数据库的设计,绘制,E-R,图,0.4.2,概念设计,管理,bbsUser,(用户,版主),出生日期,昵称,版块名称,版主,bbsSection,(版块),0.4,网站论坛数据库的设计,绘制,E-R,图,0.4.2,概念设计,映射基数,一对一,X,X,X,X,Y,Y,Y,Y,X,X,X,X,Y,Y,Y,Y,多对多,X,X,X,X,Y,Y,Y,一对多,X,X,X,X,Y,Y,Y,Y,多对一,用户,帖子,版块,N 1,1 N,绘制,E-R,图,0.4,网站论坛数据库的设计,0.4.2,概念设计,0.4,网站论坛数据库的设计,0.4.2,概念设计,绘制,E-R,图,将各实体转换为对应的表,将各属性转换为各表对应的列,标识每个表的主键列,需要注意的是:没有主键的表添加,ID,编号列,它没有实际含义,用于做主键或外键,例如用户表中的“,UID”,列,版块表中添加“,SID”,列,发贴表和跟贴表中的“,TID”,列,在表之间建立主外键,体现实体之间的映射关系,0.4,网站论坛数据库的设计,如何将,E-R,图转换为表,0.4.2,概念设计,如何将,E-R,图转换为表,UserID,主键,TID,主键,RID,主键,SID,主键,0.4,网站论坛数据库的设计,0.4.2,概念设计,添加各表之间的关系,如何将,E-R,图转换为表,0.4,网站论坛数据库的设计,0.4.2,概念设计,仅有好的,RDBMS,并不足以避免数据冗余,必须在数据库的设计中创建好的表结构,Dr E.F.codd,最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是:,第一范式,(1st NF,First Normal Fromate),第二范式,(2nd NF,Second Normal Fromate),第三范式,(3rd NF,Third Normal Fromate),0.4,网站论坛数据库的设计,数据规范化,0.4.3,详细设计,第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(,1NF,),第一范式,(1st NF),0.4,网站论坛数据库的设计,0.4.3,详细设计,如果一个关系满足,1NF,,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(,2NF,),第二范式要求每个表只描述一件事情,0.4.3,详细设计,0.4,网站论坛数据库的设计,第二范式,(2nd NF),如果一个关系满足,2NF,,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(,3NF,),第三范式,(3rd NF),0.4,网站论坛数据库的设计,0.4.3,详细设计,为满足某种商业目标,数据库性能比规范化数据库更重要,通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间,通过在给定的表中插入计算列(如成绩总分),以方便查询,进行规范化的同时,还需要综合考虑数据库的性能,。,规范化和性能的关系,0.4,网站论坛数据库的设计,0.4.3,详细设计,0.4,网站论坛数据库的设计,0.4.4,物理设计,利用范式对关系模式的规范化处理降低了关系模式的冗余,消除了数据依赖不合理的部分,使关系模式达到了一定程度的分离。接下来就是在数据库管理系统,SQL Server 2005,中实现,BBS,数据库及数据表,在表之间建立主外键,实现数据表之间的映射关系。,BBS,数据库共有,10,个数据表:,Users,(用户信息表)、,Topic,(发帖表)、,Reply,(回帖表)、,Section,(版块信息表)、,Class,(版块分类表)、,Friend,(好友信息表)、,Bulletin,(公告表)、,Links,(友情链接表)、,Config,(配置信息表)和,Log,(日志表)。其物理设计如下图。,0.4,网站论坛数据库的设计,0.4.4,物理设计,总结,1-1,在需求分析阶段,设计数据库的一般步骤为:,收集信息,标识对象,标识每个对象的属性,标识对象之间的关系,在概要设计阶段和详细设计阶段,设计数据库的步骤为:,绘制,E-R,图,将,E-R,图转换为表格,应用三大范式规范化表格,总结,1-2,为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式。,第一范式(,1NF,)的目标:确保每列的原子性。,第二范式(,2NF,)的目标:确保表中的每列,都和主键相关。,第三范式(,3NF,)的目标:确保每列都和主键列直接相关,而不是间接相关。,
展开阅读全文