中科大高级数据库第一章课件

上传人:仙*** 文档编号:240972151 上传时间:2024-05-21 格式:PPTX 页数:59 大小:544.22KB
返回 下载 相关 举报
中科大高级数据库第一章课件_第1页
第1页 / 共59页
中科大高级数据库第一章课件_第2页
第2页 / 共59页
中科大高级数据库第一章课件_第3页
第3页 / 共59页
点击查看更多>>
资源描述
Advanced Database Technologies金培权()金培权()高级数据库技术高级数据库技术2Advanced Database Technologies金培权()金培权()课程目的课程目的n掌握数据库设计和优化的方法掌握数据库设计和优化的方法n深入掌握深入掌握DBMS的原理和技术的原理和技术n了解了解DBMS实现技术实现技术数据库原理/数据库系统及应用本科课程硕士课程高级数据库技术Application-OrientedSystem-Oriented3Advanced Database Technologies金培权()金培权()课程内容课程内容nPart 1:Application-Oriented关系数据库理论回顾关系数据库理论回顾数据库设计方法与案例分析数据库设计方法与案例分析nPart 2:System-Oriented数据库文件与系统结构数据库文件与系统结构索引结构索引结构查询处理查询处理缓冲区管理缓冲区管理恢复恢复锁与并发控制锁与并发控制4Advanced Database Technologies金培权()金培权()课程主页课程主页linked in5Advanced Database Technologies金培权()金培权()课程安排课程安排n讲课实验讲课实验50学时讲授,学时讲授,20学时实验学时实验n教材教材Database System Implementation(2th),H.Garcia-Molina,J.D.Ullman,J.Widom.机械工业出版社机械工业出版社n参考文献参考文献Database Management Systems(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版版),萨师煊,王珊萨师煊,王珊.高教出版社高教出版社6Advanced Database Technologies金培权()金培权()课程安排课程安排n考核考核期末考试期末考试60作业作业20实验实验20n预备知识预备知识数据库系统原理,数据库系统原理,SQL,数据库应用编程,数据库应用编程7Advanced Database Technologies金培权()金培权()课程安排课程安排n上机软件上机软件Oracle/Sybase ASE/MS SQL ServerSybase PowerDesignerC+/Java8Advanced Database Technologies金培权()金培权()课程知识结构课程知识结构Chp.1 数据库系统概述数据库系统概述Chp.2 关系数据库回顾关系数据库回顾Chp.3 数据库设计数据库设计Chp.4 数据存储数据存储Chp.5 数据元素表示数据元素表示Chp.7 查询编译查询编译Chp.6 索引结构索引结构Chp.8 查询优化查询优化Chp.9 故障与恢复故障与恢复Chp.10 事务管理事务管理Advanced Database Technologies金培权()金培权()第第1 1章章 数据库系统概述数据库系统概述10Advanced Database Technologies金培权()金培权()主要内容主要内容n数据库系统的基本概念数据库系统的基本概念nDBMS实现问题实现问题n数据库设计问题数据库设计问题n数据库存取问题数据库存取问题n数据库技术的发展数据库技术的发展11Advanced Database Technologies金培权()金培权()一、数据库系统的基本概念一、数据库系统的基本概念n数据数据n数据库数据库n数据库模式数据库模式n数据库管理系统数据库管理系统n数据库系统数据库系统12Advanced Database Technologies金培权()金培权()1 1、数据、数据n数据数据(Data)是数据库中存储的基本对象是数据库中存储的基本对象n数据的定义数据的定义人们用来反映客观世界而记录下来的可以鉴别人们用来反映客观世界而记录下来的可以鉴别的符号的符号n数据的种类数据的种类数值数据:数值数据:09非数值数据:字符、文字、声音、图形、图像非数值数据:字符、文字、声音、图形、图像等等13Advanced Database Technologies金培权()金培权()1 1、数据、数据n数据的特点数据的特点数据与其语义是不可分的数据与其语义是不可分的n例子例子1:93是一个数据是一个数据语义语义1:学生某门课的成绩:学生某门课的成绩语义语义2:某人的体重:某人的体重语义语义3:软件学院:软件学院2011级学生人数级学生人数 n例子例子2:学生档案记录(:学生档案记录(李明,李明,197205,中国科,中国科大,大,1990)语义语义1:学生,出生年月,所在学校,毕业年份:学生,出生年月,所在学校,毕业年份语义语义2:学生,出生年月,录取大学,入学时间学生,出生年月,录取大学,入学时间14Advanced Database Technologies金培权()金培权()2 2、数据库、数据库n数据库的定义数据库的定义 数据库数据库(Database,简称简称DB)是是长期储存长期储存在计算机内、在计算机内、有组织有组织的、的、可共享可共享的的大量数据大量数据的集合的集合n数据库的基本特征数据库的基本特征 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存 可为各种用户共享可为各种用户共享 数据间联系密切,具有最小的冗余度和较高的独立性数据间联系密切,具有最小的冗余度和较高的独立性服务于某个特定的应用服务于某个特定的应用n例:图书馆的图书数据库、机场的航班数据库、例:图书馆的图书数据库、机场的航班数据库、银行数据库银行数据库15Advanced Database Technologies金培权()金培权()3 3、数据库模式、数据库模式n数据库模式是数据库中全体数据的逻辑结数据库模式是数据库中全体数据的逻辑结构和特征的描述构和特征的描述数据库数据库模式数据数据的语义16Advanced Database Technologies金培权()金培权()年龄年龄姓名姓名学号学号22王五王五00321李四李四00220张三张三001年龄年龄姓名姓名学号学号22王五王五00321李四李四00220张三张三001举例举例学生(学号:char,姓名:char,年龄:int)模式数据库17Advanced Database Technologies金培权()金培权()4 4、数据库管理系统、数据库管理系统nDBMS(Database Management System),是计算机程序的集合,用于创),是计算机程序的集合,用于创建和维护数据库建和维护数据库位于操作系统和用户应用之间位于操作系统和用户应用之间总是基于某种数据模型总是基于某种数据模型数据库厂商的产品通常数据库厂商的产品通常指指DBMS,如,如Oracle8i、Microsoft SQL Server 2000、DB2、Informix等等18Advanced Database Technologies金培权()金培权()5 5、数据库系统、数据库系统nDBS(DataBase System),指在计算机系统),指在计算机系统中引入了数据库后的系统,即采用了数据库技术中引入了数据库后的系统,即采用了数据库技术的计算机系统的计算机系统19Advanced Database Technologies金培权()金培权()5 5、数据库系统、数据库系统终端用户终端用户终端用户终端用户终端用户终端用户应用程序应用程序应用程序开发工具应用程序开发工具数据库管理系统数据库管理系统操作系统操作系统数据库数据库.NET,JAVAOracle/DB2/SQL ServerWindows/Linux20Advanced Database Technologies金培权()金培权()6 6、数据库系统的特点、数据库系统的特点n数据结构化数据结构化 n数据的共享性高,冗余度低数据的共享性高,冗余度低n数据独立性高数据独立性高 n数据由数据由DBMS统一管理和控制统一管理和控制21Advanced Database Technologies金培权()金培权()7 7、数据库系统中的三个主要问题、数据库系统中的三个主要问题n如何设计和实现一个如何设计和实现一个DBMS来高效的组织来高效的组织和管理数据库?和管理数据库?DBMS实现问题实现问题n如何针对特定应用的需求设计一个合理的如何针对特定应用的需求设计一个合理的数据库结构?数据库结构?数据库设计问题数据库设计问题n应用程序如何有效地存取数据库中的数据应用程序如何有效地存取数据库中的数据?数据库存取问题数据库存取问题22Advanced Database Technologies金培权()金培权()二、二、DBMSDBMS实现问题实现问题nOracle、Informix、DB2、MS SQL Server、Mysql 数据结构:关系数据结构:关系数据操作:关系代数数据操作:关系代数&SQL存储:文件存储:文件23Advanced Database Technologies金培权()金培权()1 1、一个虚拟的、一个虚拟的DBMSDBMS:Megatron2000Megatron2000nUNIX下的关系型下的关系型DBMS,支持,支持SQLn实现细节实现细节关系通过文件(关系通过文件(ASCII)存储,)存储,e.g.R存储在存储在/usr/db/R中中数据库模式存储在特定的文件(数据库模式存储在特定的文件(ASCII)中)中Smith#123#CSJones#522#EER1#A#INT#B#STR R2#C#STR#A#INT 24Advanced Database Technologies金培权()金培权()2 2、Megatron 2000 Megatron 2000 使用示例使用示例%MEGATRON2000 Welcome to MEGATRON 2000!&quit%25Advanced Database Technologies金培权()金培权()2 2、Megatron 2000 Megatron 2000 使用示例使用示例&select*from R#name id dept SMITH 123 CS&26Advanced Database Technologies金培权()金培权()2 2、Megatron 2000 Megatron 2000 使用示例使用示例&select A,B from R,S where R.A=S.A and S.C 100#A B 123 CAR 522 CAT&27Advanced Database Technologies金培权()金培权()3 3、Megatron 2000Megatron 2000如何执行查询?如何执行查询?n执行执行“select*from R where condition”:读数据字典获取读数据字典获取R的属性的属性读读R对应的文件,对于每一行数据对应的文件,对于每一行数据:检查条件检查条件如果条件满足,则输出如果条件满足,则输出28Advanced Database Technologies金培权()金培权()3 3、Megatron 2000Megatron 2000如何执行查询?如何执行查询?n执行执行“select A,B from R,S where condition”:读数据字典获取读数据字典获取R和和S的属性的属性读读R文件,对于每一行数据文件,对于每一行数据:读读S文件,对于每一行数据文件,对于每一行数据:生成连接元组生成连接元组检查条件检查条件若条件满足,则输出若条件满足,则输出29Advanced Database Technologies金培权()金培权()Megatron 2000Megatron 2000功能总结功能总结n可以定义表可以定义表n可以进行数据操作可以进行数据操作数据更新数据更新数据查询数据查询30Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n元组平铺在磁盘上元组平铺在磁盘上将将 EE改为改为 ECON,需要重写整个文件,需要重写整个文件ASCII存储过于昂贵存储过于昂贵删除操作同样代价很高删除操作同样代价很高31Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n低级的查询处理低级的查询处理例,例,select*from Student S,SCwhere S.sno=SC.sno and SC.credit 3先做连接比先做选择效率要低先做连接比先做选择效率要低未考虑更高效的连接算法未考虑更高效的连接算法32Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有缓冲区管理没有缓冲区管理数据直接从磁盘存取,磁盘数据直接从磁盘存取,磁盘I/O的代价昂贵的代价昂贵需要需要Cache来加速数据存取效率来加速数据存取效率DiskCacheSelect*From R Where R.A=1User 1Select*From R Where R.A=1User 2MemoryDisk1 1I/Opage2 23 34 45 533Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有并发控制没有并发控制多用户同时存取数据时数据一致性得不到保证多用户同时存取数据时数据一致性得不到保证DiskCacheRead(A)A=A+100Write(A)User T1存100Read(A)A=A-100Write(A)User T2取100MemoryDisk2 2A=600A:6001 11 1A=600A=5004 4A:7003 3A:700A:5005 5执行顺序:执行顺序:R1(A)R2(A)W1(A)W2(A)R1(A)R2(A)W1(A)W2(A)A=50034Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有索引;数据查询效率低没有索引;数据查询效率低不能快速地根据给定键值查询元组不能快速地根据给定键值查询元组总是要读入整个关系总是要读入整个关系若若 page size=8 KB,page I/O 10ms1 MB(128 pages)-1.28 s128 MB(16384 pages)-163.8 s1 GB(131072 pages)-1310.7 s 21.8 min35Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有可靠性没有可靠性发生数据库系统故障时没有恢复机制发生数据库系统故障时没有恢复机制易出现数据不一致的情形易出现数据不一致的情形36Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有应用程序编程接口(没有应用程序编程接口(API)应用如何存取数据库?应用如何存取数据库?37Advanced Database Technologies金培权()金培权()4 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n糟糕的数据字典组织糟糕的数据字典组织38Advanced Database Technologies金培权()金培权()5 5、Megatron 2000 Megatron 2000 总结总结n一个糟糕的一个糟糕的DBMS39Advanced Database Technologies金培权()金培权()三、数据库设计问题三、数据库设计问题n如何把现实世界数据表达到数据库系统中如何把现实世界数据表达到数据库系统中?n针对一个具体应用,应该如何构造一个适针对一个具体应用,应该如何构造一个适合于它的数据库模式?合于它的数据库模式?40Advanced Database Technologies金培权()金培权()三、数据库设计问题三、数据库设计问题n数据库模式设计不规范会带来一系列的问数据库模式设计不规范会带来一系列的问题题数据冗余数据冗余更新异常更新异常插入异常插入异常删除异常删除异常41Advanced Database Technologies金培权()金培权()示例关系模式示例关系模式R RTnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6示例关系模式示例关系模式 R(Tname,Addr,C#,Cname)一个教师只有一个地址(户口所在地)一个教师只有一个地址(户口所在地)一个教师可教多门课程一个教师可教多门课程一门课程只有一个任课教师一门课程只有一个任课教师因此因此R的主码是(的主码是(C)42Advanced Database Technologies金培权()金培权()1 1、问题(、问题(1 1):数据冗余):数据冗余n教师教师T1教了三门课程,他的地址被重复存教了三门课程,他的地址被重复存储了储了2次次TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N643Advanced Database Technologies金培权()金培权()2 2、问题(、问题(2 2):更新异常):更新异常n如果如果T1的地址变了,则需要改变的地址变了,则需要改变3个元组个元组的地址;若有一个未更改,就会出现数据的地址;若有一个未更改,就会出现数据不一致。但不一致。但DBMS无法获知这种不一致无法获知这种不一致TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N644Advanced Database Technologies金培权()金培权()3 3、问题(、问题(3 3):插入异常):插入异常n如果要增加一名教师,但他还未带课,则如果要增加一名教师,但他还未带课,则C#和和Cname为空,但由于为空,但由于C是主码,为是主码,为空违反了实体完整性,所以这名教师将无空违反了实体完整性,所以这名教师将无法插入到数据库中法插入到数据库中TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N645Advanced Database Technologies金培权()金培权()4 4、问题(、问题(4 4):删除异常):删除异常n如果教师如果教师T3现在不带课了,则需将现在不带课了,则需将T3的元的元组删去,但同时也把他的姓名和地址信息组删去,但同时也把他的姓名和地址信息以及以及C6课程信息删掉了课程信息删掉了TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N646Advanced Database Technologies金培权()金培权()5 5、如何解决?、如何解决?n方法:模式分解方法:模式分解方法方法1:R分解为分解为R1(Tname,Addr)R2(C#,Cname)授课信息丢失了授课信息丢失了47Advanced Database Technologies金培权()金培权()5 5、如何解决?、如何解决?n方法:模式分解方法:模式分解方法方法1:R分解为分解为R1(Tname,Addr)R2(C#,Cname)方法方法2R1(Tname,Addr,C#)R2(C#,Cname)授课信息丢失了授课信息丢失了R1中问题依然存在中问题依然存在48Advanced Database Technologies金培权()金培权()5 5、如何解决?、如何解决?n方法:模式分解方法:模式分解方法方法1:R分解为分解为R1(Tname,Addr)R2(C#,Cname)方法方法2R1(Tname,Addr,C#)R2(C#,Cname)方法方法3R1(Tname,Addr)R2(Tname,C#,Cname)授课信息丢失了授课信息丢失了R1中问题依然存在中问题依然存在基本解决问题,但又带来联接基本解决问题,但又带来联接查询代价,可能会导致数据库查询代价,可能会导致数据库性能不能满足需求性能不能满足需求49Advanced Database Technologies金培权()金培权()5 5、如何解决?、如何解决?n到底什么样的数据库模式才合理?怎么分到底什么样的数据库模式才合理?怎么分解才能满足要求?标准是什么?如何实现解才能满足要求?标准是什么?如何实现?数据库设计要解决的主要问题数据库设计要解决的主要问题50Advanced Database Technologies金培权()金培权()四、数据库存取问题四、数据库存取问题n数据库的存取?数据库的存取?增、删、改、查增、删、改、查n数据库模式的存取?数据库模式的存取?n数据库访问控制信息数据库访问控制信息的存取?的存取?51Advanced Database Technologies金培权()金培权()四、数据库存取问题四、数据库存取问题DBMS数据库用户52Advanced Database Technologies金培权()金培权()四、数据库存取问题四、数据库存取问题n用户与数据库的唯一接口用户与数据库的唯一接口数据库语言数据库语言nDBMS支持用户通过数据库语言进行数据支持用户通过数据库语言进行数据存取存取n有三类数据库语言有三类数据库语言数据定义语言(数据定义语言(Data Definition Language,DDL)存取数据库模式存取数据库模式数据操纵语言(数据操纵语言(Data Manipulation Language,DML)存取数据库数据存取数据库数据数据库控制语言(数据库控制语言(Data Control Language,DCL)存取访问控制信息存取访问控制信息53Advanced Database Technologies金培权()金培权()SQLDDLDMLDCLCreate Table/Alter Table/Drop Table:定义基本表定义基本表Create View/Drop View:视图操作视图操作Create Index/Drop Index:索引操作索引操作InsertDeleteSelectUpdateGrantRevoke数据记录操作数据记录操作访问控制访问控制SQLSQL的基本组成的基本组成54Advanced Database Technologies金培权()金培权()本课程的重点本课程的重点nDBMS实现问题实现问题n数据库设计问题数据库设计问题n数据库存取问题数据库存取问题 55Advanced Database Technologies金培权()金培权()五、数据库技术的发展五、数据库技术的发展n1961:GE的的C.W.Bachman设计了历史上第一个设计了历史上第一个DBMS网状数网状数据库系统据库系统IDS(Integrated DataStore)n1968:IBM设计了层次数据库系统设计了层次数据库系统IMSn1969:CODASYL的的DBTG发表了网状数据模型报告,奠定了网状发表了网状数据模型报告,奠定了网状数据库技术数据库技术n1970:IBM的的E.F.Codd提出了关系数据模型,奠定了关系数据库理提出了关系数据模型,奠定了关系数据库理论基础论基础n1974:IBM的的Boyce和和Chamberlin设计了设计了SQL语言语言n19731976:E.F.Codd设计了设计了System R,M.Stonebraker设计设计了了Ingresn1976:IBM的的Jim Gray提出了一致性、锁粒度等设计,奠定了事务提出了一致性、锁粒度等设计,奠定了事务处理基础处理基础n1977:Larry Ellison创建了创建了Oracle公司,公司,1979年发布年发布Oracle 2.0,1986年年Oracle上市上市n1983:IBM发布发布DB2CharlieBachmanEdgarCoddJimGray56Advanced Database Technologies金培权()金培权()数据库技术的发展数据库技术的发展n1985:面向对象数据库技术提出:面向对象数据库技术提出n1987:Sybase 1.0发布发布n1990:M.Stonebraker发表发表“第三代数据库系统宣言第三代数据库系统宣言”,提出对象,提出对象关系数据模型关系数据模型n19871994:Sybase和和Microsoft合作,发布合作,发布 Sybase SQL Server 4.2。破裂后。破裂后Sybase继续发布继续发布Sybase ASE 11.0n1996:Microsoft发布发布Microsoft SQL Server 6.5n1996:开源的:开源的MySQL正式发布正式发布n1998:提出了半结构化数据模型(:提出了半结构化数据模型(XML1.0)n2005,M.Stonebraker等开发完成等开发完成C-Store,Column-based DBMSn2007,NoSQL(非关系型数据库非关系型数据库)在在Web领域大行其道。领域大行其道。Amazon(SimpleDB/Dynamo)、Google(BigTable)、Facebook(Cassandra)、Yahoo(PNUTS)、Yales(HadoopDB)MichaelStonebraker57Advanced Database Technologies金培权()金培权()本章小结本章小结n数据库系统的基本概念数据库系统的基本概念nDBMS实现问题实现问题n数据库设计问题数据库设计问题n数据库存取问题数据库存取问题n数据库技术的发展数据库技术的发展提问与解答环节Questions And Answers谢谢聆听 学习就是为了达到一定目的而努力去干,是为一个目标去战胜各种困难的过程,这个过程会充满压力、痛苦和挫折Learning Is To Achieve A Certain Goal And Work Hard,Is A Process To Overcome Various Difficulties For A Goal
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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