1、1,第1章 数据库技术概论,本章主要讲解: 数据库技术的发展 数据库常用术语 数据库系统三级模式结构 数据库系统的分类,2,数据库技术的发展是根据数据模型的发展来划分的。按照数据模型来划分,数据库技术的发展可分为三代:第一代的层次、网状数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。,1.1 数据库技术的发展,3,第一代:层次、网状数据库系统 (1) 层次数据库系统 1969年IBM公司研制出基于层次模型的IMS(Information Management System),标志数据库技术的诞生,同时也标志了层次模型的诞生。 现实世界中很多事物是按层次组织起来
2、的。层次数据模型的提出,是为了模拟这种按层次组织起来的事物。,1.1 数据库技术的发展,4,(2) 网状数据库系统 1971年,美国数据系统语言协会(Conference on Data System Language, 简写为CODASL)组织发布了DBTG报告。该报告中提出了网状数据模型的观念,并对网状数据模型和语言进行了定义 。这个模型也称为DBTG模型。 在20世纪70年代,曾经出现过大量的网状数据库管理系统。比较著名的有Cullinet公司的IDMS、Honeywell公司的IDSII、Univac公司的DMS1100、HP公司的IMAGE等。,1.1 数据库技术的发展,5,网状数据
3、模型对于层次和非层次结构的事物都能比较自然的模拟。在关系数据库管理系统出现之前,网状数据库管理系统要比层次数据库管理系统用得普遍。在20世纪70年代,曾经出现过大量的网状数据库管理系统,如IDMS、IDSII、DMS1100、IMAGE等。在数据库技术的发展史上,网状数据库占有重要地位。,1.1 数据库技术的发展,6,第二代:关系数据库系统 1970年,IBM公司职员E.F.Codd发表了题为“大型共享数据库数据的关系模型”的论文,提出了数据库的关系模型,为关系数据库技术奠定了理论基础,为此获得了1981年的ACM图灵奖。 关系模型建立在数学中“关系”的基础上,有坚实的关系代数作基础。对用户而
4、言,关系数据库就是一组二维表。这种直观明了的数据组织形式,又具有坚实的数学理论基础,很快就得以推广使用。,1.1 数据库技术的发展,7,在20世纪70年代末IBM公司的San Jose实验室在IBM 370系列机上研制出关系数据库实验系统System R,获得成功,从而证明了关系数据模型能够在计算机上实现。 20世纪80年代关系数据库迅速得到最广泛的应用。到目前为止,数据库技术的研究与应用绝大多数以关系数据库为基础。 目前最典型的关系数据库管理系统有MS SQL Server、Oracle、DB2、MySql等。,1.1 数据库技术的发展,8,1.1 数据库技术的发展,第三代:以面向对象模型为
5、主要特征的数据库系统,从20世纪80年代以来,由于数据库技术自身的发展以及与相关技术的有机给合,衍生出了一系列新型的数据库系统,统称为第三代数据库系统。 第三代数据库系统的一个共同特点是支持面向对象模型,因此第三代数据库系统又称为以面向对象模型为主要特征的数据库系统。,9,1.1 数据库技术的发展,与传统数据库系统相比,当今新型数据库系统都继承了传统数据库的理论和技术,但又不是传统的数据库;在整体概念、技术内容、应用领域,甚至基本原理都有了重大的发展和变化,从而成为当今数据库大家族的重要成员;而传统数据库在理论和技术上发展得最为成熟、应用效果最好、应用面最广泛,其核心技术、基本原理、设计方法和
6、应用经验等仍然是整个数据库技术发展和应用的基础。,10,1.1 数据库技术的发展,第三代数据库系统类型很多,如 分布式数据库 多媒体数据库 工程数据库 空间数据库 实时数据库,11,1.2 数据库系统基础,1.2.1 常用术语,1. 数据模型 数据模型(Data Module)是数据库结构的基础,是用来描述数据的一组概念和定义。数据模型有三要素:数据结构、数据操作、数据约束条件。 (1)数据结构 是所研究的对象类型的集合,是对系统静态特性的描述。 (2)数据操作 对数据库中各种对象(型)的实例(值)允许执行的操作的集合,操作及操作规则。如操作有检索、插入、删除、修改,操作规则有优先级别等。数据
7、操作对系统动态特性的描述 。,12,(3)数据约束条件 一组完整性规则的集合。也就是说,对于具体的应用必须遵循特定的语义约束条件,以保证数据的正确、有效和相容。例如,学生信息中,要求性别只能取“男”或“女”,分数只能取0100之间的数值等,这些要求可以通过建立数据的约束条件来实现。,1.2.1 常用术语,13,1.2.1 常用术语,2. 数据库(Database ,简写DB),数据库:指长期存储在计算机内的有结构、可共享的相关数据的集合。即数据库中的数据是按照一定的数据模型组织、描述和存储,具有较小的数据冗余,较高的数据独立性和易扩充性,并可为各用户共享。,14,1.2.1 常用术语,3. 数
8、据库管理系统,数据库管理系统(DataBase Management System,DBMS)是指数据库系统中对数据库进行管理的软件系统。它是数据库系统的核心组成部分,数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。 DBMS是在操作系统支持下运行的系统软件,借助于操作系统实现对数据的存储和管理,使数据能被各种不同的用户所共享,保证用户得到的数据是完整的、可靠的。它与用户之间的接口称为用户接口,DBMS提供给用户可使用的数据库语言。,15,1.2.1 常用术语,DBMS的功能: (1) 数据定义功能。DBMS提供数据定义语言(Data Definition La
9、nguage, DDL),用户使用它来描述数据库中的数据对象。例如:CREATE TABLE S(学号 CHAR(5), .) (2) 数据操纵功能。DBMS提供数据操纵语言(Data Manipulation Language, DML),用户使用它来完成对数据库的基本操作:插入、删除、修改、查询等。,16,1.2.1 常用术语,(3) 数据库运行管理。这是DBMS运行时的核心部分,包括并发控制、数据库安全性控制、数据库完整性控制,数据库恢复,系统缓冲区管理、数据存储的某些自适应调节控制等等。 (4) 数据库的建立和维护功能。包括:数据库初始数据的载入、转换功能,数据库转储与恢复功能,数据库
10、的重组织功能和性能检测、分析功能等等。这些功能通常是有一些实用程序完成。不同的DBMS系统,功能可能有所区别,通常大型系统功能较强较全。,17,1.2.1 常用术语,常用的DBMS有: FoxPro、Access、Oracle、Sybase、 Microsoft SQL Server、IBM DB2、Ingres、 Informix、My SQL(PHP使用)等等。,18,1.2.1 常用术语,根据数据库管理系统的类型,数据库可以分成两类:桌面型数据库和网络数据库。 (1)桌面型数据库Access、Foxpro等数据库管理系统创建的数据库被称为桌面型数据库,其主要特点是: 主要运行在个人计算机
11、上,操作系统通常为桌面型操作系统,如Windows XP等。 没有或只提供有限的网络应用功能。 提供功能较弱的数据库管理工具和功能较强的前端开发工具。 管理简单,使用方便。 主要应用于小型的数据库系统,满足日常小型办公需要。,19,1.2.1 常用术语,桌面型数据库并不是不能应用于网络环境。对于并发用户数不多和安全性能要求不高的场合,使用桌面型数据库就可以体现出管理简单、使用方便的优势。目前,许多小型的Web站点背后的数据库就是Access。 (2)网络数据库 运行在网络操作系统之上,如Windows 2000 Server、UNIX、Linux Server等。 具有强大的网络功能和分布式功
12、能,可以根据具体的情况组合成各种模式。 一般来说,数据库系统管理工具、前端开发工具和后台数据库是可以分离的。 技术先进,功能强大。 具有完备的数据库安全性。,20,1.2.1 常用术语,4. 应用程序 利用DBMS和各种开发工具开发的、满足特定应用环境的数据库应用系统软件。5. 数据库系统相关人员 数据库系统相关人员是数据库系统的重要组成部分,有三类人员:数据库管理员、应用程序开发人员和最终用户。,21,1.2.1 常用术语, 数据库管理员 负责数据库的建立、使用和维护的专门人员。 应用程序开发人员 开发数据库应用程序的人员,可以使用数据库管理系统的所有功能。 最终用户 一般来说,最终用户是通
13、过应用程序使用数据库的人员。最终用户无需自己编写应用程序。,22,1.2.1 常用术语,6. 数据库系统(Database System, 简写为 DBS) 数据库系统是指采用了数据库技术的计算机系统。通常由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。一般在不会引起混淆时,常常把数据库系统、数据库管理系统简称为数据库。数据库系统各组成部分的关系见下图。,23,1.2.1 常用术语,数据库系统,24,1.2.2 数据库三级模式,目前世界上有大量的数据库系统正在运行,其类型和规模可能相差很大,但其体系结构却是大体相同的。一般都遵循美国国家标准委员会(ANSI)下属的标准计划和要求委员
14、会(Standards Planning And Requirements Committee,简称SPARC)于1978年提出的一个有关数据库标准的报告,简称为SPARC报告。该报告指出,数据库系统应具有三级模式的结构,数据库系统是由外模式、模式和内模式三级构成。如下图所示。,25,1.2.2 数据库三级模式,26,1.2.2 数据库三级模式,1外模式 外模式,又称子模式,是用户级数据库,最接近于用户的一级数据库,是用户看到和使用的数据库,又称用户视图。一个数据库可有多个不同的用户视图,每个用户视图由数据库的某一部分抽象表示所组成。 外模式是保证数据库安全性的一个有力措施,每个用户只能看见和
15、访问所对应外模式中的数据,数据库中的其余数据是不可见的。,27,1.2.2 数据库三级模式,2概念模式 概念模式是概念级数据库,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员看到和使用的数据库,又称为DBA视图。一个数据库系统只存在一个DBA视图,把数据库作为一个整体的抽象表示。 概念级模式把用户视图有机地结合成一个整体,综合平衡考虑所有用户要求,实现数据的一致性、最大限度降低数据冗余、准确地反映数据间的联系。,28,1.2.2 数据库三级模式,3内模式 内模式又称为存储模式,是物理级数据库,这是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图
16、。由内部记录组成。一个数据库只有一个内模式。,数据库的三级模式仅仅是对数据的描述,而数据实际上只存在于物理层。物理级数据库并不是真正的物理存储,而是最接近于物理存储的级。,29,1.2.2 数据库三级模式,数据库三级体系结构是数据的3个抽象级别,它把数据的具体组织留给DBMS去做,将用户与物理数据库分开,用户只要抽象地处理数据,而不需要关心数据在计算机中的表示和存储,这样减轻了用户使用的负担。,为了能够在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两级映像。,30,1.2.2 数据库三级模式, 外模式模式映像 对应于同一个模式可以有任意多个外模式。对于每一个外
17、模式,数据库系统都有一个外模式模式映像,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性。 模式内模式映像 数据库中只有一个模式,也只有一个内模式,所以模式内模式映像是惟一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性。,31,12.2 数据库三级模式,在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数
18、据库的其他层次。因此,涉及数据库模式结构时应首先确定数据库的逻辑结构。,32,1.3 数据库应用程序,两种模式:客户机/服务器模式浏览器/服务器模式 1客户机/服务器模式 Client/Server,简称C/S,例如:Outlook ExpressQQ大智慧股票软件 应用:基于行业的数据库应用系统,33,1.3 数据库应用程序,2浏览器/服务器模式 Browser/Server,简称B/S,例如:IE收到邮件新浪上查看股票信息 Internet上的购物系统、订票系统 应用:特别适合非特定的用户,34,1.3 数据库应用程序,两种模式比较各有其优缺点B/S模式可以认为是C/S模式的一种特例 C/
19、S模式缺点:C/S模式维护、升级烦琐优点:响应速度快,功能完善 B/S模式 缺点:响应速度慢,功能不是很完善。 优点:维护、升级简单,35,1.4 数据库系统开发技术,1常见的一种数据库系统开发环境,开发工具有:Visual BasicVisual C+DelphiPowerBuilder,数据库管理系统:SQL ServerOracleMySQLDB2,说明:SQL Server 2000客户机软件是指一组SQL Server 2000的图形化管 理工具,如企业管理器、查询分析 器等,36,1.4 数据库系统开发技术,2常见的一种Web服务器运行环境,开发技术:ASP PHP JSP ASP
20、.NET,说明:实际开发时,都在一台计算机上 计算机既是服务器又是客户机,37,1.5 常见的数据库管理系统,1Access,优秀的桌面型数据库管理系统。 两个严重缺点: 网络功能很弱,不适合客户机较多的数据库系统 几乎没有什么安全措施。 应用情况:较高的性价比许多小型网站采用ASP+Access许多单机运行的数据库系统采用VB+Access 例如: 同济大学计算机基础教学网站同济大学计算机基础课程考试系统,38,1.5 常见的数据库管理系统,2SQL Server,最高的市场占有率,近50%的市场占有率本课程采用SQL Server,3Oralce,技术上来说是最好的数据库管理系统,4DB2,不过在IBM小型机的支持下, DB2可以发挥它的最佳性能,39,联系我们:同济大学计算机系计算机基础教研室Http:/,谢谢!,