数据库系统实现技术.ppt

上传人:牧羊曲112 文档编号:6296553 上传时间:2023-10-14 格式:PPT 页数:56 大小:292KB
返回 下载 相关 举报
数据库系统实现技术.ppt_第1页
第1页 / 共56页
数据库系统实现技术.ppt_第2页
第2页 / 共56页
数据库系统实现技术.ppt_第3页
第3页 / 共56页
数据库系统实现技术.ppt_第4页
第4页 / 共56页
数据库系统实现技术.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《数据库系统实现技术.ppt》由会员分享,可在线阅读,更多相关《数据库系统实现技术.ppt(56页珍藏版)》请在三一办公上搜索。

1、数据库系统实现技术,金培权,课程目的,深入掌握DBMS的原理和技术了解DBMS实现技术,课程内容,Part 1:Application-Oriented数据库系统概述关系数据库理论回顾Part 2:System-Oriented数据库文件与系统结构索引结构查询处理缓冲区管理恢复锁与并发控制,课程主页,linked inhttp:/,课程安排,讲课实验60学时讲授,20学时实验教材Database System Implementation(1th),H.Garcia-Molina,J.D.Ullman,J.Widom.机械工业出版社参考文献Database Management Systems

2、(3rd),Raghu Ramakrishnan et al.et al,清华大学出版社Database System Concepts(3rd),Abraham Silberschatz et al,机械工业出版社A First Course to Database System,J.Ullman et al.,机械工业出版社数据库系统概论(第4版),萨师煊,王珊.高教出版社,课程安排,考核期末考试50作业20实验20课堂测验10预备知识数据库系统原理,SQL,数据库应用编程,课程知识结构,Chp.1 数据库系统概述,Chp.2 关系数据库回顾,Chp.3 数据存储,Chp.4 数据元素表示

3、,Chp.8 查询编译,Chp.5 缓冲区管理,Chp.9 查询优化,Chp.10 故障与恢复,Chp.11 事务管理,Chp.6 索引结构,Chp.7 多维索引,第1章 数据库系统概述,主要内容,数据库系统的基本概念DBMS实现问题数据库设计问题数据库存取问题数据库技术的发展,一、数据库系统的基本概念,数据数据库数据库模式数据库管理系统数据库系统,1、数据,数据(Data)是数据库中存储的基本对象数据的定义人们用来反映客观世界而记录下来的可以鉴别的符号数据的种类数值数据:09非数值数据:字符、文字、声音、图形、图像等,1、数据,数据的特点数据与其语义是不可分的例子1:93是一个数据语义1:学

4、生某门课的成绩语义2:某人的体重语义3:计算机学院2009级学生人数,例子2:学生档案记录(李明,197205,中国科大,1990)语义1:学生,出生年月,所在学校,毕业年份语义2:学生,出生年月,录取大学,入学时间,2、数据库,数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库的基本特征 数据按一定的数据模型组织、描述和储存 可为各种用户共享 数据间联系密切,具有最小的冗余度和较高的独立性服务于某个特定的应用例:图书馆的图书数据库、机场的航班数据库、银行数据库,3、数据库模式,数据库模式是数据库中全体数据的逻辑结构和特征的描述,数据

5、库,数据库模式,数据,数据的语义,举例,学生(学号:char,姓名:char,年龄:int),模式,数据库,4、数据库管理系统,DBMS(Database Management System),是计算机程序的集合,用于创建和维护数据库位于操作系统和用户应用之间总是基于某种数据模型数据库厂商的产品通常指DBMS,如Oracle8i、Microsoft SQL Server 2000、DB2、Informix等,5、数据库系统,DBS(DataBase System),指在计算机系统中引入了数据库后的系统,即采用了数据库技术的计算机系统,5、数据库系统,终端用户,终端用户,终端用户,应用程序,应用

6、程序开发工具,数据库管理系统,操作系统,数据库,6、数据库系统的特点,数据结构化 数据的共享性高,冗余度低数据独立性高 数据由DBMS统一管理和控制,7、数据库系统中的三个主要问题,如何设计和实现一个DBMS来高效的组织和管理数据库?DBMS实现问题如何针对特定应用的需求设计一个合理的数据库结构?数据库设计问题应用程序如何有效地存取数据库中的数据?数据库存取问题,二、DBMS实现问题,Oracle、Informix、DB2、MS SQL Server、Mysql 数据结构:关系数据操作:关系代数&SQL存储:文件,1、一个虚拟的DBMS:Megatron2000,UNIX下的关系型DBMS,支

7、持SQL实现细节关系通过文件(ASCII)存储,e.g.R存储在/usr/db/R中数据库模式存储在特定的文件(ASCII)中,Smith#123#CSJones#522#EE,R1#A#INT#B#STR R2#C#STR#A#INT,2、Megatron 2000 使用示例,%MEGATRON2000 Welcome to MEGATRON 2000!&quit%,2、Megatron 2000 使用示例,&select*from R#name id dept SMITH 123 CS&,2、Megatron 2000 使用示例,&select A,B from R,S where R.A

8、=S.A and S.C 100#A B 123 CAR 522 CAT&,3、Megatron 2000如何执行查询?,执行“select*from R where condition”:读数据字典获取R的属性读R对应的文件,对于每一行数据:检查条件如果条件满足,则输出,3、Megatron 2000如何执行查询?,执行“select A,B from R,S where condition”:读数据字典获取R和S的属性读R文件,对于每一行数据:读S文件,对于每一行数据:生成连接元组检查条件若条件满足,则输出,Megatron 2000功能总结,可以定义表可以进行数据操作数据更新数据查询,4

9、、Megatron 2000 存在什么问题?,元组平铺在磁盘上将 EE改为 ECON,需要重写整个文件ASCII存储过于昂贵删除操作同样代价很高,4、Megatron 2000 存在什么问题?,低级的查询处理例,select*from R,Swhere R.A=S.A and S.B 1000先做连接比先做选择效率要低未考虑更高效的连接算法,4、Megatron 2000 存在什么问题?,没有缓冲区管理数据直接从磁盘存取,磁盘I/O的代价昂贵需要Cache来加速数据存取效率,4、Megatron 2000 存在什么问题?,没有并发控制多用户同时存取数据时数据一致性得不到保证,4、Megatro

10、n 2000 存在什么问题?,没有索引;数据查询效率低不能快速地根据给定键值查询元组总是要读入整个关系,4、Megatron 2000 存在什么问题?,没有可靠性发生数据库系统故障时没有恢复机制易出现数据不一致的情形,4、Megatron 2000 存在什么问题?,没有应用程序编程接口(API)应用如何存取数据库?,4、Megatron 2000 存在什么问题?,糟糕的数据字典组织,5、Megatron 2000 总结,一个糟糕的DBMS,三、数据库设计问题,如何把现实世界数据表达到数据库系统中?针对一个具体应用,应该如何构造一个适合于它的数据库模式?,三、数据库设计问题,数据库模式设计不规范

11、会带来一系列的问题数据冗余更新异常插入异常删除异常,示例关系模式R,示例关系模式 R(Tname,Addr,C#,Cname)一个教师只有一个地址一个教师可教多门课程一门课程只有一个任课教师因此R的主码是(C#),1、问题(1):数据冗余,教师T1教了三门课程,他的地址被重复存储了2次,2、问题(2):更新异常,如果T1的地址变了,则需要改变3个元组的地址;若有一个未更改,就会出现数据不一致。但DBMS无法获知这种不一致,3、问题(3):插入异常,如果要增加一名教师,但他还未带课,则C#和Cname为空,但由于C#是主码,为空违反了实体完整性,所以这名教师将无法插入到数据库中,4、问题(4):

12、删除异常,如果教师T3现在不带课了,则需将T3的元组删去,但同时也把他的姓名和地址信息以及C6课程信息删掉了,5、如何解决?,方法:模式分解方法1:R分解为R1(Tname,Addr)R2(C#,Cname),授课信息丢失了,5、如何解决?,方法:模式分解方法1:R分解为R1(Tname,Addr)R2(C#,Cname)方法2R1(Tname,Addr,C#)R2(C#,Cname),授课信息丢失了,R1中问题依然存在,5、如何解决?,方法:模式分解方法1:R分解为R1(Tname,Addr)R2(C#,Cname)方法2R1(Tname,Addr,C#)R2(C#,Cname)方法3R1(

13、Tname,Addr)R2(Tname,C#,Cname),授课信息丢失了,R1中问题依然存在,基本解决问题,但又带来联接查询代价,可能会导致数据库性能不能满足需求,5、如何解决?,到底什么样的数据库模式才合理?怎么分解才能满足要求?标准是什么?如何实现?数据库设计要解决的主要问题,四、数据库存取问题,数据库的存取?增、删、改、查数据库模式的存取?数据库访问控制信息的存取?,?,?,四、数据库存取问题,DBMS,数据库,用户,四、数据库存取问题,用户与数据库的唯一接口数据库语言DBMS支持用户通过数据库语言进行数据存取有三类数据库语言数据定义语言(Data Definition Languag

14、e,DDL)存取数据库模式数据操纵语言(Data Manipulation Language,DML)存取数据库数据数据库控制语言(Data Control Language,DCL)存取访问控制信息,本课程的重点,DBMS实现问题数据库设计问题 数据库存取问题,数据库技术的发展,1961:GE的C.W.Bachman设计了历史上第一个DBMS网状数据库系统IDS1968:IBM设计了层次数据库系统IMS1969:CODASYL的DBTG发表了网状数据模型报告,奠定了网状数据库技术1970:IBM的E.F.Codd提出了关系数据模型,奠定了关系数据库理论基础1974:IBM的Boyce和Cha

15、mberlin设计了SQL语言19731976:E.F.Codd设计了System R,M.Stonebraker设计了Ingres1976:IBM的Jim Gray提出了一致性、锁粒度等设计,奠定了事务处理基础1977:Larry Ellison创建了Oracle公司,1979年发布Oracle 2.0,1986年Oracle上市1983:IBM发布DB2,Charlie Bachman,Edgar Codd,Jim Gray,数据库技术的发展,1985:面向对象数据库技术提出1987:Sybase 1.0发布1990:M.Stonebraker发表“第三代数据库系统宣言”,提出对象关系数据模型19871994:Sybase和Microsoft合作,发布 Sybase SQL Server 4.2。破裂后Sybase继续发布Sybase ASE 11.01996:Microsoft发布Microsoft SQL Server 6.51996:开源的MySQL正式发布1998:提出了半结构化数据模型(XML1.0),Michael Stonebraker,本章小结,数据库系统的基本概念DBMS实现问题数据库设计问题数据库存取问题数据库技术的发展,Next,关系数据库回顾,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号