数据库系统基础教程_第1页
数据库系统基础教程_第2页
数据库系统基础教程_第3页
数据库系统基础教程_第4页
数据库系统基础教程_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.1第第1章章 数据库系统世界数据库系统世界第1章 数据库系统世界.2 1.1 数据库系统的发展数据库系统的发展 第1章 数据库系统世界.3什么是数据库什么是数据库 本质上,数据库是一个信息集合,要持续相当长一段本质上,数据库是一个信息集合,要持续相当长一段时间,又称数据基。时间,又称数据基。n数据库具有以下特点:数据库具有以下特点: 数据是按一定方式组织和管理的,这涉及到两个相关数据是按一定方式组织和管理的,这涉及到两个相关的概念:数据模型和数据库模式。的概念:数据模型和数据库模式。 大容量且高效的。大容量且高效的。 共享数据:多用户并发访问,且能避免某用户的动作共享数据:多用户并发访问,且

2、能避免某用户的动作影响其他人;避免意外损坏数据。影响其他人;避免意外损坏数据。 由一组软件对数据进行集中统一的管理(由一组软件对数据进行集中统一的管理(DBMS)。)。 数据库可被定义为基于某种数据模型而存贮起来的、数据库可被定义为基于某种数据模型而存贮起来的、为某个特定组织的多种应用服务的、具有尽可能小的为某个特定组织的多种应用服务的、具有尽可能小的冗余度和尽可能高的数据独立性的相互关联的数据集冗余度和尽可能高的数据独立性的相互关联的数据集合,由数据库管理系统进行集中、统一的控制。合,由数据库管理系统进行集中、统一的控制。第1章 数据库系统世界.4数据库的地位及作用数据库的地位及作用 n现实

3、世界现实世界(事物事物)信息世界信息世界(信息信息)计算机世计算机世界界(数据数据)n数据处理:对各种形式的数据进行收集、存贮、数据处理:对各种形式的数据进行收集、存贮、加工和传播的一系列活动的总和。加工和传播的一系列活动的总和。n数据处理的目的:从大量的原始数据中抽取、数据处理的目的:从大量的原始数据中抽取、推导出有价值的信息,以进行决策;借助计算推导出有价值的信息,以进行决策;借助计算机科学地保存和管理大量数据,使人们能方便机科学地保存和管理大量数据,使人们能方便而充分地利用资源。而充分地利用资源。n数据库技术:研究如何科学地组织和存储数据,数据库技术:研究如何科学地组织和存储数据,如何高

4、效地获取和处理数据。如何高效地获取和处理数据。第1章 数据库系统世界.5应用的实例应用的实例n个人帐务个人帐务n公司客户及业务公司客户及业务n银行银行n飞机订票飞机订票第1章 数据库系统世界.6数据库技术的发展数据库技术的发展 从文件系统演化而来。从文件系统演化而来。n文件系统特点:文件系统特点:数据以文件形式长期保存;数据以文件形式长期保存;数据的物理结构与逻辑结构有了区别;数据的物理结构与逻辑结构有了区别;文件形式多样化;文件形式多样化;数据的存取以记录为单位。数据的存取以记录为单位。n缺点:缺点:数据冗余:数据面向应用,无法共享;数据冗余:数据面向应用,无法共享;数据与程序缺乏独立性。数

5、据与程序缺乏独立性。 第1章 数据库系统世界.7数据库技术的发展数据库技术的发展n60年代后期,数据管理规模更为庞大,应用更年代后期,数据管理规模更为庞大,应用更广泛,数据量剧增,共享要求更强。为了克服广泛,数据量剧增,共享要求更强。为了克服文件系统的弊病,对数据进行集中、统一的管文件系统的弊病,对数据进行集中、统一的管理,使数据存储独立于使用数据的程序,提出理,使数据存储独立于使用数据的程序,提出了数据库技术。了数据库技术。n数据库不仅反映数据本身的内容,同时也反映数据库不仅反映数据本身的内容,同时也反映数据之间的关联。在数据库中是采用数据模型数据之间的关联。在数据库中是采用数据模型来对现实

6、世界进行抽象的。来对现实世界进行抽象的。n早期使用早期使用“层次模型层次模型”(树型结构树型结构)和和“网状模网状模型型”来描述信息结构。不支持高级查询语言。来描述信息结构。不支持高级查询语言。第1章 数据库系统世界.8关系数据库系统关系数据库系统n1970年,年,Ted Codd在在ACM发表了发表了“A Relational Model for Large Shared Data Banks”,奠定了关系型数据库的理论基础。,奠定了关系型数据库的理论基础。主要思想是把数据库中的所有数据组织为主要思想是把数据库中的所有数据组织为“表表table”的的“关系关系relation”。可组织复杂数

7、据。可组织复杂数据结构;对大量查询能快速反应;查询可表示为结构;对大量查询能快速反应;查询可表示为一种高级语言,以提高编程效率。一种高级语言,以提高编程效率。n关系代数提供了关系模型的数学基础。从而,关系代数提供了关系模型的数学基础。从而,使用简单的结构和方法可表示和实现复杂结构使用简单的结构和方法可表示和实现复杂结构和复杂计算。和复杂计算。n随后,随后,SQL(Structural Query Language)出现。出现。第1章 数据库系统世界.9一个简单的关系实例一个简单的关系实例n例例1.1,银行账户信息,银行账户信息 (教材p3) accountNo balance type 123

8、45 1000.00 saveing 67890 2846.92 checking 第1章 数据库系统世界.10数据库的研究方向数据库的研究方向nDBMS研制:扩大功能、提高性能、增研制:扩大功能、提高性能、增强实用性强实用性n数据库设计:设计方法、设计工具、标数据库设计:设计方法、设计工具、标准及规范化准及规范化n数据库理论:知识库、演绎数据库、模数据库理论:知识库、演绎数据库、模糊数据库、面向对象数据库、多媒体数糊数据库、面向对象数据库、多媒体数据库据库。第1章 数据库系统世界.11如何度量数据大小?如何度量数据大小? 1 Byte = 8 bits Byte是最小单位是最小单位 1 Ki

9、loByte = 1000 Byte 1 MegaByte = 1000 K 1 GigaByte = 1000 M 1 TeraByte = 1000 G 1 PetaByte = 1000 T第1章 数据库系统世界.121.2 数据库管理系统概述数据库管理系统概述第1章 数据库系统世界.13数据库管理系统概述数据库管理系统概述n主要指负责数据库存取、管理和维护的主要指负责数据库存取、管理和维护的软件系统,通常叫做数据库管理系统软件系统,通常叫做数据库管理系统(DataBase Menegerment System)。数据库系统的各类用户对数据库的各种数据库系统的各类用户对数据库的各种操作请

10、求,都是由操作请求,都是由DBMS响应和处理的。响应和处理的。第1章 数据库系统世界.14系统构件划分系统构件划分查询处理器查询处理器存储管理器存储管理器事务管理器事务管理器查询(select )数据更新(insert/delete/update)模式更新(create/alter/drop)数据数据元数据元数据第1章 数据库系统世界.15系统构件划分系统构件划分单线框为系统成分双线框为内存中数据结构实线为控制和数据流虚线为数据流第1章 数据库系统世界.16系统构件划分系统构件划分n数据存储器数据存储器:存储数据和元数据。主要以文件:存储数据和元数据。主要以文件方式。方式。n元数据元数据met

11、adata:关于数据的结构信息。数:关于数据的结构信息。数据按元数据规范的格式存储。据按元数据规范的格式存储。n索引索引index:一种支持对数据库中数据有效存:一种支持对数据库中数据有效存取的数据结构,以快速查找数据项取的数据结构,以快速查找数据项(item)。 索引是数据的一部分,而对索引的说明则是元索引是数据的一部分,而对索引的说明则是元数据的一部分。数据的一部分。 Hash表是早期建立索引的主要方法,现一般表是早期建立索引的主要方法,现一般使用使用B(Balance)树。树。第1章 数据库系统世界.17系统构件划分系统构件划分n存储管理器存储管理器:接受上层的数据请求,提取或更:接受上

12、层的数据请求,提取或更新对应的数据。包括文件管理和缓冲区管理。新对应的数据。包括文件管理和缓冲区管理。依赖于特定依赖于特定OS。 文件文件file管理:磁盘文件分块管理:磁盘文件分块block:1K-16K 缓冲区缓冲区buffer管理:文件到内存的映像。内存管理:文件到内存的映像。内存分页分页page:1K-4Kn查询处理器查询处理器:接受操作请求,把:接受操作请求,把SQL命令转变命令转变为对存储数据的操作序列,主要问题是优化。为对存储数据的操作序列,主要问题是优化。n事务管理器事务管理器:负责系统数据的完整性。保证并:负责系统数据的完整性。保证并发运行的多个发运行的多个SQL命令相互不冲

13、突;保证系统命令相互不冲突;保证系统出现故障时不丢失数据。出现故障时不丢失数据。第1章 数据库系统世界.18处理三种处理三种SQL命令命令 n模式更新:通常由管理员和设计员使用,模式更新:通常由管理员和设计员使用,改变当前数据库模式。改变当前数据库模式。n查询:对数据的询问。两种接口:通用查询:对数据的询问。两种接口:通用的交互式接口的交互式接口(Interactive SQL)和和API。n数据更新:改变当前数据库中数据的状数据更新:改变当前数据库中数据的状态。态。第1章 数据库系统世界.19什么是事务什么是事务 一组按顺序执行的操作单元,称为事务一组按顺序执行的操作单元,称为事务Trans

14、action。 数据库系统允许许多事务并发地执行,保数据库系统允许许多事务并发地执行,保证这些事务全部正确的执行是证这些事务全部正确的执行是DBMS中中事务管理程序的任务。事务管理程序的任务。第1章 数据库系统世界.20事务的特性事务的特性 事务的特性简称为事务的特性简称为ACID:nAtomicity:原子性,一个事务中的一组操:原子性,一个事务中的一组操作,要么全部执行,要么一点也不执行。作,要么全部执行,要么一点也不执行。nConsistency:一致性,保持数据库的正确:一致性,保持数据库的正确状态。状态。nIsolation:隔离性,多个事务并发运行时,:隔离性,多个事务并发运行时,

15、作用效果相互分开。有一定隔离级别。作用效果相互分开。有一定隔离级别。nDurability:持久性,事务完成后,即使系:持久性,事务完成后,即使系统发生故障,事务的结果也不丢失。统发生故障,事务的结果也不丢失。第1章 数据库系统世界.21如何保持事务的特性如何保持事务的特性n日志日志(logging) 为保证持久性,数据库的每一个变化都记录在单独的磁盘上。n并发控制并发控制(concurrency control) 事务必须表现为以孤立的方式执行。多个事务的单个动作是按某个顺序来执行。n消除死锁消除死锁(deadlock resolution) 通过对正在执行的事务进行干预,以便其他的事务得以

16、顺利的执行。第1章 数据库系统世界.22系统功能划分系统功能划分 数据库管理系统是为数据库的建立,使数据库管理系统是为数据库的建立,使用和维护而配置的软件。应包括以下功用和维护而配置的软件。应包括以下功能:能:n数据库定义功能数据库定义功能n数据存取功能数据存取功能n数据控制功能数据控制功能n数据库维护功能数据库维护功能n数据通信功能数据通信功能第1章 数据库系统世界.23数据库定义功能数据库定义功能 允许用户用数据定义语言(Data definition language)的专用语言建立新的数据库和指定它们的模式(Schema:数据的逻辑结构)第1章 数据库系统世界.24数据存取功能数据存取

17、功能 允许用户根据需要在授权的范围内,能够用适当的语言来查询数据和更新数据(包括数据结构的维护和重新组织、数据的传输等等),该使用的语言通常称为“查询语言”或“数据操作语言”(Data manipulation language)第1章 数据库系统世界.25数据控制功能数据控制功能 数据安全控制数据安全控制 防止数据库中的数据被未经授权的人访问。防止他人有意或无意中对数据库造成的破坏性改变。 完整性控制完整性控制 保证进入数据库中的存储数据定义的正确性和有效性,防止任何操作对数据造成违反其语义的改变。 并发控制并发控制 控制多用户同时访问,使得一个用户的访问不影响其他用户,保证同时访问不会损害

18、数据,其策略包括对封锁单位大小的确定,死锁的防止、检测和解除。第1章 数据库系统世界.26数据库维护功能数据库维护功能 数据装载数据装载 把正文文件或顺序文件中的数据转换成数据库的格式,并装入到数据库中。 数据备份数据备份 把磁盘中的数据库完整地转储到磁带上,产生一个备份拷贝。 文件重组织文件重组织 把数据库中的文件重新组织成其他不同形式的文件,以改善系统的性能。性能监控性能监控 监控用户使用数据库方式是否合乎要求,收集数据库运行的统计数据。第1章 数据库系统世界.27数据通信功能数据通信功能 提供与操作系统的联机处理,与分时系统及远程作业输入的相应接口,以及与网络软件的通讯功能。第1章 数据

19、库系统世界.281.3 数据库模式数据库模式(Schema)结构结构第1章 数据库系统世界.29什么是模式什么是模式 模式模式(schema)是对某个数据库的逻辑结是对某个数据库的逻辑结构的完整描述,通常用一组构的完整描述,通常用一组DDL来描述。来描述。内模式内模式模式模式外模式外模式1外模式外模式2。子模式、用户模式、视图子模式、用户模式、视图与应用相关的局部特征。与应用相关的局部特征。公共逻辑结构:公共逻辑结构:表表(属性、外键、索引、属性、外键、索引、触发器触发器)、过程与函数、过程与函数、用户和组等用户和组等物理结构与存储方式的内部表示。物理结构与存储方式的内部表示。如如Hash表、

20、表、B树索引、压缩、加密等树索引、压缩、加密等从模式角度看待一个数据库系统从模式角度看待一个数据库系统第1章 数据库系统世界.30数据独立性数据独立性n数据物理独立性数据物理独立性 由系统提供存储结构和逻辑结构的映射,这样当改动存储结构时,逻辑结构可不改变,从而避免应用程序的“感知”。n数据逻辑独立性数据逻辑独立性 一个数据库有它的总体结构,而某个应用的需要有各种局部的逻辑结构,数据库系统同样提供映射,实现局部逻辑与总体逻辑之间的转换,允许局部逻辑有独立于总体逻辑的表示方法。n数据库的数据独立性依靠模式分级及模式之间数据库的数据独立性依靠模式分级及模式之间的映像实现。的映像实现。第1章 数据库

21、系统世界.31什么是视图什么是视图viewn在关系数据库中的一个子模式或外模式,在关系数据库中的一个子模式或外模式,对相同数据以不同方式对相同数据以不同方式/格式进行处理。格式进行处理。n虚表,在一个或多个关系中的多个属性虚表,在一个或多个关系中的多个属性上定义的上定义的“虚关系虚关系”。无实际存储数据,。无实际存储数据,最终通过最终通过“实表实表”导出。导出。 n关系数据库的一个组成部分。关系数据库的一个组成部分。 第1章 数据库系统世界.321.4 数据库系统数据库系统第1章 数据库系统世界.33数据库系统数据库系统 指使用了数据库技术的计算机系统。应指使用了数据库技术的计算机系统。应包含

22、:包含:n计算机基本系统计算机基本系统n数据库管理系统数据库管理系统n数据库数据库n数据库管理员数据库管理员n文档及说明书文档及说明书第1章 数据库系统世界.34计算机基本系统计算机基本系统 包括中央处理机、主存储器、外部存储设备、数据通道等各种存储、处理和传输数据的硬件设备。操作系统、支撑软件和各种实用程序等必要的软件。它们构成数据库系统必不可少的软硬环境。第1章 数据库系统世界.35数据库管理系统数据库管理系统 基于某种数据模型对数据进行管理的软件系统。第1章 数据库系统世界.36数据库数据库 与一个特定组织的各种应用相关的全部数据的汇集。通常分为两部分: 有关应用所需要的工作数据的集合。

23、称为物理数据库,它是数据库的主体。 关于各级数据结构的描述数据,称为描述数据库,通常由一个数据词典系统管理。第1章 数据库系统世界.37数据库管理员数据库管理员 数据库管理员数据库管理员(Data Base Administrator,简记为简记为DBA): 一组熟悉计算机数据处理业务、负责设计和维一组熟悉计算机数据处理业务、负责设计和维护数据库的技术人员。护数据库的技术人员。第1章 数据库系统世界.38文档及说明书文档及说明书 系统运行所必需的各类文档和说明书。第1章 数据库系统世界.39数据库应用体系结构数据库应用体系结构 客户客户/服务器服务器(Client/Server, C/S)结构

24、。结构。 MS AccessSybase ASAMS SQL ServerOracleIBM DB2JavaC/C+PowerBuilderDelphiVBDB ClientDB ClientDB Serversql requestreplysql requestreply客户端客户端Client:请求:请求SQL服务的软件进程。服务的软件进程。服务器服务器Server:提供:提供SQL服务的软件进程。服务的软件进程。一个服务器可支持多个数据库;一个数据库包一个服务器可支持多个数据库;一个数据库包含多个关系。含多个关系。第1章 数据库系统世界.401.5 本课程内容本课程内容第1章 数据库系统

25、世界.41本课程内容本课程内容n设计设计design:如何建立一个有用的数据:如何建立一个有用的数据库。包括需求分析,数据建模,关系设库。包括需求分析,数据建模,关系设计。计。n编程编程progrmming:在数据库设计的基:在数据库设计的基础上,如何进行各种查询和计算操作。础上,如何进行各种查询和计算操作。第1章 数据库系统世界.42一个数据库应用实例一个数据库应用实例 商品销售公司销售业务数据库系统,该系统至少应管理以下内容:商品销售公司销售业务数据库系统,该系统至少应管理以下内容: 公司分为多个下属部门公司分为多个下属部门(Department),如,如“江苏销售部江苏销售部”,“上海销

26、售部上海销售部”等。每个部门有若干销售员等。每个部门有若干销售员(Salesman),每个,每个销售员有唯一的员工号销售员有唯一的员工号(如如“S0025”)和身份证号,也包含姓名、和身份证号,也包含姓名、性别、出生日期、电话等信息。一个销售员仅属于一个部门,且性别、出生日期、电话等信息。一个销售员仅属于一个部门,且每个部门有一个销售员担任部门经理。每个部门有一个销售员担任部门经理。 系统应管理一组客户系统应管理一组客户(Customer):名称、省、市、单位名称、:名称、省、市、单位名称、电话等。电话等。 系统应管理所有销售的商品系统应管理所有销售的商品(Product):制造商:制造商(如

27、如“春兰春兰”、“海尔海尔”等等)、种类、种类(如如“摩托车摩托车”、“空调机空调机”等等)、规格、规格(如如“MT125”型摩托车、型摩托车、“RE1500”型空调等型空调等)、价格、功能及性、价格、功能及性能描述。能描述。 系统用销售订单系统用销售订单(Sales order)表示销售业务。每个订单有一个表示销售业务。每个订单有一个订单号和签订日期,且对应一个客户和一个销售员。一个订单至订单号和签订日期,且对应一个客户和一个销售员。一个订单至少销售一种产品,并可销售多种产品,每种产品应确定其销售数少销售一种产品,并可销售多种产品,每种产品应确定其销售数量和单价,以计算销售金额。量和单价,以计算销售金额。第1章 数据库系统世界.43数据库建模数据库建模 DepartmentSalesmanCustomerSalesorderProductSalesitemsales forruns foras headerworks forunit-ofcontainsdeptidnameempididnoname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论