数据库技术概念.ppt
数据库技术概念数据库技术概念文件系统文件系统q在计算机系统中,操作系统以文件的形式保存永久性数据,数据以文件形式保存,不仅使读文件的程序可以多次使用,其他程序只要知道数据格式和组织方式都可以使用它即数据资源共享。q1数据不独立数据不独立2数据重复数据重复3难以提供符合用户不同要求的信息难以提供符合用户不同要求的信息4难于保障安全难于保障安全程序与数据文件相关,但在不同的文件中,同样的数据可能会重复保存在不同的文件中,造成数据的不完整性用户在实际应用中所需要的信息很可能是几个文件中的部分信息的组合、合并的结果具有相同权限的用户都可以修改文件,文件内的数据却难于采取保密措施。文件系统文件系统q特点特点数据的管理者:文件系统,数据可长期保存数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构数据的结构化:记录内有结构,整体无结构整体无结构数据的独立性:独立性差。数据的逻辑结构改数据的独立性:独立性差。数据的逻辑结构改变后必须修改应用程序变后必须修改应用程序数据控制能力:由应用程序控制数据控制能力:由应用程序控制员工档案员工档案应用程序应用程序工资工资应用程序应用程序其他其他应用程序应用程序人事科人事科工资科工资科其他其他工作经历工作经历姓名姓名时间时间单位单位 职务职务工资单工资单基础工资基础工资奖金奖金税款税款扣款扣款实发工资实发工资其他其他员工档案员工档案姓名姓名性别性别职务职务 工资等级工资等级员工档案员工档案姓名姓名性别性别职务职务 工作时间工作时间学生修课文件包含多个文件的信息系统,难于实现数据的统一管理和共享处理学生信息的应用程序关于课程的数据在两个数据库中重复存储两个应用程序对老师信息文件具有相同的权限,数据不安全传统文件系统传统文件系统传统文件系统传统文件系统q对于单一的应用和眼前的需求,容易设计、实对于单一的应用和眼前的需求,容易设计、实现处理需要的计算资源少,速度快。现处理需要的计算资源少,速度快。q容易出现重复数据,冗余度大。导致重复输入、容易出现重复数据,冗余度大。导致重复输入、存储和维护困难(完整性问题)。存储和维护困难(完整性问题)。q不灵活、不易扩展。对于新需求要重新构造文不灵活、不易扩展。对于新需求要重新构造文件结构,导致从新编写应用。程序依赖于文件结构,导致从新编写应用。程序依赖于文件。往往是建立新文件,写新应用。件。往往是建立新文件,写新应用。传统文件系统传统文件系统q无法提供便于数据关联的结构无法提供便于数据关联的结构q必须知道文件中数据域的物理存储位置。必须知道文件中数据域的物理存储位置。q必须设计管理数据的程序必须设计管理数据的程序文件系统中数据的结构文件系统中数据的结构记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。的应用程序复杂了。文件间是独立的,因此数据整体上是无结构的。可以间接实现数据整体的有结构,但必须在应可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系用程序中对描述数据间的联系。数据的最小存取单位是记录。数据库系统概述数据库系统概述四个基本概念四个基本概念四个基本概念四个基本概念数据数据(Data)(Data)数据库数据库(Database)(Database)数据库管理系统数据库管理系统(DBMS)(DBMS)数据库系统数据库系统(DBS)(DBS)一、数据数据数据数据(Data)是数据库中存储的基本对象是数据库中存储的基本对象数据的定义数据的定义描述事物的符号记录描述事物的符号记录数据的种类数据的种类文字、图形、图象、声音文字、图形、图象、声音数据的特点数据的特点数据与其语义是不可分的数据与其语义是不可分的数据举例数据举例学生档案中的学生记录学生档案中的学生记录(李明,男,(李明,男,1972,江苏,计算机系,江苏,计算机系,1990)数据的形式不能完全表达其内容数据的形式不能完全表达其内容数据的解释数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间别、入学时间解释:李明是个大学生,解释:李明是个大学生,1972年出生,江苏人,年出生,江苏人,1990年考入计算机系年考入计算机系请给出另一个解释和语义二、数据库数据库q数据库是管理信息系统的核心。数据库是管理信息系统的核心。q数据库数据库这一术语日常用法是指这一术语日常用法是指信息处理和检索中可用的那些数据。信息处理和检索中可用的那些数据。q把一个组织、或某个行业、或某个把一个组织、或某个行业、或某个团体的所有数据独立出来集中管理,团体的所有数据独立出来集中管理,按数据本身的内在联系组织、存放按数据本身的内在联系组织、存放和操作数据。和操作数据。数据库数据库(续)(续)数据库的定义数据库的定义数数据据库库(Database,简简称称DB)是是长长期期储储存存在在计计算算机机内内、有有组组织织的的、可可共共享享的的大大量量数据集合。数据集合。数数据据库库是是一一个个组组织织中中具具有有一一定定结结构构的的、经经正正规规定定义义并并集集中中控控制制的的有有关关数数据据集集合。合。数据库数据库(续续)数据库的特征数据库的特征数据按一定的数据按一定的数据模型数据模型组织、描述和储存组织、描述和储存可为各种用户共享可为各种用户共享冗余度较小冗余度较小数据独立性较高数据独立性较高易扩展易扩展是组织机构自身的方式、方法是组织机构自身的方式、方法数据库(举例)学生登记表学生登记表学学 号号姓姓 名名年年 令令性性 别别系系 名名年年 级级95004王小明王小明19女女社会学社会学9595006黄大鹏黄大鹏20男男商品学商品学9595008张文斌张文斌18女女法律学法律学95数据库管理系统数据库管理系统n什么是什么是DBMSq数据库管理系统(数据库管理系统(DatabaseManagementSystem)是位)是位于用户层面与操作系统之间的一层数据管理软件。于用户层面与操作系统之间的一层数据管理软件。数据库管理系统数据库管理系统DBMS的用途的用途 数据库的概念通过数据库的概念通过DBMS来实现。来实现。DBMS负责数负责数据的查找以及增、删、改操作,维护数据的一致性、据的查找以及增、删、改操作,维护数据的一致性、完整性,提供正确使用的各种机制,如备份、保密、完整性,提供正确使用的各种机制,如备份、保密、事务、故障恢复;建立详细记述数据使用情况的各事务、故障恢复;建立详细记述数据使用情况的各种日志,以便跟踪数据库使用的历史。种日志,以便跟踪数据库使用的历史。数据库管理系统(续)数据库管理系统(续)nDBMS是是实实现现数数据据库库管管理理功功能能的的程程序序,它它将将较较高高级级别别的的程程序序翻翻译译成成等等效效的的较较低低级级别别的的程程序序,然然后后执执行较低级别的程序。行较低级别的程序。n数数据据库库系系统统不不仅仅描描述述数数据据本本身身,还还要要描描述述数数据据之之间间的的联联系系。应应用用程程序序请请求求某某些些数数据据,DBMS从从数数据据库库中中找找到到这这些些数数据据,并并送送给给应应用用程程序序。而而用用传传统统文文件件的的程程序序设设计计人人员员必必须须为为每每项项数数据据的的长长度度、格格式定义,并告诉电脑数据在哪。式定义,并告诉电脑数据在哪。数据库管理系统数据库管理系统n为使用户能同时使用数据库为使用户能同时使用数据库(共享),数据库管理系统(共享),数据库管理系统(DBMS)应有)应有数据组织数据组织、数据操作数据操作、和、和数据控制数据控制功能功能数据库管理系统数据库管理系统(DBMS)主要组成主要组成主要功能主要功能数据库语言数据库监控管理程序数据库服务程序数据库定义功能数据库运行功能数据库访问功定义数据库各级模式与记录的索引(存取路径)的结构、定义数据完整性约束条件和安全性控制条件,并将所定义的内容保存到数据字典中管理数据库的内部组织,执行用户存取权限控制、并发控制和数据完整性检查按用户要求,执行对数据库数据的查询与增、删、改操作;数据的授权访问等数据库工作原理数据库工作原理 为什么数据库是数据处理的理想环境为什么数据库是数据处理的理想环境数据库系统数据库系统什么是数据库系统什么是数据库系统数数据据库库系系统统(Database System,简简称称DBS)是是指指在在计算机系统中引入数据库后的系统构成。计算机系统中引入数据库后的系统构成。在在不不引引起起混混淆淆的的情情况况下下常常常常把把数数据据库库系系统统简简称称为为数数据库。据库。数据库系统的构成数据库系统的构成由由数数据据库库、数数据据库库管管理理系系统统(及及其其开开发发工工具具)、应应用系统、数据库管理员(和用户)构成。用系统、数据库管理员(和用户)构成。数据库数据的组织数据库数据的组织数据模式:数据模式:由业务规则所致数据之间由业务规则所致数据之间形成了联系,按照数据的这种形成了联系,按照数据的这种联系而组织的数据结构被联系而组织的数据结构被称为称为模式模式(schema),n例如:百货公司仓库,不同的例如:百货公司仓库,不同的存放原则登录的数据具有不同存放原则登录的数据具有不同模式模式:(1)按时间先后顺序存放顺序模按时间先后顺序存放顺序模式式(2)按物品用途存放分类模式按物品用途存放分类模式(3)按产地分类存放地域模式按产地分类存放地域模式(4)按体积与重量原则重量模式按体积与重量原则重量模式(5)按流动快慢原则销售模式按流动快慢原则销售模式n模式(Schema)q数据库逻辑结构和特征的描述数据库逻辑结构和特征的描述q反映的是数据的结构及其联系反映的是数据的结构及其联系q模式是相对稳定的模式是相对稳定的n模式的一个实例(Instance)q模式的一个具体值模式的一个具体值q反映数据库某一时刻的状态反映数据库某一时刻的状态q同一个模式可以有很多实例同一个模式可以有很多实例q实例随数据库中的数据的更新实例随数据库中的数据的更新而变动而变动数据库数据的组织数据库数据的组织n模式(Schema)q数据库逻辑结构和特征的描述数据库逻辑结构和特征的描述q反映的是数据的结构及其联系反映的是数据的结构及其联系q模式是相对稳定的模式是相对稳定的n模式的一个实例(Instance)q模式的一个具体值模式的一个具体值q反映数据库某一时刻的状态反映数据库某一时刻的状态q同一个模式可以有很多实例同一个模式可以有很多实例q实例随数据库中的数据的更新而变动实例随数据库中的数据的更新而变动 数据库的三级模式数据库的三级模式一一个个数数据据库库只只有一个内模式有一个内模式 数据库系统(续)数据库系统(续)n1.数据库系统不仅描述数据本身,还要描述数数据库系统不仅描述数据本身,还要描述数据之间的联系。应用程序请求某些数据,据之间的联系。应用程序请求某些数据,DBMS从数据库中找到这些数据,并送给应用从数据库中找到这些数据,并送给应用程序。程序。而是用传统文件的程序设计人员必须而是用传统文件的程序设计人员必须为每项数据的长度、格式定义,并告诉电脑数为每项数据的长度、格式定义,并告诉电脑数据在哪。据在哪。数据库系统(续)数据库系统(续)n2数据的独立性数据的独立性用户独立于数据在数据库中的物理存储。用用户独立于数据在数据库中的物理存储。用户对数据库的理解只是一种表格形式,而数据户对数据库的理解只是一种表格形式,而数据的物理排列则逻辑结构根本不同。从而用户可的物理排列则逻辑结构根本不同。从而用户可以集中考虑数据的逻辑结构。以集中考虑数据的逻辑结构。数据库的局部逻辑结构是稳定的。局部逻辑数据库的局部逻辑结构是稳定的。局部逻辑结构不变,应用程序就可以不改变。独立性同结构不变,应用程序就可以不改变。独立性同计算机的高级语言一样,可以提高生产率。计算机的高级语言一样,可以提高生产率。数据库系统(续)数据库系统(续)n3共享数据共享数据多个用户可以同时存取数据库。数多个用户可以同时存取数据库。数据无需重复存储。据无需重复存储。数据结构化数据结构化n整体整体数据的结构化是数据库的主要特征之一。数据的结构化是数据库的主要特征之一。n数据库中实现的是数据的真正数据库中实现的是数据的真正结构化结构化q数据的结构用数据的结构用数据模型数据模型描述,无需程序定义和解释。描述,无需程序定义和解释。q数据可以数据可以变长变长。q数据的最小存取单位是数据的最小存取单位是数据项数据项。DBMS对数据的控制功能对数据的控制功能数据的安全性(数据的安全性(Security)保护保护使使每每个个用用户户只只能能按按指指定定方方式式使使用用和和处处理理指指定定数数据据,保保护护数数据据以以防防止止不不合合法法的的使使用用造造成成的的数据的泄密和破坏。数据的泄密和破坏。数据的完整性(数据的完整性(Integrity)检查检查将将数数据据控控制制在在有有效效的的范范围围内内,或或保保证证数数据据之之间满足一定的关系。间满足一定的关系。DBMS对数据的控制功能对数据的控制功能并发(并发(Concurrency)控制控制对对多多用用户户的的并并发发操操作作加加以以控控制制和和协协调调,防防止止相互干扰而得到错误的结果。相互干扰而得到错误的结果。数据库恢复(数据库恢复(Recovery)将将数数据据库库从从错错误误状状态态恢恢复复到到某某一一已已知知的的正正确确状态。状态。数据库系统工作原理(续)数据库系统工作原理(续)na索引索引 顺序存取顺序存取 直接存取直接存取索引是索引字段的值与对应的数据记录所在位置之间索引是索引字段的值与对应的数据记录所在位置之间的对应表。索引是实际存储在数据库中的表,但用户的对应表。索引是实际存储在数据库中的表,但用户不能直接看到它们。不能直接看到它们。nb安全性安全性涉及确保用户要做的事是允许做的。涉及确保用户要做的事是允许做的。数据库系统工作原理(续)数据库系统工作原理(续)nc完整性约束(数据库约束)完整性约束(数据库约束)约束用户要做的事是正确的,约束有利于保证约束用户要做的事是正确的,约束有利于保证数据的合理性。大多数情况,由列的约束条件数据的合理性。大多数情况,由列的约束条件来控制。来控制。q防止重复和冗余数据防止重复和冗余数据q确保数据遵循业务规则确保数据遵循业务规则q确保关联数据之间数据的一致性(引用完整性)确保关联数据之间数据的一致性(引用完整性)数据库系统工作原理(续)数据库系统工作原理(续)q主码主码是该表的一个字段或是几个字段的组合,是该表的一个字段或是几个字段的组合,用以唯一地标识该表中的一个记录。用以唯一地标识该表中的一个记录。q外界码外界码是表的一个字段或一组字段,它的值必是表的一个字段或一组字段,它的值必须和其他某个表的主码相匹配。和索引不同,外码须和其他某个表的主码相匹配。和索引不同,外码不是指针,它的值是实际的数据,而不是存储介质不是指针,它的值是实际的数据,而不是存储介质上的地址。上的地址。q字段类型字段类型q取值范围取值范围数据库系统工作原理(续)数据库系统工作原理(续)nd封锁封锁一种并发控制机制一种并发控制机制DBMS在共享环境中需要的能力:并发控制、在共享环境中需要的能力:并发控制、完整性控制、安全控制。完整性控制、安全控制。数据库系统工作原理(续)数据库系统工作原理(续)ne窗口窗口(用户视图用户视图)特定的业务环境下,各个应用对数据库有它自己的观特定的业务环境下,各个应用对数据库有它自己的观点,每个应用可能只想看到,或者只被允许看到整个点,每个应用可能只想看到,或者只被允许看到整个数据库的一个子集(只对数据库所表示的实体、性质数据库的一个子集(只对数据库所表示的实体、性质及联系的一个子集感兴趣)。有时需要对这个子集重及联系的一个子集感兴趣)。有时需要对这个子集重新安排或重新取名。所有这些要求:确定子集、从新新安排或重新取名。所有这些要求:确定子集、从新安排、重新取名、都包括在窗口功能中。安排、重新取名、都包括在窗口功能中。窗口没有存在于数据库中,但用户却能看见它。窗口窗口没有存在于数据库中,但用户却能看见它。窗口是一种虚表。窗口是按照某种方法从一个或多个实表是一种虚表。窗口是按照某种方法从一个或多个实表推导得出的表,这里实表是物理意义上数据库中存储推导得出的表,这里实表是物理意义上数据库中存储的表。的表。用户视图用户视图用户视图用户视图数据库的使用数据库的使用(存取和维护存取和维护技能)技能)n将数据装入数据库将数据装入数据库n将数据取出数据库将数据取出数据库n修改数据库中的数据修改数据库中的数据n基于一种数据库语言,进行数据操纵命令的操基于一种数据库语言,进行数据操纵命令的操作、数据定义的操作:用单独的命令语句或固作、数据定义的操作:用单独的命令语句或固定过程完成数据查询和更新。在一个数据库里定过程完成数据查询和更新。在一个数据库里查询操作远多于更新操作(查询操作远多于更新操作(10:1)。)。界面格式的操作完成数据在屏幕上和硬拷贝上界面格式的操作完成数据在屏幕上和硬拷贝上的版面布局。的版面布局。n集中式数据库应用模集中式数据库应用模型型n主机/终端结构是大型主机系统使用的结构,这种结构是将操作系统、应用程序、DBMS、数据库等数据和资源均放在主机上,以一台主机为核心,连接多个终端,终端只是作为主机的一种I/O设备,所有的应用处理均由主机承担数据库系统运行环境数据库系统运行环境集中式数据库应用模式n客户服务器:客户服务器:通过对服务功能的分布实现分工服务,其中:客户机客户机负责管理用户界面,接收用户数据,处理应用逻辑,生成数据库服务请求。然后将这些请求发送给服务器,接收服务器返回的结果,最后再将这些结果按一定的格式返回给用户;服务器服务器接收客户机的请求,处理这些请求,返回处理结果(包括执行状态:成功、失败以及数据库访问的结果数据)给客户机,同时,服务器还要进行数据库完整性检查,维护数据库附加的数据,支持并发控制等数据库系统运行环境数据库系统运行环境客户/服务器式数据库应用模式主流的产品主流的产品:Microsoft公司的SQLServer、SYBASE公司的Sybase、ORACLE公司的Oracle、INFORMIX公司的Informix和IBM公司的DB2开放数据库互连(ODBCOpen DataBase Connectivity)nODBC:Microsoft公司开发的一套开放数据库系统应用程序接口规范,目前已成为一种工业标准,提供了统一的数据库应用编程接口(API),为应用程序提供了一套高层调用接口规范和基于动态连接库的运行支持环境。使用ODBC开发数据库应用程序时,应用程序调用的是标准的ODBC函数和SQL语句,数据库底层操作由各个数据库的驱动程序完成。使应用程序有很好的适应性和可移植性,并且具备了同时访问多种数据库管理系统的能力,彻底克服了传统数据库应用程序的缺陷。ODBC屏蔽了DBMS之间的差异nODBC应用程序应用程序不能直接存取数据库,它将所要执行的操作提交给数据库驱动程序,通过驱动程序实现对数据源的各种操作,数据库操作结果也通过驱动程序返回给应用程序n数据源数据源指任一种可以通过ODBC连接的数据库管理系统,包括要访问的数据库和数据库的运行平台。数据源名掩盖了数据库服务器或数据库文件间的差别,通过定义多个指向不同服务器名的数据源,达到在应用程序中实现同时访问多个DBMS的目的。nODBC提提供供了在不同数据库环境中为C/S结构的客户访问异构数据库(如:SQLServer、Oracle、Sybase等)的接口,即在由异构数据库服务器构成的客户/服务器结构中,要实现对不同数据库进行数据访问,就需要一个能连接不同的客户平台到不同的服务器的桥梁ODBC。使用ODBC作为数据库源的数据库服务器上的数据库管理系统升级或转换到不同的数据库管理系统时(比如,从SQLServer转换到Sybase),客户端应用程序不需作任何改变,利用ODBC开发的数据库应用程序具有很好的移植性。nODBC的体系结构示意图的体系结构示意图建立与数据源的连接;向数据源发送SQL请求;接收并处理请求的结果;断开与数据源的连接Internet 计算环境计算环境Web 浏览器浏览器互连网互连网数据库数据库服务器服务器多层数据库应用模式n三层结构的数据库应用模式(BWS)浏览器/WWW服务器/数据库服务器结构示意图n实现三层结构的软件:浏浏览览器器有Microsoft的Internet Explorer(IE)、Netscape公司的Navigator等。数数据据库库有MicrosoftSQLServer、Orcale、Sybase、DB2和Informix都可作为服务器端的DBMS,一些桌面数据库管理系统如Access等也可作为这种结构 的 DBMS。Web服服 务务 器器 有有 Microsoft的 IIS(InternetInformationServer)、PWS(PersonalWebServer),Netscape公司的FastTrack,EnterpriseServer等。多层数据库应用模式n常见的三层体系结构应用开发技术主要有:HTML,CGI(通用网关接口)、ISAPI、NSAPI、JAVAScript、VBScript、ASP(活动服务器页面)、JAVA、DCOM等几种n随着应用的深入,有些公司又提出了多层应用模型,这就是所谓的n层(ntier)体系结构,如微软公司的DNA体系结构N层体系结构示意图