《数据资源管理技术ppt课件.pptx》由会员分享,可在线阅读,更多相关《数据资源管理技术ppt课件.pptx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章第六章 数据资源管理技术数据资源管理技术数据管理技术的发展数据管理技术的发展数据库阶段:数据库阶段:数据存储在数据库中,数据资源使用数据库管理系统数据存储在数据库中,数据资源使用数据库管理系统的专门软件管理。的专门软件管理。数据库用数据结构描述了数据,数据间的联系。数据面向整个应用系统,数据库用数据结构描述了数据,数据间的联系。数据面向整个应用系统,减少冗余,真正实现数据在不同应用中共享。减少冗余,真正实现数据在不同应用中共享。数据库管理系统(数据库管理系统(DBMS,Database Management System)的三级模式,的三级模式,有物理数据独立性,数据库只根据系统需求独立
2、设计;逻辑数据独立性,有物理数据独立性,数据库只根据系统需求独立设计;逻辑数据独立性,特定用户以逻辑结构(视图)操作数据,大大提高了编程效率。特定用户以逻辑结构(视图)操作数据,大大提高了编程效率。DBMS 提供方便操作的用户接口,数据库的恢复,并发控制,数据完整提供方便操作的用户接口,数据库的恢复,并发控制,数据完整性、安全性等控制功能,保证数据的安全,可靠性。性、安全性等控制功能,保证数据的安全,可靠性。数据库系统以记录为单位操作数据,也可操作数据项,增加系统灵活性。数据库系统以记录为单位操作数据,也可操作数据项,增加系统灵活性。从文件系统发展到数据库系统是信息处理领域中的一个重大变化,从
3、文件系统发展到数据库系统是信息处理领域中的一个重大变化,以数据为中心。应用程序设计退居为外围地位。以数据为中心。应用程序设计退居为外围地位。程序A程序B程序CDBMS数据库文 件 管理系统文件B程序A程序B程序C文件A2文件A1文件C第六章第六章 数据资源管理技术数据资源管理技术访问远程数据资源访问远程数据资源 计算机网络中有多台计算机访问数据资源,系统由三部分组成:计算机网络中有多台计算机访问数据资源,系统由三部分组成:客户机(客户机(Client)用户操作的多台个人(用户操作的多台个人(PC)计算机;计算机;服务器(服务器(Server)数据集中存储的计算机。通常只有一台服务器,有些数据集
4、中存储的计算机。通常只有一台服务器,有些系统配置有多台服务器;系统配置有多台服务器;通信网络通信网络连接客户机和服务器的通信线路。连接客户机和服务器的通信线路。传统的文件方式:传统的文件方式:客户机应用程序访问远程数据资源时,将文件服务客户机应用程序访问远程数据资源时,将文件服务器上的数据文件装载到客户机上,应用程序在数据文件中找到它所需器上的数据文件装载到客户机上,应用程序在数据文件中找到它所需的数据,处理后再将整个数据文件回送文件服务器。的数据,处理后再将整个数据文件回送文件服务器。整个远程数据资源访问过程都不可见,但占据了时间和网络总线的带宽。整个远程数据资源访问过程都不可见,但占据了时
5、间和网络总线的带宽。要求有较大内存容量,较强的处理能力的客户机。要求有较大内存容量,较强的处理能力的客户机。客户机客户机/服务器(服务器(C/SC/S,Client/ServerClient/Server)方式:方式:客户机的应用程序请求客户机的应用程序请求服务器查找它所需的数据,服务器将数据文件中匹配的数据返回。服务器查找它所需的数据,服务器将数据文件中匹配的数据返回。节省时间和网络的开销。节省时间和网络的开销。发挥了服务器较强的处理功能,客户机只集中处理用户界面。发挥了服务器较强的处理功能,客户机只集中处理用户界面。在两层在两层C/S结构中,客户机必须配置访问的各种数据库的驱动程序,成本结
6、构中,客户机必须配置访问的各种数据库的驱动程序,成本高;用户还必须考虑配置和软件维护问题。三层高;用户还必须考虑配置和软件维护问题。三层C/S结构中,插入中间件结构中,插入中间件服务器,客户机仅需与中间件服务器驱动程序通信,中间件服务器完成与服务器,客户机仅需与中间件服务器驱动程序通信,中间件服务器完成与服务器的不同数据库的驱动问题。服务器的不同数据库的驱动问题。第六章第六章 数据资源管理技术数据资源管理技术访问远程数据资源访问远程数据资源分布式客户分布式客户/服务器结构用于更复杂的和更有弹性的系统,系统中有服务器结构用于更复杂的和更有弹性的系统,系统中有多个分布配置的服务器,执行不同的功能或
7、某些特殊功能。多个分布配置的服务器,执行不同的功能或某些特殊功能。浏览器浏览器/服务器(服务器(B/SB/S,Browser/ServerBrowser/Server)方式:方式:随着网络技术和随着网络技术和Web技术的发展,使用数据源的数据量剧增,开发技术的发展,使用数据源的数据量剧增,开发Web数据库系统十数据库系统十分有意义。分有意义。在在Internet和和Intranet上,如网上银行、在线购物、产品信息、市场调查上,如网上银行、在线购物、产品信息、市场调查分析、联机数据库查询等,到处可看到分析、联机数据库查询等,到处可看到Web数据库的应用。数据库的应用。Web数据库基于数据库基于
8、C/S结构的三层模式,即结构的三层模式,即Browser/Web server/DB server,客户层是统一界面的浏览器,数据服务器为服务层,中间层是客户层是统一界面的浏览器,数据服务器为服务层,中间层是Web服服务器和应用服务。用户通过浏览器的务器和应用服务。用户通过浏览器的Web页上输入信息,并发送到页上输入信息,并发送到Web服务器,通过应用程序访问数据库,将结果以图形、图像、文本或表的服务器,通过应用程序访问数据库,将结果以图形、图像、文本或表的形式返回浏览器。形式返回浏览器。一一种种特特别别感感兴兴趣趣的的网网络络计计算算机机:没没有有磁磁盘盘驱驱动动器器或或其其它它当当地地数数
9、据据存存储储设设备备的的PC机机,使使网网络络管管理理简简化化,又又能能处处理理图图形形用用户户界界面面,需需要要的的是是能能在在任任何何计计算算机机上上运运行行的的图图形形用用户户界界面面,在在服服务务器器上上修修改改某某个个驱驱动动程程序序或或应应用用程程序序时时,可可以以在在该该服服务务器器的的每每个个网网络络计计算算机机客客户户机机上上运行。运行。面面向向对对象象的的程程序序设设计计语语言言Java,使使应应用用程程序序独独立立于于异异构构网网络络上上的的多多种种平平台,提供在任何计算机上运行的图形用户界面设计。台,提供在任何计算机上运行的图形用户界面设计。第六章第六章 数据资源管理技
10、术数据资源管理技术数据描述数据描述现实世界:现实世界:现实世界是在人们头脑以外的客观世界(现实世界是在人们头脑以外的客观世界(real world),),对信息系统而言,组织的业务活动涉及的物流、人、事、单位以及对信息系统而言,组织的业务活动涉及的物流、人、事、单位以及相关的数据,如库存管理,涉及货物的存放、进出、搜查等业务活相关的数据,如库存管理,涉及货物的存放、进出、搜查等业务活动。业务活动中抽取的数据为管理活动提供报表、汇总、统计分析动。业务活动中抽取的数据为管理活动提供报表、汇总、统计分析图等。图等。信息世界:信息世界:人的认知一是从特殊到一般的归纳,二是从一般到特殊人的认知一是从特殊
11、到一般的归纳,二是从一般到特殊的演绎。将现实世界中客观存在相互区别的事物或事件抽象为实体的演绎。将现实世界中客观存在相互区别的事物或事件抽象为实体集。实体集具有组成实体的共同的性质(属性)集。实体集具有组成实体的共同的性质(属性)如学生实体集有姓名、如学生实体集有姓名、年龄、性别等共同属性。年龄、性别等共同属性。实体集中的具体实例实体集中的具体实例称实体,有具体的属性称实体,有具体的属性值,如某个学生姓名叫值,如某个学生姓名叫李四,年龄李四,年龄22岁,性别岁,性别为男等,属性值的不同为男等,属性值的不同用来区别不同的实体。用来区别不同的实体。实体标识符是某个属实体标识符是某个属性(代码)或一
12、组属性,性(代码)或一组属性,唯一标别每个实体。唯一标别每个实体。属性字段现实世界现实世界信息世界信息世界计算机世界计算机世界事物类事物类实体集实体集事物事物性质性质实体实体属性属性文件文件记录记录字段字段第六章第六章 数据资源管理技术数据资源管理技术数据描述数据描述计算机世界:计算机世界:是数据存储形式,在计算机中数据以文件方式存储,是数据存储形式,在计算机中数据以文件方式存储,并分下列层次:并分下列层次:字段(字段(field)或称数据项:字段可以命名的最小数据单位,字段名表示或称数据项:字段可以命名的最小数据单位,字段名表示实体的属性。字段值表示每个具体属性值或数据,一般分两大类型:数实
13、体的属性。字段值表示每个具体属性值或数据,一般分两大类型:数值型和字符型。值型和字符型。记录(记录(record):):记录结构是字段有序集合,记录描述一个具体实体,记录结构是字段有序集合,记录描述一个具体实体,是字段值有序集合,实体属性的数据描述。是字段值有序集合,实体属性的数据描述。例例 实体集:实体集:学生(学号,学生(学号,姓名,年龄,姓名,年龄,性别,性别,)实体:实体:99064111 李四李四 22 男男 文件(文件(file):):文件是同一实体集的所有记录的集合,所有的学生记录组文件是同一实体集的所有记录的集合,所有的学生记录组成一个学生文件。成一个学生文件。其中,主关键字(
14、其中,主关键字(key)简称主键,是能唯一标识文件中每个记录的字段简称主键,是能唯一标识文件中每个记录的字段或字段集,与信息世界中实体标识符的概念相对应。或字段集,与信息世界中实体标识符的概念相对应。数据库是数据层次最高一层,它是综合的、相关的文件集合,它表示一数据库是数据层次最高一层,它是综合的、相关的文件集合,它表示一个应用项目中相关的实体集的集合及实体集间的关联。个应用项目中相关的实体集的集合及实体集间的关联。我们可以不必关心数据的存储结构和具体实现方式,因为数据库系我们可以不必关心数据的存储结构和具体实现方式,因为数据库系统的目标之一,是用户能简单、方便地访问数据库中的数据。统的目标之
15、一,是用户能简单、方便地访问数据库中的数据。第六章第六章 数据资源管理技术数据资源管理技术数据库数据模型:逻辑模型和物理模型。数据库数据模型:逻辑模型和物理模型。逻辑模型逻辑模型不涉及数据的表示、物理实现,只描述从系统需求到信息世界的不涉及数据的表示、物理实现,只描述从系统需求到信息世界的高层抽象的信息模型。高层抽象的信息模型。创建数据逻辑模型的工具是实体联系(创建数据逻辑模型的工具是实体联系(E-R)图。图。物理模型物理模型面向信息模型所采用的具体数据结构,第二层抽象。数据的物理面向信息模型所采用的具体数据结构,第二层抽象。数据的物理模型有严格形式化定义,便于计算机中实现数据的存储和访问。模
16、型有严格形式化定义,便于计算机中实现数据的存储和访问。实体间的联系:实体间的联系:其联系方式不外乎三种:其联系方式不外乎三种:一对一(一对一(1:1)联系:)联系:在两个实体集中,一方的一个实体最多与另一方对应的一在两个实体集中,一方的一个实体最多与另一方对应的一个实体相联系。例如,已婚男性集合和已婚女性集合间实体关系是一对一的联系。个实体相联系。例如,已婚男性集合和已婚女性集合间实体关系是一对一的联系。一对多(一对多(1:M)联系:联系:在两个实体集中,一方的一个实体与另一方对应的若干个在两个实体集中,一方的一个实体与另一方对应的若干个实体相联系;反之,另一方的一个实体最多对应一方的一个实体
17、,称一对多联系。实体相联系;反之,另一方的一个实体最多对应一方的一个实体,称一对多联系。例如,一个组织部门和职工,在一个具体部门工作的职工有若干个,而一个职工只在一例如,一个组织部门和职工,在一个具体部门工作的职工有若干个,而一个职工只在一个部门工作,工作将部门和职工两个实体联系在一起,是一对多的联系。个部门工作,工作将部门和职工两个实体联系在一起,是一对多的联系。多对多(多对多(M:N)联系:联系:若两个实体集中,任何一方的一个实体都对应另一方的若若两个实体集中,任何一方的一个实体都对应另一方的若干个实体,称多对多联系。干个实体,称多对多联系。例如,在教学管理中学生和课程,一个具体学生可选修
18、若干门课程,反之,一门课程可例如,在教学管理中学生和课程,一个具体学生可选修若干门课程,反之,一门课程可以被若干个同学选修,选修将学生和课程两个实体联系在一起,是多对多的联系。以被若干个同学选修,选修将学生和课程两个实体联系在一起,是多对多的联系。实体有属性,联系也有属性。实体有属性,联系也有属性。例如,学生和课程的选修多对多的联系有成绩属性。例如,学生和课程的选修多对多的联系有成绩属性。除多对多联系的属性外,一对一和一对多联系的属性,一般都可归併相应的实体属性中。除多对多联系的属性外,一对一和一对多联系的属性,一般都可归併相应的实体属性中。递归联系是一个实体与自身相联系,也有一对一,一对多和
19、多对多的联系。例如一个组递归联系是一个实体与自身相联系,也有一对一,一对多和多对多的联系。例如一个组件可以由多个零件组装而成,而一个零件又可以在多个组件中组装使用,这就是多对多件可以由多个零件组装而成,而一个零件又可以在多个组件中组装使用,这就是多对多的递归联系,组装使用数量则是联系的属性。的递归联系,组装使用数量则是联系的属性。对对1:1(m)递归联系,事实上是超类与子类的联系,如职工与干部、领导的联系。递归联系,事实上是超类与子类的联系,如职工与干部、领导的联系。第六章第六章 数据资源管理技术数据资源管理技术数据库数据模型数据库数据模型实实体体联联系系E ER R图图(Entity Rel
20、ationship Diagram):数数据据的的逻逻辑辑模模型型强强调调语语义义表表达达功功能能,概概念念简简单单、清清晰晰,易易于于理理解解,便便于于数数据据库库设设计计人人员员和和用用户户交交流流,启发、检验、返回补充系统需求。启发、检验、返回补充系统需求。E-R图使用图形符号表示组织业务活动涉及的实体及实体间联系。图使用图形符号表示组织业务活动涉及的实体及实体间联系。矩矩形形框框表表示示实实体体,两两部部分分分分别别表表示示实实体体标标识识及及其其属属性性;菱菱形形表表示示实实体体间间的的联联系系,带有联系方式的直线相关的实体连接,关系有属性直接附于菱形框。带有联系方式的直线相关的实体
21、连接,关系有属性直接附于菱形框。在实际系统中往往有多个相互关联的实体,作图也比较复杂。在实际系统中往往有多个相互关联的实体,作图也比较复杂。例例 仓仓库库主主要要管管理理零零件件入入库库、出出库库及及采采购购等等事事项项。工工程程项项目目需需要要仓仓库库提提供供零零件件,仓库需要向零件供应商采购零件,仓库需要向零件供应商采购零件,建立建立E-R图过程:确定实体集;确定实体间关系;确定实体集名称和属性。图过程:确定实体集;确定实体间关系;确定实体集名称和属性。工工程程项项目目(项项目目编编号号J#,项项目目名名称称Jname,开工日期开工日期DATE)零零件件 (零零件件编编号号P#,零零件件名
22、名称称Pname,规规格格Psize,重量重量Pweight)供供应应商商 (供供应应商商代代号号S#,姓姓名名Sname,地地址址SADR)第六章第六章 数据资源管理技术数据资源管理技术数据库数据模型数据库数据模型数据的物理模型数据的物理模型数据库的数据结构。数据库的数据结构。层层次次或或树树状状模模型型:用用倒倒树树结结构构表表示示实实体体及及实实体体间间关关系系。树树的的结结点点是是记记录录类类型型,非根结点只有一个父结点,上层与下层间是一对多的关系。非根结点只有一个父结点,上层与下层间是一对多的关系。特特点点是是记记录录间间的的联联系系依依靠靠指指针针,查查询询效效率率高高。缺缺点点是
23、是只只能能表表示示一一对对多多的的联联系系,多多对多联系实现复杂困难;数据查询、更新复杂、编程比较复杂。对多联系实现复杂困难;数据查询、更新复杂、编程比较复杂。网网状状模模型型:用用有有向向图图表表示示实实体体及及实实体体间间关关系系。有有向向图图的的结结点点是是记记录录类类型型,有有向边从箭尾端记录类型到箭头端记录类型是一对多关系。向边从箭尾端记录类型到箭头端记录类型是一对多关系。特特点点是是记记录录之之间间的的联联系系用用指指针针,多多对对多多的的关关系系亦亦可可拆拆成成两两个个一一对对多多的的关关系系。模模型型易易于于实实现现,查查询询效效率率较较高高,缺缺点点是是编编写写程程序序比比较
24、较复复杂杂,程程序序员员必必须须熟熟悉悉数数据据库库的的逻辑结构。逻辑结构。关系模型:关系模型:用二维表格表达实体集,外键表示实体间关系。用二维表格表达实体集,外键表示实体间关系。与层次网状模型相比,简单易懂,编程方便,集合论是关系模型的数学基础。与层次网状模型相比,简单易懂,编程方便,集合论是关系模型的数学基础。关关系系数数据据库库的的标标准准化化语语言言SQL已已得得到到广广泛泛应应用用。典典型型关关系系数数据据库库管管理理系系统统DBMS产产 品品 有有 DB2,ORACELE,SYBASE,INFORMIX和和 微微 机机 产产 品品 FOXPRO,ACCESS等。等。概概念念简简单单
25、,易易于于理理解解,多多对对多多的的关关系系可可简简单单地地分分解解二二个个一一对对多多的的关关系系。实实体体集集的的主键用直线下划线表示,则上节仓库管理的实体及实体间关系可表示:主键用直线下划线表示,则上节仓库管理的实体及实体间关系可表示:工工程程项项目目(J#,Jname,Date)零零件件(P#,Pname,Psize,Pweight)供供应应商商(S#,Sname,Saddr)供需关系供需关系(J#,p#,Total)需供关系需供关系(P#,S#,Quantity)第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统数据库管理系统 DBMSDBMS DBMS DBMS 是一个提
26、供对共享数据可靠管理用的软件,数据库系统的核心。是一个提供对共享数据可靠管理用的软件,数据库系统的核心。DBMS DBMS 对数据库定义、提供用户视图、查询、更新等一切操作,用作数据库与应用对数据库定义、提供用户视图、查询、更新等一切操作,用作数据库与应用程序之间,或数据库与用户之间的接口。程序之间,或数据库与用户之间的接口。三级模式结构:三级模式结构:内模式内模式、概念模式和外模式概念模式和外模式。外模式(外模式(external schema):):单个用户使用的数据视图,是概念模式的一个子集。单个用户使用的数据视图,是概念模式的一个子集。概念模式(概念模式(conceptual):):所
27、有用户的数据定义,系统的、全局的数据视图。所有用户的数据定义,系统的、全局的数据视图。内模式(内模式(internet):):涉及的数据存储结构,物理存储数据视图,又称存储模式。涉及的数据存储结构,物理存储数据视图,又称存储模式。数据据库数据的三个抽象级别,使用户只要抽象地处理数据,不必关心数据的表示数据据库数据的三个抽象级别,使用户只要抽象地处理数据,不必关心数据的表示和存储,数据的具体组织、管理工作交给和存储,数据的具体组织、管理工作交给DBMS,减轻用户使用系统的负担。减轻用户使用系统的负担。数据在三级模式间差别很大,数据在三级模式间差别很大,DBMS DBMS 在三级模式间提供两个层次
28、的映射在三级模式间提供两个层次的映射外模式到外模式到概念模式、概念模式到内模式映射。概念模式、概念模式到内模式映射。两级数据独立性:两级数据独立性:数据库的逻辑独立性:数据库的逻辑独立性:概念模式的修改不影响外模式,只需改变外模式到概念模式概念模式的修改不影响外模式,只需改变外模式到概念模式的映射关系,从而保证子模式不变,应用程序亦无须修改。数据的逻辑独立性,简的映射关系,从而保证子模式不变,应用程序亦无须修改。数据的逻辑独立性,简化了数据库系统应用程序的设计工作。化了数据库系统应用程序的设计工作。数据库的物理独立性:数据库的物理独立性:内模式的修改不影响概念模式,只需改变概念模式到存储模内模
29、式的修改不影响概念模式,只需改变概念模式到存储模式的映射关系。使数据库只需根据系统需求独立设计,又因为有数据库的逻辑数据式的映射关系。使数据库只需根据系统需求独立设计,又因为有数据库的逻辑数据独立性,从而保证对于外模式和应用程序不受存储模式影响,简化了数据库系统应独立性,从而保证对于外模式和应用程序不受存储模式影响,简化了数据库系统应用系统的开发、设计工作。用系统的开发、设计工作。两级独立性简化应用系统的开发,提高开发效率。两级独立性简化应用系统的开发,提高开发效率。概念模式能导出不同应用的多种子模式,减少数据冗余,保证数据的一致性,有利于数概念模式能导出不同应用的多种子模式,减少数据冗余,保
30、证数据的一致性,有利于数据共享。应用程序只操作自己的子模式范围内的数据,把数据库中其他用户的数据隔离,据共享。应用程序只操作自己的子模式范围内的数据,把数据库中其他用户的数据隔离,用户对数据库概念模式和存储模式的数据都不可见,有利于数据的安全性和保密性。用户对数据库概念模式和存储模式的数据都不可见,有利于数据的安全性和保密性。第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统的组成:数据库管理系统的组成:查询处理器和存储管理器。查询处理器和存储管理器。查询处理器:查询处理器:查询处理器主要包括有查询处理器主要包括有DDL编译器、编译器、DML编译器、嵌入型编译器、嵌入型DML预编译器
31、、查询运行核心程序。预编译器、查询运行核心程序。数据描述语言数据描述语言DDL(Data Description Language):):定义数据库的三级结构及其定义数据库的三级结构及其相互之间的映射,定义数据完整性、安全控制等约束。数据库系统中存储三级结相互之间的映射,定义数据完整性、安全控制等约束。数据库系统中存储三级结构定义的数据库称数据字典(构定义的数据库称数据字典(data dictionary,DD)。)。数据操纵语言数据操纵语言DML(Data Manipulation Language):):实现数据操作。基本的操实现数据操作。基本的操作有查询、插入、删除、更新等四种。作有查询
32、、插入、删除、更新等四种。DML分交互型和嵌入型两种。分交互型和嵌入型两种。DML语言分:过程性的语言分:过程性的DML必需指示必需指示“做什么做什么”和和“怎么做怎么做”,层次、网状的,层次、网状的DML属过程性属过程性DML。非过程性的非过程性的DML,如关系型的如关系型的DML,只需指示只需指示“做什么做什么”就可,操作简单、使用方便,深受广大用户欢迎。就可,操作简单、使用方便,深受广大用户欢迎。存储管理器:存储管理器:存储管理器主要包括有授权和完整性管理器、事务管理器、文存储管理器主要包括有授权和完整性管理器、事务管理器、文件管理器、缓冲管理器等,提供数据库保护功能如数据恢复、并发控制
33、、数件管理器、缓冲管理器等,提供数据库保护功能如数据恢复、并发控制、数据库完整性和安全性控制。据库完整性和安全性控制。安全性保护:安全性保护:规定用户访问数据库的权限防止非法用户窃取的安全、保密保护措规定用户访问数据库的权限防止非法用户窃取的安全、保密保护措施。系统可采取多种措施,如鉴定用户身份、口令、数据编密码等安全性保护。施。系统可采取多种措施,如鉴定用户身份、口令、数据编密码等安全性保护。完整性管理:完整性管理:完整性指数据的正确性和一致性,通过对数据及数据间的逻辑关系完整性指数据的正确性和一致性,通过对数据及数据间的逻辑关系施加约束条件来实现。如对字段值类型、取值范围、精度等约束,对实
34、体唯一性施加约束条件来实现。如对字段值类型、取值范围、精度等约束,对实体唯一性约束,对实体间联系的约束等。约束,对实体间联系的约束等。故障恢复:故障恢复:数据库在运行过程中难免会造成数据库被破坏,如磁盘损坏、病毒、数据库在运行过程中难免会造成数据库被破坏,如磁盘损坏、病毒、或操作不当等偶然因素使数据丢失,系统能恢复到破坏前的状态称故障恢复。或操作不当等偶然因素使数据丢失,系统能恢复到破坏前的状态称故障恢复。在使用故障恢复功能时,数据备份,事务管理必不可少。在使用故障恢复功能时,数据备份,事务管理必不可少。并发控制:并发控制:在多用户或网络应用中的数据库,多个用户操作同一数据时,必须控在多用户或
35、网络应用中的数据库,多个用户操作同一数据时,必须控制不合理的时差有可能造成数据出错现象。制不合理的时差有可能造成数据出错现象。第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统的组成数据库管理系统的组成存储管理器:存储管理器:并发错误解决方法是控制相关进程互斥地访问数据库,如用加锁和开锁控制。用并发错误解决方法是控制相关进程互斥地访问数据库,如用加锁和开锁控制。用户程序中使用锁,就可能存在死锁问题。编写应用程序时,必须采取预防死锁的户程序中使用锁,就可能存在死锁问题。编写应用程序时,必须采取预防死锁的措施。措施。数据库的维护功能提供数据库管理员运行数据库的维护功能提供数据库管理员运行
36、DB系统时使用。如数据导入、备份、文系统时使用。如数据导入、备份、文件重组、性能监控等,确保数据库保持最佳工作状态。件重组、性能监控等,确保数据库保持最佳工作状态。用户界面:用户界面:用户是指使用管理信息系统应用程序的联机终端用户。程序员用用户是指使用管理信息系统应用程序的联机终端用户。程序员用程序设计语言(称宿主语言),设计数据库应用程序或用户界面,编写数据程序设计语言(称宿主语言),设计数据库应用程序或用户界面,编写数据库应用系统。库应用系统。DBMS 主要由数据定义语言主要由数据定义语言DDL和数据操作语言和数据操作语言DML组成,是基于记录模式的语组成,是基于记录模式的语言,程序设计语
37、言是基于整数、实数、字符、记录、数组等数据类型的运算模式言,程序设计语言是基于整数、实数、字符、记录、数组等数据类型的运算模式的语言,两者之间有的语言,两者之间有“缝隙缝隙”。例如,例如,SQL语言不能直接使用指针,数组等数据结构,程序设计语言也没有语言不能直接使用指针,数组等数据结构,程序设计语言也没有DDL、DML。有二种处理方式:一是扩充宿主语言的编译程序,使之能处理有二种处理方式:一是扩充宿主语言的编译程序,使之能处理 SQL语句,如语句,如VC+、VB 等。另一种是自含语言,等。另一种是自含语言,DBMS 有自己的编译器,也有程序控制命令,有自己的编译器,也有程序控制命令,可直接用于
38、编写数据库应用程序,如可直接用于编写数据库应用程序,如 VFP、DELPHI 等,使用方便,很受欢迎。等,使用方便,很受欢迎。第六章第六章 数据资源管理技术数据资源管理技术关系型数据库关系型数据库关关系系模模型型的的特特点点:数数据据结结构构是是二二维维表表格格,简简单单易易理理解解;集集合合论论是是其其理理论基础论基础有严密的关系运算理论和关系模式设计理论:有严密的关系运算理论和关系模式设计理论:关关系系模模型型面面向向集集合合处处理理,一一次次可可操操作作多多个个元元组组,层层次次、网网状状模模型型一一次次只只能操作一个元组;能操作一个元组;关关系系模模型型有有视视图图等等工工具具,应应用
39、用不不随随数数据据库库改改变变而而改改变变,有有数数据据逻逻辑辑独独立立性;性;RDBMS 只只需需指指出出“做做什什么么”不不必必指指出出“怎怎么么做做”,层层次次、网网状状模模型型必必须在应用程序中用指针指出数据访问路径。须在应用程序中用指针指出数据访问路径。关系型数据库的基本概念关系型数据库的基本概念数数据据库库的的数数据据结结构构是是一一个个由由元元组组行行和和属属性性列列组组成成的的关关系系,或或直直接接称称作作二二维维表表或或表表,用以表示实体集。用外键实现实体集间的联系。用以表示实体集。用外键实现实体集间的联系。关关系系的的定定义义:关关系系是是元元组组的的集集合合,元元组组是是
40、集集合合中中的的元元素素,一一个个元元组组为为K(K=1)个属性的集合。关系有如下限制:个属性的集合。关系有如下限制:1)关系中每一个属性值不可分解,即不允许)关系中每一个属性值不可分解,即不允许“表中套表表中套表”,也不允许出现重复值。,也不允许出现重复值。2)属属性性的的取取值值范范围围称称值值域域,每每个个属属性性对对应应一一个个值值域域,不不同同属属性性可可对对应应同同一一值值域域。关关系系中中各各属属性性的的次次序序不不改改变变关关系系的的实实际际意意义义。元元组组中中属属性性理理论论上上是是无无序序的的,但但在在用用户户使使用用时时应考虑其有序排列。应考虑其有序排列。3)关系中元组
41、代表具体实体,不允许出现相同元组。元组的顺序不改变关系的意义。)关系中元组代表具体实体,不允许出现相同元组。元组的顺序不改变关系的意义。实实际际上上,关关系系、元元组组和和属属性性等等术术语语来来自自于于关关系系数数学学,多多数数人人习习惯惯直直接接将将关关系系称称为为表,元组称为记录或行,属性称为字段或列。表,元组称为记录或行,属性称为字段或列。第六章第六章 数据资源管理技术数据资源管理技术关系型数据库关系型数据库键键(keykey)又又称称关关键键字字关关系系模模型型的的一一个个重重要要概概念念,键键是是由由一一个个或或多多个个属属性性组组成。有下列几种键:成。有下列几种键:超键(超键(s
42、uper key):):在关系模式中,能标识唯一元组的属性集。在关系模式中,能标识唯一元组的属性集。侯选键(侯选键(candidate key):):能标识唯一元组又无多余属性的属性集。能标识唯一元组又无多余属性的属性集。主主键键(主主关关键键字字):用用户户选选择择使使用用的的标标识识唯唯一一元元组组的的一一个个侯侯选选键键。主主键键必必须须唯唯一一,不能为空(不能为空(NULL),),以保证标识唯一元组。以保证标识唯一元组。外外键键:如如果果关关系系R中中的的主主键键又又是是另另一一个个关关系系P的的侯侯选选键键的的组组成成部部分分,则则它它是是关关系系P的外部主键或简称外键。外键不是关系
43、的外部主键或简称外键。外键不是关系P的主键,但用它构成关系的主键,但用它构成关系R和和P的联系。的联系。次键又称次关键字:次键又称次关键字:用以标识一类元组的一个或多个属性。用以标识一类元组的一个或多个属性。关系数据模型的完整性规则关系数据模型的完整性规则字字段段(用用户户定定义义)完完整整性性:针针对对某某个个具具体体数数据据项项的的约约束束条条件件,取取决决于于环环境境。系系统统提供定义和检验完整性的机制,无需应用程序承担,保证收集数据的准确性。提供定义和检验完整性的机制,无需应用程序承担,保证收集数据的准确性。如学生年龄定义为两位数,可进一步限制为如学生年龄定义为两位数,可进一步限制为1
44、530之间,保证系统收集准确的数据。之间,保证系统收集准确的数据。记记录录(实实体体)完完整整性性:要要求求关关系系中中元元组组在在主主键键的的属属性性值值不不能能为为空空,否否则则不不能能起起到到唯一标识元组的作用;取决环境,要求元组中某些属性之间的相互约束条件。唯一标识元组的作用;取决环境,要求元组中某些属性之间的相互约束条件。如在职工实体集中,职工的年龄应大于等于工龄如在职工实体集中,职工的年龄应大于等于工龄+16,否则为非法记录。,否则为非法记录。引引用用完完整整性性又又称称参参照照完完整整性性:关关系系数数据据库库中中依依靠靠外外码码实实现现表表间间的的联联系系,不不允允许许引引用不
45、存在的元组。否则将导致插入或删除异常现象,出现孤立无联系的元组。用不存在的元组。否则将导致插入或删除异常现象,出现孤立无联系的元组。如如插插入入一一个个职职工工,外外码码车车间间号号是是允允许许置置为为空空(NULL),但但不不允允许许车车间间号号的的值值不不在在车车间间表表中中。若若要要删删除除车车间间表表中中某某个个元元组组,对对职职工工表表中中对对应应的的车车间间号号是是必必须须采采取取三三种种方方法法之之一一才才能能保保证证引引用用完完整整性性:一一是是删删除除职职工工表表中中相相关关的的元元组组;二二是是将将职职工工表表中中相相关关元元组组车车间间号号为空,或其它存在的车间号;三是若
46、职工表中存在要删除车间号时,禁止删除。为空,或其它存在的车间号;三是若职工表中存在要删除车间号时,禁止删除。第六章第六章 数据资源管理技术数据资源管理技术关系模型的操作关系模型的操作关关系系模模型型集集中中反反映映在在关关系系代代数数上上,它它允允许许用用户户在在整整个个关关系系范范围围内内进进行行操操作作,非关系模型所支持的语言一般只能操作数据库的一个记录。非关系模型所支持的语言一般只能操作数据库的一个记录。关关系系模模型型的的操操作作分分为为两两类类:代代数数操操作作和和关关系系操操作作。投投影影、筛筛选选和和联联结结是是所所有有RDBMS必备的关系操作,称关系数据库的特征操作。必备的关系
47、操作,称关系数据库的特征操作。投投影影(projection):投投影影操操作作从从关关系系中中垂垂直直地地选选择择指指定定的的列列,消消去去一一些些列列,并并重重新新安安排排列列的的顺顺序序构构成成的的关关系系。即即关关系系进进行行重重点点减减维维,满满足足某某些些属属性性要要求求,重新组成的关系。重新组成的关系。筛筛选选(select):筛筛选选操操作作从从关关系系中中水水平平地地选选择择出出满满足足条条件件要要求求的的元元组组子子集集构成的关系。构成的关系。联联结结(join):联联结结是是双双目目操操作作,它它把把两两个个关关系系联联结结成成一一个个新新关关系系,笛笛卡卡儿儿积是基础。
48、积是基础。笛笛卡卡儿儿积积(cartesian product):设设关关系系R和和S的的元元数数分分别别为为r和和s,则则R和和S 的的笛笛卡卡儿儿积积是是一一个个(r+s)元元的的元元组组集集合合,每每个个元元组组前前r个个分分量量来来自自R的的一一个个元元组组,后后s个个分分量量来来自自S的的一一个个元元组组。笛笛卡卡儿儿积积联联结结所所得得的的表表(元元组组和和列列数数)往往往往十十分分庞庞大大,而实际意义不大。而实际意义不大。条件联结:条件联结:是关系是关系R和和S的笛卡儿积中选出满足的笛卡儿积中选出满足条件两个关系的元组。条件两个关系的元组。自自然然联联结结(natural joi
49、n):是是实实用用价价值值很很大大的的一一种种联联结结,它它要要求求被被联联结结的的两两个个关关系系有有若若干干相相同同的的属属性性(字字段段)名名。在在公公共共属属性性上上具具有有相相等等值值为为依依据据,进进行行元元组组合合并并构构成成的的关关系系。自自然然联联结结先先做做RS计计算算,再再从从公公共共属属性性上上具具有有相相等等值值为为条条件件筛筛选选,提取满足条件的元组,去掉重复的公共属性,得到自然联结的结果。提取满足条件的元组,去掉重复的公共属性,得到自然联结的结果。第六章第六章 数据资源管理技术数据资源管理技术关系型数据库关系型数据库结构化查询语言结构化查询语言SQLSQL(Str
50、uctured Query Language)查询命令查询命令SQL确确定定为为美美国国国国家家标标准准和和国国际际标标准准的的关关系系数数据据库库语语言言。目目前前所所有有的的关关系系型型数数据据库库管理系统,从大型数据库到微机关系型数据库管理系统都支持管理系统,从大型数据库到微机关系型数据库管理系统都支持SQL。程程序序设设计计人人员员和和终终端端用用户户,使使用用SQL语语言言对对数数据据库库中中的的数数据据进进行行检检索索、修修改改、定定义义和管理。和管理。SQL包括:数据定义包括:数据定义、数据查询数据查询、数据操纵和数据控制数据操纵和数据控制。特特点点:SQL语语言言既既是是自自含