AnIntroductiontoDatabaseSystems第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5数据库技术的研究领域1.6小结AnIntroductiontoDatabaseSystems1.3数据库系统结构最终用户DBA/应用设计人员设计开发人员数据库系统(外部的)体系结构数据库系统内部的模式结构数据库系统(内部的)体系结构AnIntroductiontoDatabaseSystems1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结AnIntroductiontoDatabaseSystems数据库系统模式的概念“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)AnIntroductiontoDatabaseSystems数据库系统模式的概念(续)模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的模式的一个实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动AnIntroductiontoDatabaseSystems1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结AnIntroductiontoDatabaseSystems数据库系统的三级模式结构应用A应用B应用C应用D应用E外模式1外模式2外模式3外模式/模式映象模式模式/内模式映象内模式数据库AnIntroductiontoDatabaseSystems1.模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求AnIntroductiontoDatabaseSystems2.外模式(ExternalSchema)外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示AnIntroductiontoDatabaseSystems外模式(续)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。AnIntroductiontoDatabaseSystems外模式(续)外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据AnIntroductiontoDatabaseSystems3.内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式AnIntroductiontoDatabaseSystems1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结AnIntroductiontoDatabaseSystems三级模式与二级映象三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换AnIntroductiontoDatabaseSystems数据库系统的三级模式结构应用A应用B应用C应用D应用E外模式1外模式2外模式3外模式/模式映象模式模式/内模式映象内模式数据库AnIntroductiontoDatabaseSystems1.外模式/模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式/模式映象映象定义通常包含在各自外模式的描述中AnIntroductiontoDatabaseSystems外模式/模式映象的用途保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。AnIntroductiontoDatabaseSystems2.模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中AnIntroductiontoDatabaseSystems模式/内模式映象的用途保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。AnIntroductiontoDatabaseSystems1.3.1数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结AnIntroductiontoDatabaseSystems小结模式是数据库的中心与关键独立于数据库的其它层次设计数据库模式结构时应首先确定数据库的逻辑模式AnIntroductiontoDatabaseSystems小结(续)内模式依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。AnIntroductiontoDatabaseSystems小结(续)外模式面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动AnIntroductiontoDatabaseSystems小结(续)应用程序在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。AnIntroductiontoDatabaseSystems小结(续)二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。AnIntroductiontoDatabaseSystems1.3数据库系统结构1.3.1数据库系统内部的模式结构从数据库管理系统角度看1.3.2数据库系统外部的体系结构从数据库最终用户角度看AnIntroductiontoDatabaseSystems1.3.2数据库系统外部的体系结构单用户结构主从式结构分布式结构客户/服务器结构浏览器/应用服务器/数据库服务器结构AnIntroductiontoDatabaseSystems1.单用户数据库系统整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统AnIntroductiontoDatabaseSystems2.主从式结构的数据库系统一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源AnIntroductiontoDatabaseSystems主从式结构的数据库系统主机终端AnIntroductiontoDatabaseSystems主从式结构的数据库系统(续)优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。AnIntroductiontoDatabaseSystems3.分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用AnIntroductiontoDatabaseSystems分布式结构的数据库系统(续)优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。AnIntroductiontoDatabaseSystems4.客户/服务器结构的数据库系统把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机AnIntroductiontoDatabaseSystems客户/服务器数据库系统的种类集中的服务器结构一台数据库服务器,多台客户机分布的服务器结构在网络中有多台数据库服务器分布的服务器结构是客户/服务器与分布式数据库的结合AnIntroductiontoDatabaseSystems客户/服务器结构的优点客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具AnIntroductiontoDatabaseSystems客户/服务器结构的缺点“胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。AnIntroductiontoDatabaseSystems浏览器/应用服务器/数据库服务器结构客户端:浏览器软件、用户界面浏览器的界面统一,广大用户容易掌握大大减少了培训时间与费用。服务器端分为两部分:Web服务器、应用服务器数据库服务器等大大减少了系统开发和维护代价能够支持数万甚至更多的用户AnIntroductiontoDatabaseSystems第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5数据库技术的研究领域1.6小结AnIntroductiontoDatabaseSystems1.4数据库系统的组成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(用户)AnIntroductiontoDatabaseSystems一、硬件平台及数据库数据库系统对硬件资源的要求(1)足够大的内存操作系统DBMS的核心模块数据缓冲区应用程序AnI