《高级数据库技术.ppt》由会员分享,可在线阅读,更多相关《高级数据库技术.ppt(58页珍藏版)》请在优知文库上搜索。
1、1高级数据库技术高级数据库技术2课程目的课程目的n掌握数据库设计和优化的方法掌握数据库设计和优化的方法n深入掌握深入掌握DBMS的原理和技术的原理和技术n了解了解DBMS实现技术实现技术数据库原理/数据库系统及应用本科课程硕士课程高级数据库技术Application-OrientedSystem-Oriented3课程内容课程内容nPart 1:Application-Oriented关系数据库理论回顾关系数据库理论回顾数据库设计方法与案例分析数据库设计方法与案例分析nPart 2:System-Oriented数据库文件与系统结构数据库文件与系统结构索引结构索引结构查询处理查询处理缓冲区管理
2、缓冲区管理恢复恢复锁与并发控制锁与并发控制4课程主页课程主页linked inhttp:/ 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 Da
3、tabase System,J.Ullman et al.,机械工业出版社机械工业出版社数据库系统概论数据库系统概论(第第4版版),萨师煊,王珊萨师煊,王珊.高教出版社高教出版社6课程安排课程安排n考核考核期末考试期末考试60作业作业20实验实验20n预备知识预备知识数据库系统原理,数据库系统原理,SQL,数据库应用编程,数据库应用编程7课程安排课程安排n上机软件上机软件Oracle/Sybase ASE/MS SQL ServerSybase PowerDesignerC+/Java8课程知识结构课程知识结构Chp.1 数据库系统概述数据库系统概述Chp.2 关系数据库回顾关系数据库回顾Ch
4、p.3 数据库设计数据库设计Chp.4 数据存储数据存储Chp.5 数据元素表示数据元素表示Chp.7 查询编译查询编译Chp.6 索引结构索引结构Chp.8 查询优化查询优化Chp.9 故障与恢复故障与恢复Chp.10 事务管理事务管理9第第1 1章章 数据库系统概述数据库系统概述10主要内容主要内容n数据库系统的基本概念数据库系统的基本概念nDBMS实现问题实现问题n数据库设计问题数据库设计问题n数据库存取问题数据库存取问题n数据库技术的发展数据库技术的发展11一、数据库系统的基本概念一、数据库系统的基本概念n数据数据n数据库数据库n数据库模式数据库模式n数据库管理系统数据库管理系统n数据
5、库系统数据库系统121 1、数据、数据n数据数据(Data)是数据库中存储的基本对象是数据库中存储的基本对象n数据的定义数据的定义人们用来反映客观世界而记录下来的可以鉴人们用来反映客观世界而记录下来的可以鉴别的符号别的符号n数据的种类数据的种类数值数据:数值数据:09非数值数据:字符、文字、声音、图形、图非数值数据:字符、文字、声音、图形、图像等像等131 1、数据、数据n数据的特点数据的特点数据与其语义是不可分的数据与其语义是不可分的n例子例子1:93是一个数据是一个数据语义语义1:学生某门课的成绩:学生某门课的成绩语义语义2:某人的体重:某人的体重语义语义3:软件学院:软件学院2011级学
6、生人数级学生人数 n例子例子2:学生档案记录(李明,:学生档案记录(李明,197205,中国科,中国科大,大,1990)语义语义1:学生,出生年月,所在学校,毕业年份:学生,出生年月,所在学校,毕业年份语义语义2:学生,出生年月,录取大学,入学时间学生,出生年月,录取大学,入学时间142 2、数据库、数据库n数据库的定义数据库的定义 数据库数据库(Database,简称简称DB)是是长期储存长期储存在计算机内、在计算机内、有组织有组织的、的、可共享可共享的的大量数据大量数据的集合的集合n数据库的基本特征数据库的基本特征 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存
7、可为各种用户共享可为各种用户共享 数据间联系密切,具有最小的冗余度和较高的独立性数据间联系密切,具有最小的冗余度和较高的独立性服务于某个特定的应用服务于某个特定的应用n例:图书馆的图书数据库、机场的航班数据库、例:图书馆的图书数据库、机场的航班数据库、银行数据库银行数据库153 3、数据库模式、数据库模式n数据库模式是数据库中全体数据的逻辑结数据库模式是数据库中全体数据的逻辑结构和特征的描述构和特征的描述数据库数据库模式数据数据的语义16年龄年龄姓名姓名学号学号22王五王五00321李四李四00220张三张三001年龄年龄姓名姓名学号学号22王五王五00321李四李四00220张三张三001举
8、例举例学生(学号:char,姓名:char,年龄:int)模式数据库174 4、数据库管理系统、数据库管理系统nDBMS(Database Management System),是计算机程序的集合,用于创建和维),是计算机程序的集合,用于创建和维护数据库护数据库位于操作系统和用户应用之间位于操作系统和用户应用之间总是基于某种数据模型总是基于某种数据模型数据库厂商的产品通常数据库厂商的产品通常指指DBMS,如,如Oracle8i、Microsoft SQL Server 2000、DB2、Informix等等185 5、数据库系统、数据库系统nDBS(DataBase System),指在计算机
9、系统),指在计算机系统中引入了数据库后的系统,即采用了数据库技术中引入了数据库后的系统,即采用了数据库技术的计算机系统的计算机系统195 5、数据库系统、数据库系统终端用户终端用户终端用户终端用户终端用户终端用户应用程序应用程序应用程序开发工具应用程序开发工具数据库管理系统数据库管理系统操作系统操作系统数据库数据库.NET,JAVAOracle/DB2/SQL ServerWindows/Linux206 6、数据库系统的特点、数据库系统的特点n数据结构化数据结构化 n数据的共享性高,冗余度低数据的共享性高,冗余度低n数据独立性高数据独立性高 n数据由数据由DBMS统一管理和控制统一管理和控制
10、217 7、数据库系统中的三个主要问题、数据库系统中的三个主要问题n如何设计和实现一个如何设计和实现一个DBMS来高效的组织来高效的组织和管理数据库?和管理数据库?DBMS实现问题实现问题n如何针对特定应用的需求设计一个合理的如何针对特定应用的需求设计一个合理的数据库结构?数据库结构?数据库设计问题数据库设计问题n应用程序如何有效地存取数据库中的数据应用程序如何有效地存取数据库中的数据?数据库存取问题数据库存取问题22二、二、DBMSDBMS实现问题实现问题nOracle、Informix、DB2、MS SQL Server、Mysql 数据结构:关系数据结构:关系数据操作:关系代数数据操作:
11、关系代数&SQL存储:文件存储:文件231 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 242 2、Megatron 2000 Megatron 2000 使用示例使用示例%MEGATRON2000
12、 Welcome to MEGATRON 2000!&quit%252 2、Megatron 2000 Megatron 2000 使用示例使用示例&select*from R#name id dept SMITH 123 CS&262 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&273 3、Megatron 2000Megatron 2000如何执行查询?如何执行查询?n执行执行“select*from R where cond
13、ition”:读数据字典获取读数据字典获取R的属性的属性读读R对应的文件,对于每一行数据对应的文件,对于每一行数据:检查条件检查条件如果条件满足,则输出如果条件满足,则输出283 3、Megatron 2000Megatron 2000如何执行查询?如何执行查询?n执行执行“select A,B from R,S where condition”:读数据字典获取读数据字典获取R和和S的属性的属性读读R文件,对于每一行数据文件,对于每一行数据:读读S文件,对于每一行数据文件,对于每一行数据:生成连接元组生成连接元组检查条件检查条件若条件满足,则输出若条件满足,则输出29Megatron 2000
14、Megatron 2000功能总结功能总结n可以定义表可以定义表n可以进行数据操作可以进行数据操作数据更新数据更新数据查询数据查询304 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n元组平铺在磁盘上元组平铺在磁盘上将将 EE改为改为 ECON,需要重写整个文件,需要重写整个文件ASCII存储过于昂贵存储过于昂贵删除操作同样代价很高删除操作同样代价很高314 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n低级的查询处理低级的查询处理例,例,select*from Student S,SCwhere S.sn
15、o=SC.sno and SC.credit 3先做连接比先做选择效率要低先做连接比先做选择效率要低未考虑更高效的连接算法未考虑更高效的连接算法324 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
16、 5334 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=500344 4、Megatron 2000 Megatron 2000 存在什么问题?存在什么问题?n没有索引;数据查询效率低没有索引;数据查询效率低不能快速地根据给定键值查询元组不能快速地根据给定键值查询元组总是要读入整个关系总是要读入整个关系若若 page size=8 KB,page I/O 10ms1 MB(128 pages)-2.56 s128 MB(16384 pages)-163.8 s1 G