《数据库系统基础教程.ppt》由会员分享,可在线阅读,更多相关《数据库系统基础教程.ppt(20页珍藏版)》请在三一办公上搜索。
1、数据库原理及应用,上课时间:周一上午教师:柳林Email:手机:课程安排:课堂教学10次,实验5次考核办法:点名10%,实验报告20%,期末考试(开卷)70%教材:数据库系统基础教程参考书:王珊,数据库系统概论,第4版。,概述数据库建模关系数据模型关系代数数据库语言SQLSQL约束和触发器SQL系统特性,数据库系统基础教程,第一章 数据库系统的世界(概述),主要内容:数据库系统的发展 数据库管理系统的结构 未来的数据库系统 本课程内容,1.1 数据库系统的发展,什么是数据库?一个数据库是由一个数据库管理系统(DBMS,Database Management System)所管理的一个数据集合。
2、一个DBMS为用户提供如下功能:1、持久存储 2、用户接口和编程接口 3、事务管理,1.1 数据库系统的发展,一个DBMS应有以下四方面的功能:数据定义语言(DDL,Data Definition Language):创建数据库并确定其模式(schema)。一个schema模式是一组用DDL表达的语句集合,以完整描述某个数据库的逻辑结构。数据查询语言(Data Query Language)和数据操作语言(Data Manipulation Language):依据数据库的模式,查询或更新数据。大量数据存储:数量大,持续时间长。共享数据:多用户并发访问,避免某用户的动作影响其他人;避免意外损坏
3、数据。,1.1 数据库系统的发展,从文件系统演化而来文件系统特点:数据以文件的形式长期保存数据的物理结构与逻辑结构有了区别文件形式多样化数据的存取以记录为单位缺点:数据冗余度(Redundancy)大:数据面向应用,无法共享数据和程序缺乏独立性,1.1 数据库系统的发展,时间:60年代后期-背景:数据管理规模更为庞大,应用更广泛,数据量剧增,共享要求(多种应用、多种语言互相覆盖地共享数据集合)更强硬件:有了大容量和快速存取磁盘指导思想:对所有的数据实行统一的、集中的、独立的管理,使数据存储独立于使用数据的程序,实现数据共享。,1.1 数据库系统的发展,数据库不仅反映数据本身的内容,同时也反映数
4、据之间的关系。在数据库中是用数据模型来对现实世界进行抽象的。数据模型是数据库系统中用于提供信息表示和操作手段的形式架构。,1.1 数据库系统的发展,1970年,Ted Codd在ACM发表“A Relational Model for Large Shared Data Banks”,奠定了关系型数据库的理论基础。主要思想是把数据库中的所有数据组织为“表table”的“关系relation”。可组织复杂数据结构;对大量查询能快速反应;查询可表示为一种高级语言,以提高编程效率。关系代数提供了关系模型的数学基础。使用简单的结构和方法可表示和实现复杂结构和复杂计算。SQL(Structural Qu
5、ery Language)出现。,1.2 数据库管理系统的结构,负责数据库存取、维护和管理的软件系统,通常称为数据库管理系统(DataBase Management System,DBMS)数据库系统的各类用户对数据库的各种操作请求,都是由DBMS完成的数据库系统的核心软件,1.2 数据库管理系统的结构,应用程序1,应用程序2,.,应用程序n,DBMS,数据库,Database Management System数据库管理系统,数据库系统简图,数据库,1.2 数据库管理系统的结构,查询处理器,事务管理器,存储管理器,数据元数据,查询(select),数据更新(insert/delete/upd
6、ate),模式更新(create/alter/drop),从系统构件划分和数据处理的角度来看数据库,1.2 数据库管理系统的结构,数据存储器:存储数据和元数据。文件是主要方式。元数据metadata:关于数据的结构的信息。数据按元数据规范的格式存储。索引index:一种数据结构,以快速查找数据项(item)。索引是数据的一部分,而对索引的说明则是元数据的一部分。Hash表是早期建立索引的主要方法,现一般使用B(Balance)树。,1.2 数据库管理系统的结构,存储管理器:对数据读写进行管理,包含文件管理和缓冲区管理。依赖于特定OS。文件file管理:磁盘文件分块block:1K-16K 缓冲
7、区buffer管理:文件到内存的映像。内存分页page:1K-4K 查询处理器:SQL命令预处理,把SQL命令转变为对存储数据的操作序列,主要问题是优化。事务管理器:负责系统数据的完整性。保证并发运行的多个SQL命令相互不冲突;保证系统出现故障时不丢失不损坏数据。延迟和操作日志log。,1.2 数据库管理系统的结构,一组操作作为一个单元,按次序全部执行,称为事务Transaction。事务的特性:ACIDAtomicity:原子性,一个事务中的一组操作,要么全部执行,要么一点也不执行。Consistency:一致性,保持正确状态。Isolation:隔离性,多个事务并发运行时,作用效果相互分开
8、。有一定隔离级别。Durability:持久性,事务完成后,即使系统发生故障,事务的结果不丢失。通过加锁(locking),日志(logging)和提交(commit)保持事务特性,1.2 数据库管理系统的结构,从数据库模式(schema)的角度来看数据库,模式(schema)是对某个数据库的逻辑结构的完整描述,通常用一组DDL来描述。,数据独立性依靠模式分级及模式之间的影像实现。,1.2 数据库管理系统的结构,数据库应用客户/服务器(Client/Server,C/S)结构,客户端Client:请求SQL服务的软件进程。服务器Server:提供SQL服务的软件进程。一个服务器可支持多个数据库
9、;一个数据库包含多个关系。,DB Client,DB Client,DB Server,JavaC/C+PowerBuilderDelphiVB,MS AccessSybase ASAMySQLOracleIBM DB2,sql request,sql request,reply,reply,1.4 本课程内容,关于数据库系统的三方面工作:设计design:如何建立一个有用的数据库。需求分析,数据建模,关系设计。编程programming:在数据库设计基础上,如何进行各种查询和计算操作。实现implementation:如何构建一个数据库管理系统DBMS。独立于特定应用。(不包括在本课程之内)
10、,1.4.1 设计,第2章 数据库建模 实体-联系数据模型 如何分析需求、对一个数据库进行建模。采用E/R图,主要概念是实体、属性和联系。第3章 关系数据模型 如何从E/R模型来设计一个关系数据库模式。主要概念是关系、属性、函数依赖、范式,1.4.2 编程,第章到章第4章 关系代数 在一个关系模型基础上,如何使用关系代数表示抽象的关系计算。主要的计算:投影、选择、笛卡尔积、连接等。第5章 数据库语言SQL 如何使用SQL语言来建立数据库并实现关系计算。以查询语句为重点,完成具体的关系运算。第6章 SQL约束和触发器如何用SQL实现各种约束条件,包括触发器。第7章 SQL系统特性如何用SQL事务保证数据完整性,如何通过用户授权和访问控制来保证数据库的安全性。,