1、第1章 数据库技术概述,计算机系,目 录,1.数据库技术的应用现状 2.数据库技术发展 3.数据库中的基本概念 4.数据库系统体系结构 5.数据库系统的特点 6.数据库技术应用前景 7.课程安排,1. .数据库技术的应用现状,数据库技术研究内容 应用现状,数据库技术研究如何科学地管理数据以便为人们提供可共享的、安全的、可靠的数据的技术。数据库技术一般包括数据管理和数据处理两部分内容。,应用领域也越来越广泛,数据库的应用形式日益多样。 小型事务处理 大型信息系统 联机事务处理 联机分析处理 一般企业管理到计算机辅助设计与制造(CAD/CAM) 地理信息系统 数据库技术已渗透到日常生活。 信用卡购
2、物 飞机、火车订票系统 图书馆对书籍及借阅的管理等,2.数据库技术发展,2.1 数据和数据管理技术 2.2 数据库系统发展的三个里程碑 2.3 数据库系统的三个发展阶段,2.1 数据和数据管理技术,数据:数据是载荷信息的媒体。表现形式:数字、字符、文字、图表、图形、图像、声音等。 数据管理技术:数据管理是指对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中心环节。 (1) 人工管理阶段(2)文件系统阶段(3) 数据库系统阶段,数据举例,学生档案中的学生记录 (李明,男,1972,江苏,计算机系,1990) 数据的形式不能完全表达其内容 数据的解释 语义:学生姓名、性别、出生年月、
3、籍贯、所在系别、入学时间 解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系 请给出另一个解释和语义,2.2 数据库系统发展的三个里程碑,IMS系统 DBTG报告 关系数据库系统,l969年美国IBM公司和Rockwell公司合作,研制成世界上第一个实用的数据库系统IMS(Information Management System),为阿波罗飞船于1969年顺利登月提供了重要保证。 IMS是一个DB/DC(Database/Data Communication)系统。它采用了以层次数据结构为基础的数据模型,即数据组织在逻辑上成树型结构。 IBM公司对IMS系统进行了改进,从而
4、使IMS系统获得广泛使用,并对数据库技术的发展产生了重要影响,成为层次模型数据库的典型代表。,1969年10月美国数据系统语言委员会(CODASYLConference On Data System Language)下属的数据库任务组(DBTGDatabase Task Group)提出了“数据库建议书”,由DBTG于1971年4月进行修改并发表,通常称这个经过修改的数据库建议书为“1971年DBTG报告”。 DBTG报告给出了网状数据库系统的方案,为建立网状数据库提供了完整的系统设计和语言规范。,系统完备的关系数据库理论的建立是从70年代开始的。1970年6月,IBM公司San Jose研
5、究所的E.F.Codd在美国计算机协会会刊“Communication of the ACM”上发表了题为“大型共享数据库的数据关系模型”(A Relational Model of Data for Shared Data Banks)的著名论文。在论文中首次全面论述了关系数据库的概念,提出了关系模型,引进了关系代数,推导了关系演算,阐述了数据间存在的函数相关性,概括了关系规范,从而在计算机科学中开创了研究关系数据库理论与方法的新领域。,2.3 数据库系统的三个发展阶段,第一代数据库系统 20世纪70年代,数据库系统以广为流行的网状型数据库和层次型数据库为代表 第二代数据库系统 20世纪80
6、年代出现了以关系数据库为代表的第二代数据库系统。新一代数据库系统 自20世纪80年代末,90年代初以来,开发新一代数据库技术成为数据库技术研究的热点课题。,3.数据库中的基本概念,数据库 数据库管理系统 数据库系统,数据库概念,数据库是长期存储在计算机系统内的一个通用化的、综合性的、有结构的、可共享的大量数据集合,具有较小的数据冗余度和较高的数据独立性、安全性和完整性。,数据库概念的说明,数据库是一个通用化、集成化的相关数据的集合 数据库应满足各种用户的不同需要 数据库的创建、运行和维护是在数据库管理系统控制下实现的,并可为各种用户共享。,二、数据库(举例),数据库(续),数据库的特征 数据按
7、一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高 易扩展,数据结构化,整体数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释。 数据可以变长。 数据的最小存取单位是数据项。,数据共享性,数据共享是指数据被多个用户所共用。数据共享是建立数据库最突出的优点。 文件系统中,文件通常是为某一应用目的而设计的,而数据库是一次建立为多次、多种应用而设计的。 多个用户可以通过一个智能化的接口即一个共同的存取方式共享数据库中的数据,而不必每个用户事先建立自己的数据文件,从而减轻了用户的负担,产生了专门生产和提供数据的“
8、厂家”,以及专门提供信息共享的信息检索系统和信息服务机构。 人们可以通过直接购买或租用数据库、依靠信息服务中心、通过地区或国际网络系统等方式共享信息,从而推动信息的交流和利用。,数据的高共享性的好处,降低数据的冗余度,节省存储空间 避免数据间的不一致性 使系统易于扩充,数据冗余度小,冗余是指相同的数据在某一存储空间中多次出现。 数据的冗余会妨碍数据的完整性,浪费存储空间,增加用户查找时间。 数据库系统使得数据独立于具体的应用程序,使相同的数据不必多处存储,从而减少了数据的冗余度。,冗余是不可避免的 为了提高检索速度,会在尽可能小的范围内保留部分冗余数据。,数据独立性,物理独立性 指用户的应用程
9、序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,数据的保存和移植,文件系统管理方式不便于数据的长期保留和移植,数据往往随着应用程序的删除而消亡,或由于计算机系统不同而对移植来的数据不能处理。 而数据库是独立于应用程序的,所以它可以长久保留数据,并可以储备多个副本,如存储在磁带上,特别是对过时的信息,可以进行追溯检索。 同时,由于数据库管理系统具有良好的独立性、灵活性和完整性,可以与数据库一起移植于不同的计算机系统中,构成新的数据库系统。更由于数据库生产
10、趋于专业化和规范化,促使数据库的应用越来越广泛,数据库管理系统,数据库管理系统(Database Management System,DBMS)是统一管理数据库的一种软件(属系统软件),它负责如下工作: 数据库中的数据组织。 数据库中的数据操纵。 控制及保护数据不受破坏。 数据库中的数据交换。 数据库中的数据服务。 数据字典。,DBMS的主要功能,数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象(数据类型 数据结构 对数据的约束条件) 数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改),DBMS的主要功能,数据库的运行管理保证数据的安全
11、性、完整性、多用户对数据的并发使用发生故障后的系统恢复 数据库的建立和维护功能(实用程序)数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等,数据的安全性(Security)保护 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。,并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。,数据库系统,数据库系统就是基于数
12、据库的计算机应用系统。 数据库系统一般包括四个部分:数据库、数据库管理系统、应用程序和系统管理员,数据库系统的组成,数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员 (用户),一、硬件平台及数据库,数据库系统对硬件资源的要求 (1) 足够大的内存 操作系统 DBMS的核心模块 数据缓冲区 应用程序,数据库系统对硬件资源的要求,(2) 足够大的外存磁盘 操作系统 DBMS 应用程序 数据库及其备份光盘、磁带、软盘 数据备份 (3) 较高的通道能力,提高数据传送率,二、软件,DBMS 操作系统 与数据库接口的高级语言及其编译系统 以DBMS为核心的应用开发工具 为特定应用环境开发的数
13、据库应用系统,三、人员,数据库管理员 系统分析员 数据库设计人员 应用程序员 (最终用户),监控数据库的使用和运行 周期性转储数据库 数据文件/日志文件 系统故障恢复 介质故障恢复 监视审计文件 数据库的改进和重组 性能监控和调优 数据重组 数据库重构,负责应用系统的需求分析和规范说明 与用户及DBA协商,确定系统的硬软件配置 参与数据库系统的概要设计,参加用户需求调查和系统分析 确定数据库中的数据 设计数据库各级模式,设计和编写应用系统的程序模块 进行调试和安装,偶然用户:企业或组织机构的高中级管理人员 简单用户:银行的职员、机票预定人员、旅馆总台服务员 复杂用户 工程师、科学家、经济学家、
14、科技工作者等 直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序,数据库系统组成,应用程序员,数据库举例,4.数据库系统体系结构,数据库系统内部的模式结构 从数据库管理系统角度看数据库系统外部的体系结构 从数据库最终用户角度看,数据库系统的模式结构,数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映象功能与数据独立性 小结,数据库系统模式的概念,“型” 和“值” 的概念 型(Type) 对某一类数据的结构和属性的说明 值(Value) 是型的一个具体赋值 例如:学生记录 记录型:(学号,姓名,性别,系别,年龄,籍贯) 该记录型的一个记录值:(9002
15、01,李明,男,计算机,22,江苏),数据库系统模式的概念(续),模式(Schema) 数据库逻辑结构和特征的描述 是型的描述 反映的是数据的结构及其联系 模式是相对稳定的 模式的一个实例(Instance) 模式的一个具体值 反映数据库某一时刻的状态 同一个模式可以有很多实例 实例随数据库中的数据的更新而变动,数据库系统的三级模式,(1)模式(Schema),模式(也称逻辑模式/概念模式) 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关模式的定义
16、数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系 数据有关的安全性、完整性要求,(2) 外模式(External Schema),外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,外模式(续),外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多 外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同 外模式与应用的关系:一对多 同
17、一外模式也可以为某一用户的多个应用系统所使用, 但一个应用程序只能使用一个外模式。,外模式(续),外模式的用途 保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式中的数据,(3)内模式(Internal Schema),内模式(也称存储模式) 是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定 一个数据库只有一个内模式,三级模式与二级映象,三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换,数据库
18、系统的三级模式结构,(1)外模式模式映象,定义外模式与模式之间的对应关系 每一个外模式都对应一个外模式模式映象 映象定义通常包含在各自外模式的描述中,外模式模式映象的用途,保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,(2)模式内模式映象,模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的 数据库中模式内模式映象是唯一的 该映象定义通常包含在模式描述中,模式内模式映象的用途,保证数据的物
19、理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,数据库原理、应用与设计之间的联系,小结,模式 是数据库的中心与关键 独立于数据库的其它层次 设计数据库模式结构时应首先确定数据库的逻辑模式,小结(续),内模式 依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。 它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。,小结(续),外模式 面向具体的应用程序,定义在逻辑模式之上,但独立于存储
20、模式和存储设备 设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,小结(续),应用程序 在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。 不同的应用程序有时可以共用同一个外模式。,小结(续),二级映象 保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。 数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。,4.数据库系统体系结构,数据库系统内部的模式结构 从数据库管理系统角度看数据库系统外部的体系结构 从数据
21、库最终用户角度看,数据库系统外部的体系结构,单用户结构 主从式结构 分布式结构 客户/服务器结构 浏览器/应用服务器/数据库服务器结构,(1) 单用户数据库系统,整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统,(2) 主从式结构的数据库系统,一个主机带多个终端的多用户结构 数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成 各个用户通过主机的终端并发地存取数据库,共享数据资源,主从式结构的数据库系统,主机,终端,主从式结构的数据库系统(续),优点 易于管理、控制与维护。 缺点
22、当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。 系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。,(3) 分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。 网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用 同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,分布式结构的数据库系统(续),优点 适应了地理上分散的公司、团体和组织对于数据库应用的需求。 缺点 数据的分布存放给数据的处理、管理与维护带来困难。 当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,(
23、4)客户服务器结构的数据库系统,把DBMS功能和应用分开 网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器 其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机,客户服务器数据库系统的种类,集中的服务器结构一台数据库服务器,多台客户机 分布的服务器结构 在网络中有多台数据库服务器 分布的服务器结构是客户服务器与分布式数据库的结合,客户服务器结构的优点,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量 数据库更加开放 客户与服务器一般都能在多种不同的硬件和软件平台上运行 可以使用
24、不同厂商的数据库应用开发工具,客户服务器结构的缺点,“胖客户”问题: 系统安装复杂,工作量大。 应用维护困难,难于保密,造成安全性差。 相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。 系统规模达到数百数千台客户机,它们的硬件配置、 操作系统又常常不同,要为每一个客户机安装应用程 序和相应的工具模块,其安装维护代价便不可接受了。,浏览器/应用服务器/数据库服务器结构,客户端:浏览器软件、用户界面浏览器的界面统一,广大用户容易掌握大大减少了培训时间与费用。 服务器端分为两部分: Web服务器、应用服务器 数据库服务器等 大大减少了系统开发和维护代价 能够支持数万甚至更多的用户,嵌入式数据管理系统的结构,5.数据库系统的特点,实现数据的集中化控制 数据的冗余度小 采用一定的数据模型实现数据结构化 避免了数据的不一致性 实现数据共享 提供数据库保护 数据独立性 数据由DBMS统一管理和控制,6.数据库技术应用前景,7.课程安排,内容安排 教材及参考书,