




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理
湖南工业大学计算机与通信学院11/17/20221数据库原理湖南工业大学计算机与通信学院11/10/202发展篇:数据库新技术1授课内容数据库新技术。主要内容:(1)面向对象数据库系统。(2)分布式数据库系统。(3)ODBC技术。(4)数据仓库。11/17/20222发展篇:数据库新技术11/10/20222发展篇:数据库新技术2授课要求了解下述内容:(1)面向对象数据库系统。(2)分布式数据库系统。(3)ODBC技术。(4)数据仓库。11/17/20223发展篇:数据库新技术11/10/20223发展篇:数据库新技术3授课重点1.重点是面向对象数据库、分布式数据库、数据仓库等基本概念。4授课难点1.面向对象数据库。11/17/20224发展篇:数据库新技术11/10/202241.面向对象数据库11/17/202251.面向对象数据库11/10/202251.1对象数据库系统(1)第一代DBS:层次、网状数据库系统第二代DBS:关系数据库系统这两代DBS的应用领域主要在商务领域,其特点是所处理的事务比较小,诸如存款取款、购票订票、财务管理、仓库管理、人事管理、统计管理等。随着计算机应用领域的拓广,同时,传统数据库的数据结构比较简单,不能支持新的数据类型和嵌套、递归的数据结构,这两代DBS已不能适用新的应用需要。比如:这两代DBMS很难满足CAD/CAM、CASE、图像处理、GIS等新的应用领域的需要。为适应新的应用需要,应提出新的数据模型、数据库系统。11/17/202261.1对象数据库系统(1)第一代DBS:层次、网状数据库系1.1对象数据库系统(2)对于第二代以后的新一代DBS,有两种观点。这两种观点虽然都是从OO技术和DB技术相结合的角度考虑,但方法不一样。(1)新一代DBS将是OODBS,即在面向对象程序设计语言中引入数据库技术。(2)新一代DBS是从关系DBS自然地加入OO技术进化到具有新功能的结果,即ORDBS。11/17/202271.1对象数据库系统(2)对于第二代以后的新一代DBS,有1.2OO的数据类型系统在OO技术中,数据类型系统由基本类型、复合类型、引用类型组成。基本类型:整型、浮点型、字符、字符串、布尔型和枚举型复合类型行类型:不同类型元素的有序集数组类型:相同类型元素的有序集合列表类型:相同类型元素的有序集合,并且允许有重复的元素包类型:相同类型元素的无序集合,并且允许有重复的元素集合类型:相同类型元素的无序集合,并且所有的元素必须是不同的引用类型:相当于指针。11/17/202281.2OO的数据类型系统在OO技术中,数据类型系统由基本数据类型的定义CREATETYPEMyStringcharvarying;CREATETYPEMyDate(dayinteger,monthchar(10),yearinteger);CREATETYPECourseGrade(courseMyString,gradeinteger,dateMyDate);CREATETABLEscofTYPEStudentCourseGrade;CREATETYPEStudentCourseGrade(nameMyString,cgStudentGrade);CREATETYPEStudentGradesetof(CourseGrade);11/17/20229数据类型的定义CREATETYPEMyStringch1.3对象联系图传统的数据库技术中,ER模型中结构简单:属性值都是原子值、多值属性要转换成单属性或一个弱实体、不支持复合数据和递归等。ER图对象联系图11/17/2022101.3对象联系图传统的数据库技术中,ER模型中结构简单:属1.3对象联系图对象类型属性值是单值对象间的嵌套或引用基本数据类型属性值是多值两个属性之间值的联系为逆联系对象间是超类和子类的联系单箭头双箭头双线箭头双向箭头大椭圆边小圆圈图1.1对象联系图的成分11/17/2022111.3对象联系图对象类型属性值是单值对象间的嵌套或引用一个对象联系图的实例FacultyUniversityCoursetextpresidentworks_forfnocityunameeditorstaffteacheditageteachersalarytextnamefnamecnameuno图1.2大学、教师、教材等信息的对象联系图
11/17/202212一个对象联系图的实例FacultyUniversityCou1.4UML类图UML(统一建模语言)UML的基本图类图对象图用例图状态图顺序图活动图协作图构件图部署图11/17/2022131.4UML类图UML(统一建模语言)11/10/2022类图和ER图中术语的区别ER图中的术语类图中的术语实体集(EntitySet)类(class)实体(Entity)对象(object)联系(relationship)关联(association)联系元数关联元数实体的基数(cardinality)重数(mulitiplicity)-11/17/202214类图和ER图中术语的区别ER图中的术语类图中的术语实体集(E用类图表达类和关联University unounamecity num_staff Person
nameage
Faculty
fnosalary num_teach Coursetext cnametextname
0..1President0..11Staff0..*1..1Edit
0..*0..*1..1Teach1PERSONFACULTYSTAFFCOURSETEXTUNIVERSITYTEACHEDITPRESIDENT11N1N图1.3ER图图1.4UML的类图类名属性方法重复度关联名二元11/17/202215用类图表达类和关联University PersonFacu2.分布式数据库系统
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。
集中式数据库系统的不足:(1)通信开销大:数据按实际需要已在网络上分布存储,再采用集中式处理。(2)可靠性不高:应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响。(3)可扩充性差:集中式处理引起系统的规模和配置都不够灵活。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面集中式DB的“集中计算”概念向“分布计算”概念发展。11/17/2022162.分布式数据库系统 随着传统的数据库2.1集中计算与分布计算(一)“集中计算”概念图2.1集中式DB的结构11/17/2022172.1集中计算与分布计算(一)“集中计算”概念图2.12.1集中计算与分布计算(二)“分布计算”概念
处理分布
:处理是分布的,数据是集中的。网络中各个节点上用户的应用程序向同一个DB存取数据。数据分布
:数据是分布的,数据物理分布在计算机网络的不同节点上,而这些数据在逻辑上是一个整体。网络中每个节点可以执行局部应用,也可执行全局应用。功能分布:网络上的每个节点都是一个通用的计算机,既执行分布式DBMS功能,又执行应用程序。随着工作站功能的增强和广泛应用,把DBMS和应用处理功能分开,分别为DB服务器和客户机。即构成了C/S结构。11/17/2022182.1集中计算与分布计算(二)“分布计算”概念11/12.1集中计算与分布计算(三)客户机/服务器系统的结构图2.2客户机/服务器系统的结构11/17/2022192.1集中计算与分布计算(三)客户机/服务器系统的结构2.2C/S系统的计算模式1、C/S结构的工作模式将计算机应用任务分解成多个子任务,由多台计算机分工完成,即“功能分布”。客户端完成数据处理、数据表示、用户接口等功能;服务器完成DBMS的核心功能。11/17/2022202.2C/S系统的计算模式1、C/S结构的工作模式12.2C/S系统的计算模式2、C/S环境下应用成分的分布(1)用户界面的显示逻辑:这是与用户交互的应用代码。(2)应用逻辑:这是根据输入数据来完成业务处理和规则的应用代码。(3)事务逻辑:这是应用程序中用DML语句编写的代码。(4)数据管理:这是应用程序中由DBMS完成访问实际DB的程序。
在C/S环境下,通常把界面逻辑和应用逻辑驻留在客户机上;而把事务逻辑和DBMS功能驻留在服务器上。11/17/2022212.2C/S系统的计算模式2、C/S环境下应用成分的分2.3C/S系统的体系结构在C/S环境下,客户机、服务器和中间件等三大部分构成了C/S模式的基础结构。
服务器客户机中间件
11/17/2022222.3C/S系统的体系结构在C/S环境下,客户2.3.2C/S结构的演变(一)C/S结构经历了从两层、三层到多层模型的演变。两层C/S结构图2.3两层C/S结构11/17/2022232.3.2C/S结构的演变(一)C/S结构经历了从两层、2.3.2C/S结构的演变(二)三层C/S结构图2.5WWW的三层C/S结构图2.4三层C/S结构11/17/2022242.3.2C/S结构的演变(二)三层C/S结构图C/S结构的演变(三)多层C/S结构图2.6多层C/S结构11/17/2022252.3.2C/S结构的演变(三)多层C/S结构图网络服务器的类型从网络所提供的应用服务,服务器可分为:DB服务器文件服务器事务服务器文档服务器Web服务器电子邮件服务器其他应用服务器
11/17/2022262.3.3网络服务器的类型从网络所提供的应用服务,服务器2.4C/S系统的管理问题在C/S系统运行时,也有一系列管理问题:并行处理、并发控制、完整性等。1、并行处理与并发控制C/S系统必须提供封锁机制,并允许死锁的发生及提供解决方法。2、完整性一般在服务器上进行完整性规则的定义和检查。11/17/2022272.4C/S系统的管理问题在C/S系统运行时,也有一系列2.5分布式数据库系统什么是分布式数据库?分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统,每一场地都有局部应用和全局应用,程序通过网络通信子系统执行全局应用。
主要特征:物理上分布性
逻辑上整体性11/17/2022282.5分布式数据库系统什么是分布式数据库?11/10/2分布式数据库系统(续)图2.7一个分布式数据库系统
[例1]如图2.7所示11/17/202229分布式数据库系统(续)图2.7一个分布式数据库系统[例分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于:
系统是否支持全局应用
比如,银行转账:从一个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去,要同时更新两个结点上的数据库。11/17/202230分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连分布式数据库系统(续)图2.8一个多处理机系统(SN并行结构)[例2]如图2.8所示11/17/202231分布式数据库系统(续)图2.8一个多处理机系统(SN并行分布式数据库系统(续)多处理机系统(SN并行结构)没有局部应用分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的。11/17/202232分布式数据库系统(续)多处理机系统(SN并行结构)11/10分布式数据库系统的特点(续)一、数据独立性逻辑独立性物理独立性数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样11/17/202233分布式数据库系统的特点(续)一、数据独立性11/10/202分布式数据库系统的特点(续)二、集中与自治相结合的控制结构数据共享:(1)局部共享(2)全局共享控制机制:集中自治11/17/202234分布式数据库系统的特点(续)二、集中与自治相结合的控制结构1分布式数据库系统的特点(续)三、适当增加数据冗余度提高系统的可靠性、可用性提高系统性能四、全局的一致性、可串行性和可恢复性局部数据库要保证ACID(即事务的原子性、一致性、隔离型、持久性)全局数据库也要保证ACID11/17/202235分布式数据库系统的特点(续)三、适当增加数据冗余度11/103.ODBC技术对于那些相对独立的软件供应商而言,经常要为每一个DBMS编写一个版本的应用程序,或者为每个要访问的DBMS编写针对DBMS的代码。这就意味着,大量的资源都耗在了编写和维护DB的访问上,更不用说应用程序了。此时应用程序的评价标准不再是质量,而是它能否在给定的DBMS中访问数据库。这就需要开放的数据库连接,就是人们需要用一种新的方法来访问不同的数据库。为此,在C/S系统中必须广泛使用中间件技术,以隐藏各种复杂性,屏蔽各种系统之间的差异。ODBC(OpenDataBaseConnectivity)技术就是这种优秀的中间件技术。11/17/2022363.ODBC技术对于那些相对独立的软件供应商而言,经常要3.1中间件3.1.1中间件的定义3.1.2中间件的作用11/17/2022373.1中间件3.1.1中间件的定义11/10/202233.1.1中间件的定义定义中间件(middleware)是分布式环境中保证操作系统、通信协议、数据库等之间进行对话、互操作的软件系统。在C/S环境中,中间件同时存在于客户端和服务器端,负责客户和服务器间透明的请求和回答交换。在分布式环境中,中间件允许不同服务器之间相互通信,如数据库网关。使用中间件后,应用开发者不需关心特定环境的低层细节,通过中间件等访问数据库,有关代码不依赖于某一具体数据库及该数据库所在平台,从而可将更多的精力集中在功能的设计,所得到的应用软件也易于移植和升级。11/17/2022383.1.1中间件的定义定义中间件(middlewar中间件的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络、不同DBMS和某些访问语言的透明性,即下面三个透明性。●网络透明性:能支持所有类型的网络。●服务器透明性:不管服务器上的DBMS是何种型号(ORACLE、SYBASE、DB2等),一个好的中间件都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。●语言透明性:客户机可用任何开发语言进行发送请求和接受回答,被调用的功能应该像语言那样也是独立的。
3.1.2中间件的作用11/17/202239中间件的作用是保证网络中各部件(软件和硬件)之间透明地连接,传统的数据库编程方式是“主语言+DML”。但是一个特定的前端应用却不能访问不同数据库服务器上的数据。这主要有两个原因:●各厂商的SQL版本不同,使得不同的RDBMS提供的SQL互不兼容。●不同厂商的RDBMS在客户机与数据库服务器之间使用了不同的通信协议。而与此同时,RDBMS产品却迅速增加,因此有必要建立一个公共的、与数据库无关的应用程序设计接口(API:ApplicationProgrammingInterface)。所谓公共接口API就是为开发者提供单一的编程接口,这样同一个应用程序就可以访问不同的数据库服务器。3.2ODBC概念(1)11/17/202240传统的数据库编程方式是“主语言+DML”。但最先推出的公共API是Microsoft公司于1992年推出的ODBC产品。ODBC(OpenDataBaseConnectivity,开放数据库互连),它以C/S结构为设计基础。ODBC技术使得应用程序与DBMS之间在逻辑上可以分离,使应用程序具有数据库无关性。每个应用程序利用相同的源代码就可访问不同的数据库系统,存取多个数据库中的数据。3.2ODBC概念(2)ODBC版本1.0是在1993年8月发布ODBC版本2.0是在1994年12月发布ODBC版本3.0是在1995年10月发布ODBC版本3.5是在1996年10月发布11/17/202241最先推出的公共API是Microsoft公司于1992年推出应用程序应用程序应用程序……SYBASE公共接口API网络软件FoxproSQLServerDB2Oracle图3.1采用API的应用编程3.2ODBC概念(3)11/17/202242应用程序应用程序应用程序……SYBASE公共接口API网络软DB2驱动程序Sybase驱动程序Foxpro驱动程序Oracle驱动程序SQLServer驱动程序驱动程序管理器ODBC数据库应用程序SQLServer数据源Oracle数据源DB2数据源Sybase数据源Foxpro数据源DBDBDBDBDB图3.2ODBC的分层体系结构3.3ODBC的体系结构(1)11/17/202243DB2SybaseFoxproOracleSQLServe1.应用程序的主要功能是:调用ODBC函数,递交SQL语句给DBMS,检索出结果,并进行处理。应用程序主要完成以下8个任务:·连接数据库; ·向数据源发送SQL语句;·为SQL语句分配空间;·读取结果;·处理错误; ·向用户提交处理结果;·事务提交和回退操作;·断开与数据源的连接。3.3ODBC的体系结构(2)11/17/2022441.应用程序的主要功能是:调用ODBC函数,递交SQL语句2.
驱动程序管理器是一个动态链接库(DLL),用于连接各种DBS的DBMS驱动程序(如Oracle、Foxpro、Sybase等驱动程序),管理应用程序和DBMS驱动程序之间的交互作用(通信)。驱动程序管理器的主要功能如下: ·为应用程序加载DBMS驱动程序; ·检查ODBC调用参数的合法性和记录ODBC函数的调用; ·为不同驱动程序的ODBC函数提供单一的入口; ·调用正确的DBMS驱动程序; ·提供驱动程序信息。3.3ODBC的体系结构(3)11/17/2022452.驱动程序管理器是一个动态链接库(DLL),用于连接各种3.DB驱动程序当应用程序调用函数SQLConnect时,驱动程序管理器加载驱动程序。根据应用程序的要求,驱动程序完成以下任务: ·建立应用程序与数据源的连接; ·向数据源提交用户请求执行的SQL语句; ·根据应用程序的要求,将发送给数据源的数据或是从数据源返回的数据进行数据格式和类型转换; ·把处理结果返回给应用程序; ·将执行过程中DBS返回的错误转换成ODBC定义的标准错误代码,并返回给应用程序; ·根据需要定义和使用光标。3.3ODBC的体系结构(4)11/17/2022463.DB驱动程序3.3ODBC的体系结构(4)11/10/ODBC规范定义的驱动程序有两种类型:(1)单层驱动程序 单层驱动程序不仅要处理ODBC函数调用,还要解释执行SQL语句,即执行DBMS的功能。(2)多层驱动程序 多层驱动程序只处理应用程序的ODBC函数调用和数据转换,它将SQL语句传递给数据源服务器,由DBMS解释执行SQL语句,实现用户的各种操作请求。3.3ODBC的体系结构(5)11/17/202247ODBC规范定义的驱动程序有两种类型:3.3ODBC的体系4.ODBC的数据源管理数据源(DataSourceName,简称DSN)是驱动程序与DBS连接的桥梁,数据源不是DBS,而是用于表达一个ODBC驱动程序和DBMS特殊连接的命名。在连接中,用数据源名来代表用户名、服务器名、所连接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。
3.3ODBC的体系结构(6)11/17/2022484.ODBC的数据源管理3.3ODBC的体系结构(6)数据源分为以下三类:●用户数据源:用户创建的数据源,称为“用户数据源”。此时只有创建者才能使用,并且只能在所定义的机器上运行。任何用户都不能使用其他用户创建的用户数据源。●系统数据源:所有用户和在WindowsNT下以服务方式运行的应用程序均可使用系统数据源。●文件数据源:文件数据源是ODBC3.0以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。3.3ODBC的体系结构(7)11/17/202249数据源分为以下三类:3.3ODBC的体系结构(7)11/1从ODBC的体系结构可以看出,ODBC技术有下列三个特性:(1)ODBC是一个调用层的接口。(2)ODBC定义了标准的SQL语法。(3)ODBC提供一个驱动程序管理器来管理 并同时访问多个DBMS系统。3.4ODBC的特性11/17/202250从ODBC的体系结构可以看出,ODBC技术有下列三个特性:34.数据仓库技术数据仓库定义:是一个用以更好地支持企业(或组织)决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。本质上和数据库一样,是长期储存在计算机内的、有组织、可共享的数据集合。11/17/2022514.数据仓库技术数据仓库定义:11/10/2022514.数据仓库技术(续)一、数据仓库的基本特征数据仓库的数据是面向主题的;数据仓库的数据是集成的;数据仓库的数据是不可更新的;数据仓库的数据是随时间不断变化的11/17/2022524.数据仓库技术(续)一、数据仓库的基本特征11/10/4.数据仓库技术(续)二、数据仓库中的数据组织数据仓库的数据组织结构
11/17/2022534.数据仓库技术(续)二、数据仓库中的数据组织数据仓库的4.数据仓库技术(续)三、数据仓库系统的体系结构数据仓库体系结构
11/17/2022544.数据仓库技术(续)三、数据仓库系统的体系结构数据仓库4.数据仓库技术(续)数据仓库的后台工具包括数据抽取、清洗、转换、装载和维护(Maintain)工具。数据仓库服务器相当于数据库系统中的DBMS,负责管理数据仓库中数据的存储管理和数据存取,并给OLAP(联机分析处理)服务器和前台工具提供存取接口(如SQL查询接口)11/17/2022554.数据仓库技术(续)数据仓库的后台工具11/10/2024.数据仓库技术(续)OLAP服务器透明地为前台工具和用户提供多维数据视图OLAP服务器则必须考虑物理上这些分析数据的存储问题。前台工具包括查询报表工具、多维分析工具、数据挖掘工具和分析结果可视化工具等11/17/2022564.数据仓库技术(续)OLAP服务器11/10/202254.2联机分析处理技术OLAP(On-LineAnalyticalProcessing)即联机分析处理,是以海量数据为基础的复杂分析技术。一、多维数据模型数据分析时用户的数据视图,是面向分析的数据模型,用于给分析人员提供多种观察的视角和面向分析的操作可用这样来一个多维数组来表示:(维1,维2,…,维n,度量值)11/17/2022574.2联机分析处理技术OLAP(On-LineAnaly联机分析处理技术(续)一、多维数据模型(续)例如:(地区,时间,电器商品种类,销售额)
三维数组可以用一个立方体来直观地表示一般地多维数组用多维立方体CUBE(超立方体)来表示11/17/202258联机分析处理技术(续)一、多维数据模型(续)三维数组可以用一联机分析处理技术(续)二、多维分析操作
常用的OLAP多维分析操作切片(slice)切块(dice)旋转(pivot)向上综合(roll-up)向下钻取(drill-down)等11/17/202259联机分析处理技术(续)二、多维分析操作11/10/20225联机分析处理技术(续)三、OLAP的实现方式按照多维数据模型的不同实现方式MOLAP结构(多维OLAP)ROLAP结构(关系OLAP)HOLAP结构(前两种混合型OLAP)11/17/202260联机分析处理技术(续)三、OLAP的实现方式11/10/20OLAP的实现方式(续)MOLAP结构以多维立方体CUBE来组织数据,以多维数组来存储数据,支持直接对多维数据的各种操作。多维数据库(Multi-DimensionDataBase,简记为MDDB)。例如:Arbor公司的Essbase11/17/202261OLAP的实现方式(续)MOLAP结构11/10/20226联机分析处理技术(续)ROLAP结构用RDBMS或扩展的RDBMS来管理多维数据,用关系的表来组织和存储多维数据两类表:一类是事实(fact)表,另一类是维表事实表用来描述和存储多维立方体的度量值及各个维的码值;维表用来描述维信息。ROLAP用“星形模式”和“雪片模式”来表示多维数据模型11/17/202262联机分析处理技术(续)ROLAP结构11/10/202262联机分析处理技术(续)星形模式(StarSchema)通常由一个中心表(事实表)和一组维表组成如下图所示的星形模式星形模式的中心是销售事实表维表有时间维表、顾客维表、销售员维表、制造商维表和产品维表
图星形模式11/17/202263联机分析处理技术(续)星形模式(StarSchema)通常联机分析处理技术(续)雪片模式就是对维表按层次进一步细化后形成的图雪片模式11/17/202264联机分析处理技术(续)雪片模式就是对维表按层次进一步细化后形4.3数据挖掘技术一、数据挖掘的概念概念:数据挖掘是从大量数据中发现并提取隐藏在内的、人们事先不知道的但又可能有用的信息和知识的一种新技术。目的:帮助决策者寻找数据间潜在的关联,发现经营者被忽略的要素。数据挖掘技术涉及数据库技术、人工智能技术、机器学习、统计分析等多种技术。促使决策支持系统(DSS)跨入了一个新阶段。11/17/2022654.3数据挖掘技术一、数据挖掘的概念11/10/2022数据挖掘技术(续)二、数据挖掘和传统分析方法的区别本质区别:数据挖掘是在没有明确假设的前提下去挖掘信息,发现知识数据挖掘所得到的信息应具有事先未知、有效和可实用3个特征11/17/202266数据挖掘技术(续)二、数据挖掘和传统分析方法的区别11/1数据挖掘技术(续)三、数据挖掘的数据源(1)从数据仓库中来优点:许多数据不一致的问题都较好地解决了,在数据挖掘时大大减少了清理数据的工作量缺点:建立数据仓库是一项巨大的工程,耗时耗力(2)从数据库中来如果只是为了数据挖掘,可以把一个或几个OLTP数据库导入一个只读的数据库中,然后在上面进行数据挖掘11/17/202267数据挖掘技术(续)三、数据挖掘的数据源11/10/2022数据挖掘技术(续)四、数据挖掘的功能概念描述关联分析分类和预测聚类孤立点检测趋势和演变分析11/17/202268数据挖掘技术(续)四、数据挖掘的功能11/10/20226数据挖掘技术(续)典型的数据挖掘系统的体系结构数据挖掘步骤明确挖掘任务对所选择数据进行预处理选择具体的算法进行挖掘对挖掘出的模式进行评价消减重复部分展现最终的结果11/17/202269数据挖掘技术(续)典型的数据挖掘系统的体系结构数据挖掘步骤1课后总结(1)面向对象数据库系统。(2)分布式数据库系统。(3)ODBC技术。(4)数据仓库。本讲结束11/17/202270课后总结本讲结束11/10/202270数据库原理
湖南工业大学计算机与通信学院11/17/202271数据库原理湖南工业大学计算机与通信学院11/10/202发展篇:数据库新技术1授课内容数据库新技术。主要内容:(1)面向对象数据库系统。(2)分布式数据库系统。(3)ODBC技术。(4)数据仓库。11/17/202272发展篇:数据库新技术11/10/20222发展篇:数据库新技术2授课要求了解下述内容:(1)面向对象数据库系统。(2)分布式数据库系统。(3)ODBC技术。(4)数据仓库。11/17/202273发展篇:数据库新技术11/10/20223发展篇:数据库新技术3授课重点1.重点是面向对象数据库、分布式数据库、数据仓库等基本概念。4授课难点1.面向对象数据库。11/17/202274发展篇:数据库新技术11/10/202241.面向对象数据库11/17/2022751.面向对象数据库11/10/202251.1对象数据库系统(1)第一代DBS:层次、网状数据库系统第二代DBS:关系数据库系统这两代DBS的应用领域主要在商务领域,其特点是所处理的事务比较小,诸如存款取款、购票订票、财务管理、仓库管理、人事管理、统计管理等。随着计算机应用领域的拓广,同时,传统数据库的数据结构比较简单,不能支持新的数据类型和嵌套、递归的数据结构,这两代DBS已不能适用新的应用需要。比如:这两代DBMS很难满足CAD/CAM、CASE、图像处理、GIS等新的应用领域的需要。为适应新的应用需要,应提出新的数据模型、数据库系统。11/17/2022761.1对象数据库系统(1)第一代DBS:层次、网状数据库系1.1对象数据库系统(2)对于第二代以后的新一代DBS,有两种观点。这两种观点虽然都是从OO技术和DB技术相结合的角度考虑,但方法不一样。(1)新一代DBS将是OODBS,即在面向对象程序设计语言中引入数据库技术。(2)新一代DBS是从关系DBS自然地加入OO技术进化到具有新功能的结果,即ORDBS。11/17/2022771.1对象数据库系统(2)对于第二代以后的新一代DBS,有1.2OO的数据类型系统在OO技术中,数据类型系统由基本类型、复合类型、引用类型组成。基本类型:整型、浮点型、字符、字符串、布尔型和枚举型复合类型行类型:不同类型元素的有序集数组类型:相同类型元素的有序集合列表类型:相同类型元素的有序集合,并且允许有重复的元素包类型:相同类型元素的无序集合,并且允许有重复的元素集合类型:相同类型元素的无序集合,并且所有的元素必须是不同的引用类型:相当于指针。11/17/2022781.2OO的数据类型系统在OO技术中,数据类型系统由基本数据类型的定义CREATETYPEMyStringcharvarying;CREATETYPEMyDate(dayinteger,monthchar(10),yearinteger);CREATETYPECourseGrade(courseMyString,gradeinteger,dateMyDate);CREATETABLEscofTYPEStudentCourseGrade;CREATETYPEStudentCourseGrade(nameMyString,cgStudentGrade);CREATETYPEStudentGradesetof(CourseGrade);11/17/202279数据类型的定义CREATETYPEMyStringch1.3对象联系图传统的数据库技术中,ER模型中结构简单:属性值都是原子值、多值属性要转换成单属性或一个弱实体、不支持复合数据和递归等。ER图对象联系图11/17/2022801.3对象联系图传统的数据库技术中,ER模型中结构简单:属1.3对象联系图对象类型属性值是单值对象间的嵌套或引用基本数据类型属性值是多值两个属性之间值的联系为逆联系对象间是超类和子类的联系单箭头双箭头双线箭头双向箭头大椭圆边小圆圈图1.1对象联系图的成分11/17/2022811.3对象联系图对象类型属性值是单值对象间的嵌套或引用一个对象联系图的实例FacultyUniversityCoursetextpresidentworks_forfnocityunameeditorstaffteacheditageteachersalarytextnamefnamecnameuno图1.2大学、教师、教材等信息的对象联系图
11/17/202282一个对象联系图的实例FacultyUniversityCou1.4UML类图UML(统一建模语言)UML的基本图类图对象图用例图状态图顺序图活动图协作图构件图部署图11/17/2022831.4UML类图UML(统一建模语言)11/10/2022类图和ER图中术语的区别ER图中的术语类图中的术语实体集(EntitySet)类(class)实体(Entity)对象(object)联系(relationship)关联(association)联系元数关联元数实体的基数(cardinality)重数(mulitiplicity)-11/17/202284类图和ER图中术语的区别ER图中的术语类图中的术语实体集(E用类图表达类和关联University unounamecity num_staff Person
nameage
Faculty
fnosalary num_teach Coursetext cnametextname
0..1President0..11Staff0..*1..1Edit
0..*0..*1..1Teach1PERSONFACULTYSTAFFCOURSETEXTUNIVERSITYTEACHEDITPRESIDENT11N1N图1.3ER图图1.4UML的类图类名属性方法重复度关联名二元11/17/202285用类图表达类和关联University PersonFacu2.分布式数据库系统
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。
集中式数据库系统的不足:(1)通信开销大:数据按实际需要已在网络上分布存储,再采用集中式处理。(2)可靠性不高:应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响。(3)可扩充性差:集中式处理引起系统的规模和配置都不够灵活。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面集中式DB的“集中计算”概念向“分布计算”概念发展。11/17/2022862.分布式数据库系统 随着传统的数据库2.1集中计算与分布计算(一)“集中计算”概念图2.1集中式DB的结构11/17/2022872.1集中计算与分布计算(一)“集中计算”概念图2.12.1集中计算与分布计算(二)“分布计算”概念
处理分布
:处理是分布的,数据是集中的。网络中各个节点上用户的应用程序向同一个DB存取数据。数据分布
:数据是分布的,数据物理分布在计算机网络的不同节点上,而这些数据在逻辑上是一个整体。网络中每个节点可以执行局部应用,也可执行全局应用。功能分布:网络上的每个节点都是一个通用的计算机,既执行分布式DBMS功能,又执行应用程序。随着工作站功能的增强和广泛应用,把DBMS和应用处理功能分开,分别为DB服务器和客户机。即构成了C/S结构。11/17/2022882.1集中计算与分布计算(二)“分布计算”概念11/12.1集中计算与分布计算(三)客户机/服务器系统的结构图2.2客户机/服务器系统的结构11/17/2022892.1集中计算与分布计算(三)客户机/服务器系统的结构2.2C/S系统的计算模式1、C/S结构的工作模式将计算机应用任务分解成多个子任务,由多台计算机分工完成,即“功能分布”。客户端完成数据处理、数据表示、用户接口等功能;服务器完成DBMS的核心功能。11/17/2022902.2C/S系统的计算模式1、C/S结构的工作模式12.2C/S系统的计算模式2、C/S环境下应用成分的分布(1)用户界面的显示逻辑:这是与用户交互的应用代码。(2)应用逻辑:这是根据输入数据来完成业务处理和规则的应用代码。(3)事务逻辑:这是应用程序中用DML语句编写的代码。(4)数据管理:这是应用程序中由DBMS完成访问实际DB的程序。
在C/S环境下,通常把界面逻辑和应用逻辑驻留在客户机上;而把事务逻辑和DBMS功能驻留在服务器上。11/17/2022912.2C/S系统的计算模式2、C/S环境下应用成分的分2.3C/S系统的体系结构在C/S环境下,客户机、服务器和中间件等三大部分构成了C/S模式的基础结构。
服务器客户机中间件
11/17/2022922.3C/S系统的体系结构在C/S环境下,客户2.3.2C/S结构的演变(一)C/S结构经历了从两层、三层到多层模型的演变。两层C/S结构图2.3两层C/S结构11/17/2022932.3.2C/S结构的演变(一)C/S结构经历了从两层、2.3.2C/S结构的演变(二)三层C/S结构图2.5WWW的三层C/S结构图2.4三层C/S结构11/17/2022942.3.2C/S结构的演变(二)三层C/S结构图C/S结构的演变(三)多层C/S结构图2.6多层C/S结构11/17/2022952.3.2C/S结构的演变(三)多层C/S结构图网络服务器的类型从网络所提供的应用服务,服务器可分为:DB服务器文件服务器事务服务器文档服务器Web服务器电子邮件服务器其他应用服务器
11/17/2022962.3.3网络服务器的类型从网络所提供的应用服务,服务器2.4C/S系统的管理问题在C/S系统运行时,也有一系列管理问题:并行处理、并发控制、完整性等。1、并行处理与并发控制C/S系统必须提供封锁机制,并允许死锁的发生及提供解决方法。2、完整性一般在服务器上进行完整性规则的定义和检查。11/17/2022972.4C/S系统的管理问题在C/S系统运行时,也有一系列2.5分布式数据库系统什么是分布式数据库?分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统,每一场地都有局部应用和全局应用,程序通过网络通信子系统执行全局应用。
主要特征:物理上分布性
逻辑上整体性11/17/2022982.5分布式数据库系统什么是分布式数据库?11/10/2分布式数据库系统(续)图2.7一个分布式数据库系统
[例1]如图2.7所示11/17/202299分布式数据库系统(续)图2.7一个分布式数据库系统[例分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于:
系统是否支持全局应用
比如,银行转账:从一个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去,要同时更新两个结点上的数据库。11/17/2022100分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连分布式数据库系统(续)图2.8一个多处理机系统(SN并行结构)[例2]如图2.8所示11/17/2022101分布式数据库系统(续)图2.8一个多处理机系统(SN并行分布式数据库系统(续)多处理机系统(SN并行结构)没有局部应用分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的。11/17/2022102分布式数据库系统(续)多处理机系统(SN并行结构)11/10分布式数据库系统的特点(续)一、数据独立性逻辑独立性物理独立性数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样11/17/2022103分布式数据库系统的特点(续)一、数据独立性11/10/202分布式数据库系统的特点(续)二、集中与自治相结合的控制结构数据共享:(1)局部共享(2)全局共享控制机制:集中自治11/17/2022104分布式数据库系统的特点(续)二、集中与自治相结合的控制结构1分布式数据库系统的特点(续)三、适当增加数据冗余度提高系统的可靠性、可用性提高系统性能四、全局的一致性、可串行性和可恢复性局部数据库要保证ACID(即事务的原子性、一致性、隔离型、持久性)全局数据库也要保证ACID11/17/2022105分布式数据库系统的特点(续)三、适当增加数据冗余度11/103.ODBC技术对于那些相对独立的软件供应商而言,经常要为每一个DBMS编写一个版本的应用程序,或者为每个要访问的DBMS编写针对DBMS的代码。这就意味着,大量的资源都耗在了编写和维护DB的访问上,更不用说应用程序了。此时应用程序的评价标准不再是质量,而是它能否在给定的DBMS中访问数据库。这就需要开放的数据库连接,就是人们需要用一种新的方法来访问不同的数据库。为此,在C/S系统中必须广泛使用中间件技术,以隐藏各种复杂性,屏蔽各种系统之间的差异。ODBC(OpenDataBaseConnectivity)技术就是这种优秀的中间件技术。11/17/20221063.ODBC技术对于那些相对独立的软件供应商而言,经常要3.1中间件3.1.1中间件的定义3.1.2中间件的作用11/17/20221073.1中间件3.1.1中间件的定义11/10/202233.1.1中间件的定义定义中间件(middleware)是分布式环境中保证操作系统、通信协议、数据库等之间进行对话、互操作的软件系统。在C/S环境中,中间件同时存在于客户端和服务器端,负责客户和服务器间透明的请求和回答交换。在分布式环境中,中间件允许不同服务器之间相互通信,如数据库网关。使用中间件后,应用开发者不需关心特定环境的低层细节,通过中间件等访问数据库,有关代码不依赖于某一具体数据库及该数据库所在平台,从而可将更多的精力集中在功能的设计,所得到的应用软件也易于移植和升级。11/17/20221083.1.1中间件的定义定义中间件(middlewar中间件的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络、不同DBMS和某些访问语言的透明性,即下面三个透明性。●网络透明性:能支持所有类型的网络。●服务器透明性:不管服务器上的DBMS是何种型号(ORACLE、SYBASE、DB2等),一个好的中间件都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。●语言透明性:客户机可用任何开发语言进行发送请求和接受回答,被调用的功能应该像语言那样也是独立的。
3.1.2中间件的作用11/17/2022109中间件的作用是保证网络中各部件(软件和硬件)之间透明地连接,传统的数据库编程方式是“主语言+DML”。但是一个特定的前端应用却不能访问不同数据库服务器上的数据。这主要有两个原因:●各厂商的SQL版本不同,使得不同的RDBMS提供的SQL互不兼容。●不同厂商的RDBMS在客户机与数据库服务器之间使用了不同的通信协议。而与此同时,RDBMS产品却迅速增加,因此有必要建立一个公共的、与数据库无关的应用程序设计接口(API:ApplicationProgrammingInterface)。所谓公共接口API就是为开发者提供单一的编程接口,这样同一个应用程序就可以访问不同的数据库服务器。3.2ODBC概念(1)11/17/2022110传统的数据库编程方式是“主语言+DML”。但最先推出的公共API是Microsoft公司于1992年推出的ODBC产品。ODBC(OpenDataBaseConnectivity,开放数据库互连),它以C/S结构为设计基础。ODBC技术使得应用程序与DBMS之间在逻辑上可以分离,使应用程序具有数据库无关性。每个应用程序利用相同的源代码就可访问不同的数据库系统,存取多个数据库中的数据。3.2ODBC概念(2)ODBC版本1.0是在1993年8月发布ODBC版本2.0是在1994年12月发布ODBC版本3.0是在1995年10月发布ODBC版本3.5是在1996年10月发布11/17/2022111最先推出的公共API是Microsoft公司于1992年推出应用程序应用程序应用程序……SYBASE公共接口API网络软件FoxproSQLServerDB2Oracle图3.1采用API的应用编程3.2ODBC概念(3)11/17/2022112应用程序应用程序应用程序……SYBASE公共接口API网络软DB2驱动程序Sybase驱动程序Foxpro驱动程序Oracle驱动程序SQLServer驱动程序驱动程序管理器ODBC数据库应用程序SQLServer数据源Oracle数据源DB2数据源Sybase数据源Foxpro数据源DBDBDBDBDB图3.2ODBC的分层体系结构3.3ODBC的体系结构(1)11/17/2022113DB2SybaseFoxproOracleSQLServe1.应用程序的主要功能是:调用ODBC函数,递交SQL语句给DBMS,检索出结果,并进行处理。应用程序主要完成以下8个任务:·连接数据库; ·向数据源发送SQL语句;·为SQL语句分配空间;·读取结果;·处理错误; ·向用户提交处理结果;·事务提交和回退操作;·断开与数据源的连接。3.3ODBC的体系结构(2)11/17/20221141.应用程序的主要功能是:调用ODBC函数,递交SQL语句2.
驱动程序管理器是一个动态链接库(DLL),用于连接各种DBS的DBMS驱动程序(如Oracle、Foxpro、Sybase等驱动程序),管理应用程序和DBMS驱动程序之间的交互作用(通信)。驱动程序管理器的主要功能如下: ·为应用程序加载DBMS驱动程序; ·检查ODBC调用参数的合法性和记录ODBC函数的调用; ·为不同驱动程序的ODBC函数提供单一的入口; ·调用正确的DBMS驱动程序; ·提供驱动程序信息。3.3ODBC的体系结构(3)11/17/20221152.驱动程序管理器是一个动态链接库(DLL),用于连接各种3.DB驱动程序当应用程序调用函数SQLConnect时,驱动程序管理器加载驱动程序。根据应用程序的要求,驱动程序完成以下任务: ·建立应用程序与数据源的连接; ·向数据源提交用户请求执行的SQL语句; ·根据应用程序的要求,将发送给数据源的数据或是从数据源返回的数据进行数据格式和类型转换; ·把处理结果返回给应用程序; ·将执行过程中DBS返回的错误转换成ODBC定义的标准错误代码,并返回给应用程序; ·根据需要定义和使用光标。3.3ODBC的体系结构(4)11/17/20221163.DB驱动程序3.3ODBC的体系结构(4)11/10/ODBC规范定义的驱动程序有两种类型:(1)单层驱动程序 单层驱动程序不仅要处理ODBC函数调用,还要解释执行SQL语句,即执行DBMS的功能。(2)多层驱动程序 多层驱动程序只处理应用程序的ODBC函数调用和数据转换,它将SQL语句传递给数据源服务器,由DBMS解释执行SQL语句,实现用户的各种操作请求。3.3ODBC的体系结构(5)11/17/2022117ODBC规范定义的驱动程序有两种类型:3.3ODBC的体系4.ODBC的数据源管理数据源(DataSourceName,简称DSN)是驱动程序与DBS连接的桥梁,数据源不是DBS,而是用于表达一个ODBC驱动程序和DBMS特殊连接的命名。在连接中,用数据源名来代表用户名、服务器名、所连接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。
3.3ODBC的体系结构(6)11/17/20221184.ODBC的数据源管理3.3ODBC的体系结构(6)数据源分为以下三类:●用户数据源:用户创建的数据源,称为“用户数据源”。此时只有创建者才能使用,并且只能在所定义的机器上运行。任何用户都不能使用其他用户创建的用户数据源。●系统数据源:所有用户和在WindowsNT下以服务方式运行的应用程序均可使用系统数据源。●文件数据源:文件数据源是ODBC3.0以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。3.3ODBC的体系结构(7)11/17/2022119数据源分为以下三类:3.3ODBC的体系结构(7)11/1从ODBC的体系结构可以看出,ODBC技术有下列三个特性:(1)ODBC是一个调用层的接口。(2)ODBC定义了标准的SQL语法。(3)ODBC提供一个驱动程序管理器来管理 并同时访问多个DBMS系统。3.4ODBC的特性11/17/2022120从ODBC的体系结构可以看出,ODBC技术有下列三个特性:34.数据仓库技术数据仓库定义:是一个用以更好地支持企业(或组织)决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。本质上和数据库一样,是长期储存在计算机内的、有组织、可共享的数据集合。11/17/20221214.数据仓库技术数据仓库定义:11/10/2022514.数据仓库技术(续)一、数据仓库的基本特征数据仓库的数据是面向主题的;数据仓库的数据是集成的;数据仓库的数据是不可更新的;数据仓库的数据是随时间不断变化的11/17/20221224.数据仓库技术(续)一、数据仓库的基本特征11/10/4.数据仓库技术(续)二、数据仓库中的数据组织数据仓库的数据组织结构
11/17/20221234.数据仓库技术(续)二、数据仓库中的数据组织数据仓库的4.数据仓库技术(续)三、数据仓库系统的体系结构数据仓库体系结构
11/17/20221244.数据仓库技术(续)三、数据仓库系统的体系结构数据仓库4.数据仓库技术(续)数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国防辐射服装行业市场发展分析与发展趋势及投资风险研究报告
- 2025-2030中国铟靶行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国金融行业市场深度发展趋势与前景展望战略研究报告
- 2025-2030中国金属切割行业市场发展分析及前景趋势与投资研究报告
- 2025-2030中国醋酸纤维行业发展分析及前景趋势与投资研究报告
- 2025-2030中国轮胎拆装机行业发展分析及前景趋势与投资研究报告
- 2025-2030中国豪华折叠纸盒行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国访问控制设备行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国蔬菜种子行业发展分析及发展趋势与投资前景预测研究报告
- 2025-2030中国自动挤奶系统(AMS)行业市场发展趋势与前景展望战略研究报告
- 大学高数函数试题及答案
- 湖北省武汉市2025届高中毕业生四月调研考试语文试卷及答案(武汉四调)
- 道路普通货物运输企业安全生产标准化评审标准
- 街道综治中心管理制度
- 2025年无锡市锡山环保能源集团招聘笔试参考题库含答案解析
- 铝合金门窗工程监理质量控制图册
- MyPowerS3100系列以太网交换机配置手册V4.0
- 点击下载视力残疾标准和评定方法(马胜生) - 广州市残疾人联合会
- GB_T 1576-2018 工业锅炉水质(高清正版)
- 布草洗涤服务应急预案
- 2015年(最新)南京市征收集体土地涉及房屋补偿安置办法
评论
0/150
提交评论