1,数据库技术与应用,北京邮电大学计算机学院 肖达,2,Database Technology and Its Application,第一章 绪论,1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 小结,3,Database Technology and Its Application,1.3 数据库系统结构,从数据库最终用户角度看(数据库系统外部的体系结构),数据库系统的结构分为:单用户结构主从式结构分布式结构客户服务器浏览器应用服务器数据库服务器多层结构等从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构,4,Database Technology and Its Application,DBS的四种体系结构,5,Database Technology and Its Application,单用户数据库系统,整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统,PC,数据库,数据库管理系统(DBMS),应用程序,6,Database Technology and Its Application,主从式结构的数据库系统,一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由 主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源,7,Database Technology and Its Application,主从式结构的数据库系统,8,Database Technology and Its Application,主从式结构的数据库系统(续),优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。,9,Database Technology and Its Application,分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用例子:中国工商银行(ICBC)数据库,10,Database Technology and Its Application,分布式结构的数据库系统(续),优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,11,Database Technology and Its Application,客户服务器结构的数据库系统,把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机Sybase公司最先提出例子:票务系统,12,Database Technology and Its Application,客户服务器数据库系统的种类,集中的服务器结构 一台数据库服务器,多台客户机分布的服务器结构在网络中有多台数据库服务器分布的服务器结构是客户服务器与分布式数据库的结合,13,Database Technology and Its Application,集中式C/S结构数据库系统,14,Database Technology and Its Application,分布式C/S结构数据库系统,应用程序,PC,PC,PC,PC,服务器群,15,Database Technology and Its Application,客户服务器结构的优点,数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具易于扩展和共享,16,Database Technology and Its Application,客户服务器结构的缺点,“胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。,17,Database Technology and Its Application,浏览器/应用服务器/数据库的系统结构,客户端:浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握 大大减少了培训时间与费用。服务器端分为两部分:Web服务器、应用服务器数据库服务器等 大大减少了系统开发和维护代价,能够支持数万甚至更多的用户.,18,Database Technology and Its Application,分布式B/S结构数据库系统,浏览器程序,PC,PC,PC,PC,服务器群,WWW服务器,19,Database Technology and Its Application,数据库系统结构,1.3.1 数据库系统模式的概念 1.3.2 数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性,20,Database Technology and Its Application,数据库系统模式的概念,模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动,21,Database Technology and Its Application,1.3.1 数据库系统模式的概念,“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如学生记录型:(学号,姓名,性别,系别,年龄,籍贯)一个记录值:(900201,李明,男,计算机,22,江苏),22,Database Technology and Its Application,数据库系统模式的概念(续),例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录 2003年的一个学生数据库实例,包含:2003年学校中所有学生的记录学校开设的所有课程的记录所有学生选课的记录 2002年度学生数据库模式对应的实例与2003年度学生数据库模式对应的实例是不同的,23,Database Technology and Its Application,数据库系统结构(续),1.3.1 数据库系统模式的概念 1.3.2 数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性,24,Database Technology and Its Application,1.3.2 数据库系统的三级模式结构,模式(Schema)外模式(External Schema)内模式(Internal Schema),25,Database Technology and Its Application,数据库系统的三级模式结构(续),图1.28 数据库系统的三级模式结构,26,Database Technology and Its Application,一、模式(Schema),模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关,模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求,27,Database Technology and Its Application,二、外模式(External Schema),外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,28,Database Technology and Its Application,外模式(续),外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式,外模式的用途保证数据库安全性的一个有力措施每个用户只能看见和访问所对应的外模式中的数据,29,Database Technology and Its Application,三、内模式(Internal Schema),内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式,30,Database Technology and Its Application,内模式(续),例如学生记录,如果按堆存储,则插入一条新记录总是放在学生记录存储的最后,如右图所示,31,Database Technology and Its Application,内模式(续),如果按学号升序存储,则插入一条记录就要找到它应在的位置插入,如图1.29(b)所示如果按照学生年龄聚簇存放,假如新插入的S3是16岁,则应插入的位置如图1.29(c)所示,图1.29 记录不同的存储方式示意图,32,Database Technology and Its Application,数据库系统的三级模式结构(续),图1.28 数据库系统的三级模式结构,33,Database Technology and Its Application,数据库系统的三级模式结构(续),34,Database Technology and Its Application,数据库系统结构(续),1.3.1 数据库系统模式的概念 1.3.2 数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性,35,Database Technology and Its Application,1.3.3 数据库的二级映像功能与数据独立性,三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式模式映像模式内模式映像,36,Database Technology and Its Application,37,Database Technology and Its Application,一、外模式模式映象,模式:描述的是数据的全局逻辑结构外模式:描述的是数据的局部逻辑结构 同一个模式可以有任意多个外模式 每一个外模式,数据库系统都有一个外模式模式映象,定义外模式与模式之间的对应关系映象定义通常包含在各自外模式的描述中,38,Database Technology and Its Application,外模式模式映象(续),保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,39,Database Technology and Its Application,二、模式内模式映象,