东南大学数据库技术第一章.ppt
《东南大学数据库技术第一章.ppt》由会员分享,可在线阅读,更多相关《东南大学数据库技术第一章.ppt(34页珍藏版)》请在装配图网上搜索。
数据库技术,主讲人:黄超经济管理学院电子商务系E-MAIL:huangchao电话:13814069012,课程教材数据库教程施伯乐丁宝康杨卫东编著,电子工业出版社课程参考书数据库系统简明教程王珊著,高等教育出版社数据库系统概念AbrahamSilberschatz,HenryF.Korth等著,杨冬青唐世渭等译,机械工业出版社上机时间安排成绩考核平时作业(15%)+考勤(15%)+期末考试(70%),第一章数据库基本概念,第一节数据管理技术的发展,人工管理阶段(20世纪50年代中期以前)主要特点数据不保存在计算机内;不使用专用软件管理数据;数据的组织方式由程序员自行决定;数据不具备独立性,与程序一一对应(如下图);,第一节数据管理技术的发展,文件系统阶段(20世纪50-60年代后期)主要特点数据以文件形式保存在外部存储器上;数据的逻辑结构与物理结构独立,由应用程序和操作系统完成两者间的映射;文件和程序间存在一一对应的关系,程序必须操作数据的物理表示细节;文件组织、形式多样化,文件间缺乏联系,由程序负责数据间的关联;文件组织的主要缺点在于数据冗余、数据的不一致和数据间联系太弱。(见P3例1.1),第一节数据管理技术的发展,数据库系统阶段(20世纪50-60年代后期)出现的背景:需求:随着数据管理规模的扩大,数据量剧增,多个应用共享数据的要求越来越强烈;硬件状况:出现大容量磁盘,硬件价格持续下降;软件状况:软件价格上升,软件维护成本增加。为满足多应用共享数据的需求,出现了专门的数据管理软件系统数据库管理系统(DBMS)。主要特点采用复杂的数据模型,用于描述数据本身的结构以及数据间的联系,这是数据库系统与文件系统的本质区别,因此数据能够面向整个应用系统,而非单一的应用;,第一节数据管理技术的发展,数据的逻辑结构与物理结构独立性高,用户使用简单的逻辑结构对数据进行操作,不关心数据的物理存储方式,简化了应用程序的开发和维护;数据库管理系统提供数据安全性、完整性、并发、恢复等数据控制功能,同时为用户提供了统一的访问接口,用于对数据进行各种操作。,第一节数据管理技术的发展,第一节数据管理技术的发展,数据库系统基本术语数据:描述事物的符号记录,具有广义性、语义性、结构性等特征数据库:是长期存储在计算机内、有组织、可共享、统一管理的相关数据集合。数据库管理系统:位于用户和操作系统之间的数据管理软件,主要功能包括数据定义(定义表、索引等对象)、数据操纵(查询、插入、删除等操作)以及数据控制(安全性、完整性、并发、恢复等)。数据库系统:采用了数据库技术的计算机系统,包括数据库、数据库管理系统、应用系统、数据库管理员、用户等,在不引起混淆的情况下简称为数据库。,第二节数据描述,什么是数据描述数据描述是指如何对数据进行表示,包括概念描述、逻辑描述和物理描述三个层次。概念描述概念描述是对现实世界中的客观事物进行描述,常用到以下几个基本术语:实体:客观存在并可相互区分的事物。可以是具体的事物,也可以是抽象的概念或联系;属性:实体具有的某一特征,一个实体可以由若干个属性来刻画;实体集:同类实体的集合,如全体学生构成实体集。,第二节数据描述,实体标识符:唯一标识实体的属性或属性集合,也称为“键”,例如身份证号、学号等;联系:现实世界中事物内部和事物之间的联系反映到信息世界,就成了实体内部各属性之间以及实体之间的联系。两个实体之间的联系有三类:,一对一联系(1:1)对于实体集A中的每个实体,实体集B中至多有一个实体与之联系,反之亦然。,第二节数据描述,一对多联系(1:n)对于实体集A中的每个实体,实体集B中有多个实体与之联系;反之,对于实体集B中的每个实体,实体集A中至多有一个实体与之联系。,多对多联系(m:n)对于实体集A中的每个实体,实体集B中有多个实体与之联系;反之,对于实体集B中的每个实体,实体集A中也有多个实体与之联系。,第二节数据描述,逻辑描述逻辑描述是对数据的逻辑结构进行表示,常用术语包括:字段:标记实体属性,也称数据项,是数据库中的最小操作单位;记录:字段的有序集合为记录,一般一条记录用于描述一个实体的相关属性集合;文件:由同一类记录组成的集合称为文件,文件用于描述实体集;关键字:惟一标识每条记录的字段或字段集合。物理描述物理描述是对数据在存储设备上的存储方式进行表示,包括物理联系、物理结构等存储细节。,第三节数据抽象级别,数据库中的数据模型用来描述数据库结构和语义(操作和约束)的工具,从而对现实世界进行抽象。数据模型的三要素数据结构:描述系统的静态特性,包括与数据类型有关的对象(如数据项、记录、表等),以及与数据间的联系有关的对象,如表示各种约束的对象;数据操作:描述系统的动态特性,是各种操作的集合,主要有检索和更新两大类操作。数据模型必须定义这些操作的确切含义、操作规则和实现语言等。完整性约束:是一组完整性约束规则的集合,用来保证数据库中数据的正确性和一致性。数据模型包括四种:概念模型、逻辑模型、外部模型和内部模型。,第三节数据抽象级别,概念模型表达用户需求观点的数据库全局逻辑结构模型;概念模型按用户的观点描述客观世界的信息,不涉及这些信息在计算机系统中的物理实现;概念模型是数据库设计人员与用户之间进行交流的工具,目前常用的是实体关系模型(ER模型)。,第三节数据抽象级别,逻辑模型表达计算机实现观点的数据库全局逻辑结构模型;逻辑模型从数据库实现的观点出发对数据建模,独立于硬件实现,但是依赖于软件实现;逻辑模型是数据库设计人员与应用程序员之间进行交流的工具,目前常用的包括层次模型、网状模型、关系模型和对象模型等。上页中的的ER图可以转换为如下关系模型:学生表(学号#,性别,姓名)教师表(编号#,性别,姓名)课程表(课程号#,课程名,编号#)课程成绩(学号#,课程号#,分数),第三节数据抽象级别,外部模型表达用户使用观点的数据库局部逻辑结构模型;外部模式是用户与数据库系统的接口,是用户用到的那一部分数据的描述;内部模型表达数据库物理结构的模型称为内部模型;内部模型描述数据在磁盘或磁带上的存储方式(文件的结构)、存储设备(外存的分配)和存取方法(如索引结构)等;内部模型与软硬件紧密相关,并与操作系统关系密切。,第三节数据抽象级别,第三节数据抽象级别,数据抽象过程即数据库设计过程,一般遵循如下步骤:(1)根据用户需求,设计数据库的概念模型;(2)根据转换规则,把概念模型转换为逻辑模型;(3)根据业务需要,设计不同的外部模式,满足不同用户对数据操作的要求;(4)根据逻辑要求和业务要求,实现数据库的内部模型。其中(1)称为概念设计,(2)与(3)称为逻辑设计,(4)称为物理设计。,第三节数据抽象级别,数据库的三层次结构和数据独立性现有的DBMS都采用三级模式结构(即外部模式、逻辑模式和内部模式),提供两级映象功能,从而保证了数据的物理独立性和逻辑独立性。物理独立性:当数据库的内模式修改时,即物理结构发生变化时,仅需要改变逻辑模式/内模式间的映射方法即可,逻辑模式可以保持尽量不变。逻辑独立性:当数据库的逻辑模式发生变化时,如改变记录的结构,仅需要改变外模式/逻辑模式间的映射方法,从而保持外模式和应用程序尽量不变。,第四节数据库管理系统,数据库管理系统(DBMS)的主要功能数据定义:定义数据库的三级模式、映象、约束条件等;数据操纵:对数据进行查询、插入、修改、删除等;运行管理:提供并发控制、安全性检查、完整性检查、内部维护(如索引、数据字典的自动维护)等;数据组织、存储和管理:数据库通常包含系统数据(如数据字典)和用户数据两大类,DBMS负责用不同的文件结构和存取方式分别组织、存储和管理这些数据,以优化系统性能;数据库的建立和维护:数据库初始数据的载入、转换、转存储等,以及数据库系统性能的监控;数据通信接口:提供与其他软件系统进行通信的功能;,第四节数据库管理系统,数据库管理系统(DBMS)的组成数据定义语言(DDL)及其翻译处理程序:定义数据库的三级模式、映象、约束条件等,翻译成内部形式存入数据字典;数据操纵语言(DML)及其编译程序:包括宿主型DML(必须嵌入C等主语言才能执行)和自主型DML(交互式的命令语言、可单独使用);数据库运行控制程序:监视数据库的所有操作,包括并发控制、安全检查、完整性检查、事务管理、日志管理等;实用程序:用来完成数据库的建立、维护、格式转换、通信等任务,包括数据初始装入程序、数据转储程序、数据库恢复程序等。,第四节数据库管理系统,数据库管理系统(DBMS)的工作模式通用流程:DBMS接受用户的数据请求,将其转换为低级指令,对数据库进行各种访问操作,并将操作的结果返回给用户。流程举例(以读数据为例)见下页图,第四节数据库管理系统,3.DBMS调入模式,按子模式/模式映象,确定要读的逻辑记录,4.DBMS调入内模式,按模式/内模式映象,确定要读的物理记录,5.DBMS向OS发出读取所需物理记录的命令,6.OS执行读数据的有关操作,7.OS将数据从数据库存储区送到系统缓冲区,8.DBMS按照子模式/模式映象,导出应用程序A所需的数据记录,9.DBMS将数据记录从系统缓冲区送到应用程序A的用户工作区,10.DBMS向应用程序A返回反映命令执行情况的状态信息,系统缓冲区,数据库,DBMS,外模式A,内模式,逻辑模式,外模式X,用户A,用户X,1,2,3,4,5,7,9,10,1.应用程序A向DBMS发出读数据命令,2.DBMS进行语法语义检查、调入对应子模式、检查权限,第四节数据库管理系统,DBMS的实现细节DBMS建立在OS之上,调用OS的功能实现;而数据库应用程序则建立在DBMS之上,调用DBMS的功能实现。根据应用程序调用DBMS的方式,可将DBMS的实现方法分为四类:N方案:DBMS与应用程序融为一体;2N方案:一个DBMS进程对应一个应用程序进程;M+N方案:2N方案的改进;N+1方案:整个系统只有一个DBMS进程;,第四节数据库管理系统,N方案DBMS与应用程序融为一体,DBMS被设计成一组静态库函数,应用程序和DBMS模块之间事先进行静态连接。N个应用程序的系统有N个进程。,优点:简单,不用考虑AP与DBMS的通信问题;缺点:各AP进程的代码段无法共享,内存保留了DBMS代码的多个副本,浪费内存,难以忍受。,第四节数据库管理系统,2N方案一个DBMS进程对应一个应用程序进程,每个应用程序都有一个DBMS进程(影子进程)为之服务,另外还有若干后台进程,负责读写数据库、监控、写日志等,内存中只有一个DBMS代码副本。N个应用程序的系统大约2N个进程。,优点:实现了DBMS代码段的多应用程序共享;缺点:各进程的数据段和堆栈段仍是独立的,内存需求依然很大;各进程之间的通信开销很大;,第四节数据库管理系统,M+N方案2N方案的改进,用M个DBMS进程为N个应用程序进程服务(MN),由专门的分派进程负责DBMS进程的调度,优点:减少了进程总数,提高了内存利用率,减少了通信开销(相对于2N方案);缺点:并没有克服2N方案的本质弱点(各进程的数据段和堆栈段仍是独立的,内存需求依然很大)。,第四节数据库管理系统,N+1方案整个系统只有一个DBMS进程,多个应用程序进程向其发服务请求消息,插入DBMS进程的消息队列,DBMS进程从消息队列取请求消息、执行并返回结果。,优点:N+1方案是各种方案中较优的;缺点:实现起来比较复杂、消息通信机制开销较大。,第五节数据库系统,数据库系统的组成数据库:由物理数据库(业务数据库)和描述数据库(数据字典)组成;硬件:中央处理器、内存、外存等,数据库系统一般对系统要求较高(参见实例图);软件:操作系统、DBMS、宿主语言(如C语言)以及开发平台(如VisualBasic等);数据库管理员(DBA)DBA负责全面管理和控制数据库系统,主要职责为:设计和定义数据库系统、帮助最终用户使用数据库、监督与控制数据库系统的使用和运行、改进和重组数据库系统,优化数据库系统的性能、数据库转储与恢复、数据库重构。,第五节数据库系统,国内某特大型企业数据库服务器,第五节数据库系统,DBS的全局结构(参见图1.21)数据库用户DBA、专业用户、应用程序员和终端用户;查询处理器DDL编译器、DML编译器、嵌入式DML预编译器和查询求值引擎;存储管理器权限和完整性管理器、事务管理器、文件管理器和缓冲区管理器;磁盘存储器中的数据数据文件、数据字典、索引、统计数据和日志;,第五节数据库系统,数据库应用程序交互式SQL语言:直接明了,但是不适合普通用户,并且数据库安全无保障;主语言+嵌入式SQL:使用高级语言(如C语言)嵌套SQL语言,此时程序与DBMS密切相关;主语言+ODBC函数+嵌入式SQL:使用高级语言(如C语言),通过通用的ODBC函数和嵌入式SQL,对数据库进行访问,保证了DBMS的独立性;第四代语言+嵌入式SQL:使用可视化的开发平台,是目前的主流。,习题,习题1:与文件结构相比,数据库结构有些什么不同?习题2:什么是数据库的三级模式结构和两级映象?这样设计数据库体系的好处是什么?习题3:试用语言描述图1.21中,DBS的各组成部分分别具有什么功能?,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 数据库技术 第一章
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文