第九章数据库优秀课件.ppt

上传人:石*** 文档编号:53978442 上传时间:2022-10-27 格式:PPT 页数:28 大小:1.30MB
返回 下载 相关 举报
第九章数据库优秀课件.ppt_第1页
第1页 / 共28页
第九章数据库优秀课件.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《第九章数据库优秀课件.ppt》由会员分享,可在线阅读,更多相关《第九章数据库优秀课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第九章数据库第1页,本讲稿共28页当今的技术已经能够存储相当大数量的数据,但是,如果我们不能提取与手头工作相关的有用信息项,那么这样的数据集就是无用的。在本章中,我们将研究数据库系统,并弄清这些系统是怎样利用抽象工具从庞大的数据集合中提取出有用的信息。作为相关主题,我们还要研究数据挖掘,即一个与数据库技术密切相关的快速发展的领域,其目标是发展在数据集上确定和寻找数据的模式。此外,我们还将学习传统文件结构的原理,因为他支撑了现在的数据库和数据挖掘系统。第2页,本讲稿共28页9.1数据库基础数据库(database)是指一种多维的数据集合。传统的文件系统,有时也称为平面文件(flat file),

2、是一种一维的存储系统,因为它只从一种观点来展示信息。9.1.1数据库的重要性管理层市场部客服部财务部采购部人事部集成的数据库第3页,本讲稿共28页9.1.2模式的作用模式(schema)是整个数据库结构的一个描述,数据库软件用它来维护数据库。子模式(subschema)只是与特定用户需求相关的那部分数据库的一个描述。例如:一个大学数据库的模式应当说明,每个学生记录包含的条目除了学习成绩外,还有现阶段的联系地址、电话,还要说明每个学生的记录要与其指导教师的记录相链接。同样,每个教师的记录要包含个人地址、工作经历等。基于这样一个模式,要维持一个链接系统,最终使得学生的信息与教师的工作经历相关联。第

3、4页,本讲稿共28页9.1.3数据库管理系统一个典型的数据库应用涉及多个软件层,我们将其分组成两个主要的层,即应用层和数据库管理层。应用软件并不是直接操纵数据库,对数据库的实际操纵由数据库管理系统(DBMS)的软件层来完成。用户应用软件层数据库管理系统实际的数据库第5页,本讲稿共28页应用软件与DBMS分离有几个好处。一个好处就是允许构建和使用抽象工具。应用软件与DBMS分离的第二个好处就是,这样的结构提供了对数据库访问进行控制的一种手段。把用户界面与实际数据库操纵分离成两个不同的软件层,还有另一个原因,就是为了获得数据独立性(data independence),即改变数据库组织本身而不改变

4、应用软件的能力。第6页,本讲稿共28页9.1.4数据库模型数据库的概念视图就称之为数据库模型(database model)。在关系数据库模型的情况下,数据库的概念视图是一组由行和列组成的表格。例如,关于公司员工的信息可以看成这样的一个表格,即每行表示一名员工,各列分别表示姓名、地址、员工代码等。第7页,本讲稿共28页学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS第8页,本讲稿共28页课程号Cno课程名Cname先行课Cpno学分Credit1数据库542数学23信息系统144操作

5、系统635数据结构746数据处理27PASCAL语言64第9页,本讲稿共28页学号Sno课程号Cno成绩Grade9500119295001285950013889500229095002380第10页,本讲稿共28页9.2关系模型关系数据库模型用矩形表格存放数据,称之为关系(relation)。关系中的一行称为一个元组(tuple),因为每列描述的是对应的元组所表示的实体的一些特征或属性,所以关系中的列称为属性(attribute)。9.2.1关系设计中的问题把一个关系分解成几个比较小的关系时,信息不会丢失的分解称为无损分解(lossless decomposition)。第11页,本讲稿共

6、28页9.2.2关系运算SELECT运算是从一个关系中提取行。例如:NEWSELECT from EMPLOYEE where Emplid=“34Y70”此语句的语义是:创建一个名为NEW的新关系,它包含从EMPLOYEE关系选得的其Emplid属性等于34Y70的那些元组。第12页,本讲稿共28页PROJECT运算则是提取列。例如:MAILPROJECT Name,Adress from EMPLOYEE此语句的语义是:创建一个名为MAIL的新关系,它包含从EMPLOYEE关系选得的其属性包含Name,Adress的两列。JOIN运算用于连接关系数据库。例如:C JOIN A and B

7、where A.W=B.X第13页,本讲稿共28页9.2.3SQLSQL(Structured Query Language)结构化查询语言。1.select语句每条SQL查询语句可以包含3条字句,即select字句、from字句和where字句。例如:select Name,Adress from EMPlOYEE第14页,本讲稿共28页2.insert into语句insert into EMPLOYEEvalues(42z12,Sue A.Burt,33 Fair St.,444661111)3.delete语句delete from EMPLOYEEwhere Name=G.Jerry

8、 Smith4.update语句update EMPLOYEEset Address=1812 Napolean Ave.where Name=Joe E.Baker第15页,本讲稿共28页9.3面向对象数据库运用面向对象方法构建的数据库称为面向对象数据库(object-oriented database),它由对象构成,对象之间通过相互链接来反映它们之间的联系。例如,书中员工数据库的面向对象实现可以包含3个类(对象的类型):EMPLOYEE、JOB和ASSIGNMENT。EMPLOYEE类的对象可以包含Emplid、Name、Address及SSNum这样的一些属性;JOB类的对象可以包含J

9、obID、JobTitle、SkillCode及Dept这些属性;ASSIGNMENT类的对象可以包含StartDate及TermDate这些属性。第16页,本讲稿共28页EMPLOYEEASSIGNMENTASSIGNMENTASSIGNMENTJOBJOBJOB第17页,本讲稿共28页在数据库中创建或添加的对象,在创建它们的程序终止后必须保存。这样的对象称为是持久的(persistent)对象。面向对象数据库和关系数据库相比:1.面向对象方法使整个软件系统用同样的范型来设计。2.面向对象数据库把不同的数据格式进行封装的能力。3.面向对象设计方法对数据库而言,还有一个好处,就是它有存储智能对

10、象的潜力而不仅仅只是数据。第18页,本讲稿共28页9.4维护数据库的完整性9.4.1提交/回滚协议把一个事务的所有步骤记录进日志文件的那个点,称为提交点(commit point)。如果问题出现在事务达到其提交点之前,那么DBMS可能会发现自己不能完成已经执行了一部分的事务。这种情况可以利用日志回滚(rollback)(也称为撤销)实际上已被事务实施的活动。第19页,本讲稿共28页一个事务的回滚可能会影响到别的事务,造成这些事务也需要回滚,结果就产生了级联回滚(cascading rollback)。9.4.2锁定数据库可能出现错误决算问题(incorrect summary problem)

11、和更新丢失问题(lost update problem)。锁定协议(locking protocol),该协议规定,数据库中当前正在被某个事务使用的项目都要加以标记。第20页,本讲稿共28页常见的有两种类型的锁,及共享锁(shared lock)和排它锁(exclusive lock),它们分别对应于事务需要访问数据的两种访问形式,及共享访问和互斥访问。如果一个稍后的事务一直被抢占,那么随着过程的进展它也会变老,最终成为一个具有较高优先级的老事务。这个协议,称之为受伤等待协议(wound-wait protocol)。第21页,本讲稿共28页9.5传统的文件结构9.5.1顺序文件顺序文件(se

12、quential file),即它从头到尾都是以顺序的方式进行访问的,好像文件中的信息都排成一行。把顺序文件的末尾称之为文件结束(end-of-file,EOF)。有许多方法可以用来标识EOF,一种方法是在文件的末尾放置一个专用的标记,称为哨兵(sentinel)。另一种方法是利用操作系统的目录系统中的信息来确定一个文件的EOF。第22页,本讲稿共28页归并算法:procedure M二个Files(InputFileA,InputFileB,OutputFile)if(两个输入文件都处于EOF)then(停止,OutputFile为空)if(InputFileA,不在EOF)then(声明它

13、的第一个记录为当前记录)if(InputFileB,不在EOF)then(声明它的第一个记录为当前记录)while(两个输入文件都不在EOF)do(将键字段值较小的当前记录放在OutputFile;if(该当前记录是其对应输入文件的最后一个记录)then(声明该输入文件在EOF)else(声明该输入文件中的下一个记录是该文件的当前记录)从不在EOF的输入文件的当前记录开始复制其余记录到OutputFile第23页,本讲稿共28页9.5.2索引文件为文件建立一个索引用来定位逻辑记录的位置,这样的文件系统称之为索引文件(indexed file)。9.5.3散列文件散列(hashing)技术也能提

14、供较快的访问机制。散列系统可以概括如下:数据存储空间被分成几个区,称为存储桶(bucket),每个桶放几条记录。根据一个将键的值转换为桶号的算法,可以将记录分散存放于这些桶中。这里,将键的值转换为桶号的算法称为散列函数(hashing function)。第24页,本讲稿共28页当散列用在海量存储器中的存储结构时,其结果称为散列文件(hash file)。当散列用在主存中的存储结构时,其结果通常称为散列表(hash table)。如果发生一个不成比例的键数目恰巧散列到同一个桶里,这种现象称为群集(clustering)。两个键经过散列后得到同一个值,这个现象被称为碰撞(collision)。前

15、8条记录都被放进空桶的概率为:(41/41)(40/41)(34/41)=0.482第25页,本讲稿共28页碰撞或者溢出的解决方法:一是允许扩展桶的大小,二是允许桶溢出到一个专门为解决这种问题二保留的溢出区。记录的数目与文件中总的记录容量之比称为负载因子(load factor)。例如:14,34,7,6,9,21,44,27,,散列函数Xmod11,在来数据32。01234567891044,3414276792132第26页,本讲稿共28页9.6数据挖掘数据挖掘操作的是静态的数据集合,称为数据仓库(data warehouse)。数据挖掘有两种常见的形式:类型描述(class description)和类型识别(class discrimination)。数据挖掘的形式:1.聚类分析(cluster analysis),它用来发现类型。2.关联分析(association analysis),它的工作是寻找数据组之间的联系。第27页,本讲稿共28页3.孤立点分析(outlier analysis),它试图识别出不符合规则的数据项。4.序列模式分析(sequential pattern analysis),它试图确定随时间变化的行为模式。9.7数据库技术的社会影响第28页,本讲稿共28页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁