




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章 数据资源管理技术数据资源管理技术科学管理依赖信息,信息是一个组织重要的资源。科学管理依赖信息,信息是一个组织重要的资源。数据库技术的使用是数据库技术的使用是 mis 成熟的重要标志。成熟的重要标志。 数据管理技术的发展数据管理技术的发展 数据人工管理阶段:数据人工管理阶段:没有软件支持,只有程序文件的概念没有软件支持,只有程序文件的概念 数据处理后程序和数据的内存空间一起被释放。数据和程序相互依赖;数据处理后程序和数据的内存空间一起被释放。数据和程序相互依赖; 数据结构的变化、修改,导致整个程序的修改。数据结构的变化、修改,导致整个程序的修改。 最大的问题是编程效率低,程序依赖数
2、据,不灵活,容易出错。最大的问题是编程效率低,程序依赖数据,不灵活,容易出错。 文件管理阶段:文件管理阶段:有分离的程序文件和数据文件,文件系统管理数据。有分离的程序文件和数据文件,文件系统管理数据。 程序使用数据文件名访问数据,不必关心其物理位置和细节。便于程序程序使用数据文件名访问数据,不必关心其物理位置和细节。便于程序访问数据,有索引文件,链接文件和散列文件等等。访问数据,有索引文件,链接文件和散列文件等等。 数据不属于某个特定程序,允许重复使用,但数据文件的结构仍取决于数据不属于某个特定程序,允许重复使用,但数据文件的结构仍取决于特定的应用,程序与数据间的依赖关系并未根本改变。具有数据
3、设备独特定的应用,程序与数据间的依赖关系并未根本改变。具有数据设备独立性,但不能体现用户观点下的数据逻辑结构独立于数据在外存上物理立性,但不能体现用户观点下的数据逻辑结构独立于数据在外存上物理结构的要求,在数据物理结构修改时,仍需修改用户应用程序。结构的要求,在数据物理结构修改时,仍需修改用户应用程序。 文件管理方式是数据资源管理的一大进步,它也是数据库的基础。文件管理方式是数据资源管理的一大进步,它也是数据库的基础。 文件系统的缺陷:数据冗余(文件系统的缺陷:数据冗余(redundancy),每个应用程序有对应的数),每个应用程序有对应的数据文件,文件间缺乏联系,同样的数据可能重复出现。冗余
4、浪费存储空据文件,文件间缺乏联系,同样的数据可能重复出现。冗余浪费存储空间,且数据修改稍有不谨慎可能造成数据不一致性(间,且数据修改稍有不谨慎可能造成数据不一致性(inconsistency););其次,数据文件面向应用,当数据结构改变时,程序维护成为系统的主其次,数据文件面向应用,当数据结构改变时,程序维护成为系统的主要矛盾。要矛盾。第六章第六章 数据资源管理技术数据资源管理技术 数据管理技术的发展数据管理技术的发展 数据库阶段:数据库阶段:数据存储在数据库中,数据资源使用数据库管理系统数据存储在数据库中,数据资源使用数据库管理系统的专门软件管理。的专门软件管理。 数据库用数据结构描述了数据
5、,数据间的联系。数据面向整个应用系统,数据库用数据结构描述了数据,数据间的联系。数据面向整个应用系统,减少冗余,真正实现数据在不同应用中共享。减少冗余,真正实现数据在不同应用中共享。 数据库管理系统(数据库管理系统(dbms,database management system)的三级模式,)的三级模式,有物理数据独立性,数据库只根据系统需求独立设计;逻辑数据独立性,有物理数据独立性,数据库只根据系统需求独立设计;逻辑数据独立性,特定用户以逻辑结构(视图)操作数据,大大提高了编程效率。特定用户以逻辑结构(视图)操作数据,大大提高了编程效率。 dbms 提供方便操作的用户接口,数据库的恢复,并发
6、控制,数据完整提供方便操作的用户接口,数据库的恢复,并发控制,数据完整性、安全性等控制功能,保证数据的安全,可靠性。性、安全性等控制功能,保证数据的安全,可靠性。 数据库系统以记录为单位操作数据,也可操作数据项,增加系统灵活性。数据库系统以记录为单位操作数据,也可操作数据项,增加系统灵活性。 从文件系统发展到数据库系统是信息处理领域中的一个重大变化,从文件系统发展到数据库系统是信息处理领域中的一个重大变化,以数据为中心。应用程序设计退居为外围地位。以数据为中心。应用程序设计退居为外围地位。程序a程序b程序cdbms数据库文 件 管理系统文件b程序a程序b程序c文件a2文件a1文件c第六章第六章
7、 数据资源管理技术数据资源管理技术 访问远程数据资源访问远程数据资源 计算机网络中有多台计算机访问数据资源,系统由三部分组成:计算机网络中有多台计算机访问数据资源,系统由三部分组成: 客户机(客户机(client)用户操作的多台个人(用户操作的多台个人(pc)计算机;)计算机; 服务器(服务器(server)数据集中存储的计算机。通常只有一台服务器,有些数据集中存储的计算机。通常只有一台服务器,有些系统配置有多台服务器;系统配置有多台服务器; 通信网络通信网络连接客户机和服务器的通信线路。连接客户机和服务器的通信线路。 传统的文件方式:传统的文件方式:客户机应用程序访问远程数据资源时,将文件服
8、务客户机应用程序访问远程数据资源时,将文件服务器上的数据文件装载到客户机上,应用程序在数据文件中找到它所需器上的数据文件装载到客户机上,应用程序在数据文件中找到它所需的数据,处理后再将整个数据文件回送文件服务器。的数据,处理后再将整个数据文件回送文件服务器。 整个远程数据资源访问过程都不可见,但占据了时间和网络总线的带宽。整个远程数据资源访问过程都不可见,但占据了时间和网络总线的带宽。 要求有较大内存容量,较强的处理能力的客户机。要求有较大内存容量,较强的处理能力的客户机。客户机客户机/ /服务器(服务器(c/sc/s,client/serverclient/server)方式:)方式:客户机
9、的应用程序请客户机的应用程序请求服务器查找它所需的数据,服务器将数据文件中匹配的数据返回。求服务器查找它所需的数据,服务器将数据文件中匹配的数据返回。 节省时间和网络的开销。节省时间和网络的开销。 发挥了服务器较强的处理功能,客户机只集中处理用户界面。发挥了服务器较强的处理功能,客户机只集中处理用户界面。 在两层在两层c/s结构中,客户机必须配置访问的各种数据库的驱动程序,成本结构中,客户机必须配置访问的各种数据库的驱动程序,成本高;用户还必须考虑配置和软件维护问题。三层高;用户还必须考虑配置和软件维护问题。三层c/s结构中,插入中间件结构中,插入中间件服务器,客户机仅需与中间件服务器驱动程序
10、通信,中间件服务器完成与服务器,客户机仅需与中间件服务器驱动程序通信,中间件服务器完成与服务器的不同数据库的驱动问题。服务器的不同数据库的驱动问题。第六章第六章 数据资源管理技术数据资源管理技术 访问远程数据资源访问远程数据资源 分布式客户分布式客户/服务器结构用于更复杂的和更有弹性的系统,系统中有服务器结构用于更复杂的和更有弹性的系统,系统中有多个分布配置的服务器,执行不同的功能或某些特殊功能。多个分布配置的服务器,执行不同的功能或某些特殊功能。浏览器浏览器/ /服务器(服务器(b/sb/s,browser/serverbrowser/server)方式:)方式:随着网络技术和随着网络技术和
11、web技术的发展,使用数据源的数据量剧增,开发技术的发展,使用数据源的数据量剧增,开发web数据库系统数据库系统十分有意义。十分有意义。 在在internet和和intranet上,如网上银行、在线购物、产品信息、市场调查上,如网上银行、在线购物、产品信息、市场调查分析、联机数据库查询等,到处可看到分析、联机数据库查询等,到处可看到web数据库的应用。数据库的应用。 web数据库基于数据库基于c/s结构的三层模式,即结构的三层模式,即browser/web server/db server,客户层是统一界面的浏览器,数据服务器为服务层,中间层是客户层是统一界面的浏览器,数据服务器为服务层,中间
12、层是web服务服务器和应用服务。用户通过浏览器的器和应用服务。用户通过浏览器的web页上输入信息,并发送到页上输入信息,并发送到web服服务器,通过应用程序访问数据库,将结果以图形、图像、文本或表的形务器,通过应用程序访问数据库,将结果以图形、图像、文本或表的形式返回浏览器。式返回浏览器。 一种特别感兴趣的网络计算机:一种特别感兴趣的网络计算机:没有磁盘驱动器或其它当地数据存没有磁盘驱动器或其它当地数据存储设备的储设备的pc机,使网络管理简化,又能处理图形用户界面,需要的机,使网络管理简化,又能处理图形用户界面,需要的是能在任何计算机上运行的图形用户界面,在服务器上修改某个驱是能在任何计算机上
13、运行的图形用户界面,在服务器上修改某个驱动程序或应用程序时,可以在该服务器的每个网络计算机客户机上动程序或应用程序时,可以在该服务器的每个网络计算机客户机上运行。运行。 面向对象的程序设计语言面向对象的程序设计语言java,使应用程序独立于异构网络上的多种平,使应用程序独立于异构网络上的多种平台,提供在任何计算机上运行的图形用户界面设计。台,提供在任何计算机上运行的图形用户界面设计。第六章第六章 数据资源管理技术数据资源管理技术 数据描述数据描述 现实世界:现实世界:现实世界是在人们头脑以外的客观世界(现实世界是在人们头脑以外的客观世界(real world),),对信息系统而言,组织的业务活
14、动涉及的物流、人、事、单位以及对信息系统而言,组织的业务活动涉及的物流、人、事、单位以及相关的数据,如库存管理,涉及货物的存放、进出、搜查等业务活相关的数据,如库存管理,涉及货物的存放、进出、搜查等业务活动。业务活动中抽取的数据为管理活动提供报表、汇总、统计分析动。业务活动中抽取的数据为管理活动提供报表、汇总、统计分析图等。图等。 信息世界:信息世界:人的认知一是从特殊到一般的归纳,二是从一般到特殊人的认知一是从特殊到一般的归纳,二是从一般到特殊的演绎。将现实世界中客观存在相互区别的事物或事件抽象为实体的演绎。将现实世界中客观存在相互区别的事物或事件抽象为实体集。实体集具有组成实体的共同的性质
15、(属性)集。实体集具有组成实体的共同的性质(属性)如学生实体集有姓名、如学生实体集有姓名、年龄、性别等共同属性。年龄、性别等共同属性。实体集中的具体实例实体集中的具体实例称实体,有具体的属性称实体,有具体的属性值,如某个学生姓名叫值,如某个学生姓名叫李四,年龄李四,年龄22岁,性别岁,性别为男等,属性值的不同为男等,属性值的不同用来区别不同的实体。用来区别不同的实体。实体标识符是某个属实体标识符是某个属性(代码)或一组属性,性(代码)或一组属性,唯一标别每个实体。唯一标别每个实体。属性字段现实世界现实世界信息世界信息世界计算机世界计算机世界事物类事物类实体集实体集事物事物性质性质实体实体属性属
16、性文件文件记录记录字段字段第六章第六章 数据资源管理技术数据资源管理技术 数据描述数据描述 计算机世界:计算机世界:是数据存储形式,在计算机中数据以文件方式存储,是数据存储形式,在计算机中数据以文件方式存储,并分下列层次:并分下列层次: 字段(字段(field)或称数据项:字段可以命名的最小数据单位,字段名表示)或称数据项:字段可以命名的最小数据单位,字段名表示实体的属性。字段值表示每个具体属性值或数据,一般分两大类型:数实体的属性。字段值表示每个具体属性值或数据,一般分两大类型:数值型和字符型。值型和字符型。 记录(记录(record):记录结构是字段有序集合,记录描述一个具体实体,):记录
17、结构是字段有序集合,记录描述一个具体实体,是字段值有序集合,实体属性的数据描述。是字段值有序集合,实体属性的数据描述。 例例 实体集:实体集: 学生(学号,学生(学号, 姓名,年龄,姓名,年龄, 性别,性别, ) 实体:实体: 99064111 李四李四 22 男男 文件(文件(file):文件是同一实体集的所有记录的集合,所有的学生记录组):文件是同一实体集的所有记录的集合,所有的学生记录组成一个学生文件。成一个学生文件。 其中,主关键字(其中,主关键字(key)简称主键,是能唯一标识文件中每个记录的字)简称主键,是能唯一标识文件中每个记录的字段或字段集,与信息世界中实体标识符的概念相对应。
18、段或字段集,与信息世界中实体标识符的概念相对应。 数据库是数据层次最高一层,它是综合的、相关的文件集合,它表示一数据库是数据层次最高一层,它是综合的、相关的文件集合,它表示一个应用项目中相关的实体集的集合及实体集间的关联。个应用项目中相关的实体集的集合及实体集间的关联。 我们可以不必关心数据的存储结构和具体实现方式,因为数据库系我们可以不必关心数据的存储结构和具体实现方式,因为数据库系统的目标之一,是用户能简单、方便地访问数据库中的数据。统的目标之一,是用户能简单、方便地访问数据库中的数据。第六章第六章 数据资源管理技术数据资源管理技术 数据库数据模型:逻辑模型和物理模型。数据库数据模型:逻辑
19、模型和物理模型。 逻辑模型逻辑模型不涉及数据的表示、物理实现,只描述从系统需求到信息世界的不涉及数据的表示、物理实现,只描述从系统需求到信息世界的高层抽象的信息模型。高层抽象的信息模型。 创建数据逻辑模型的工具是实体联系(创建数据逻辑模型的工具是实体联系(e-r)图。)图。 物理模型物理模型面向信息模型所采用的具体数据结构,第二层抽象。数据的物理面向信息模型所采用的具体数据结构,第二层抽象。数据的物理模型有严格形式化定义,便于计算机中实现数据的存储和访问。模型有严格形式化定义,便于计算机中实现数据的存储和访问。 实体间的联系:实体间的联系:其联系方式不外乎三种:其联系方式不外乎三种: 一对一(
20、一对一(1:1)联系:)联系:在两个实体集中,一方的一个实体最多与另一方对应的一在两个实体集中,一方的一个实体最多与另一方对应的一个实体相联系。例如,已婚男性集合和已婚女性集合间实体关系是一对一的联系。个实体相联系。例如,已婚男性集合和已婚女性集合间实体关系是一对一的联系。 一对多(一对多(1:m)联系:)联系:在两个实体集中,一方的一个实体与另一方对应的若干个在两个实体集中,一方的一个实体与另一方对应的若干个实体相联系;反之,另一方的一个实体最多对应一方的一个实体,称一对多联系。实体相联系;反之,另一方的一个实体最多对应一方的一个实体,称一对多联系。 例如,一个组织部门和职工,在一个具体部门
21、工作的职工有若干个,而一个职工只在一例如,一个组织部门和职工,在一个具体部门工作的职工有若干个,而一个职工只在一个部门工作,工作将部门和职工两个实体联系在一起,是一对多的联系。个部门工作,工作将部门和职工两个实体联系在一起,是一对多的联系。 多对多(多对多(m:n)联系:)联系:若两个实体集中,任何一方的一个实体都对应另一方的若两个实体集中,任何一方的一个实体都对应另一方的若干个实体,称多对多联系。若干个实体,称多对多联系。 例如,在教学管理中学生和课程,一个具体学生可选修若干门课程,反之,一门课程可例如,在教学管理中学生和课程,一个具体学生可选修若干门课程,反之,一门课程可以被若干个同学选修
22、,选修将学生和课程两个实体联系在一起,是多对多的联系。以被若干个同学选修,选修将学生和课程两个实体联系在一起,是多对多的联系。 实体有属性,联系也有属性。实体有属性,联系也有属性。例如,学生和课程的选修多对多的联系有成绩属性。例如,学生和课程的选修多对多的联系有成绩属性。 除多对多联系的属性外,一对一和一对多联系的属性,一般都可归併相应的实体属性中。除多对多联系的属性外,一对一和一对多联系的属性,一般都可归併相应的实体属性中。 递归联系是一个实体与自身相联系,也有一对一,一对多和多对多的联系。例如一个组递归联系是一个实体与自身相联系,也有一对一,一对多和多对多的联系。例如一个组件可以由多个零件
23、组装而成,而一个零件又可以在多个组件中组装使用,这就是多对多件可以由多个零件组装而成,而一个零件又可以在多个组件中组装使用,这就是多对多的递归联系,组装使用数量则是联系的属性。的递归联系,组装使用数量则是联系的属性。 对对1:1(m)递归联系,事实上是超类与子类的联系,如职工与干部、领导的联系。)递归联系,事实上是超类与子类的联系,如职工与干部、领导的联系。第六章第六章 数据资源管理技术数据资源管理技术 数据库数据模型数据库数据模型 实体联系实体联系e er r图图(entity relationship diagram):):数据的逻辑模型强调语义数据的逻辑模型强调语义表达功能,概念简单、清
24、晰,易于理解,便于数据库设计人员和用户交流,表达功能,概念简单、清晰,易于理解,便于数据库设计人员和用户交流,启发、检验、返回补充系统需求。启发、检验、返回补充系统需求。 e-r图使用图形符号表示组织业务活动涉及的实体及实体间联系。图使用图形符号表示组织业务活动涉及的实体及实体间联系。 矩形框表示实体,两部分分别表示实体标识及其属性;菱形表示实体间的联系,矩形框表示实体,两部分分别表示实体标识及其属性;菱形表示实体间的联系,带有联系方式的直线相关的实体连接,关系有属性直接附于菱形框。带有联系方式的直线相关的实体连接,关系有属性直接附于菱形框。 在实际系统中往往有多个相互关联的实体,作图也比较复
25、杂。在实际系统中往往有多个相互关联的实体,作图也比较复杂。 例例 仓库主要管理零件入库、出库及采购等事项。工程项目需要仓库提供零件,仓库主要管理零件入库、出库及采购等事项。工程项目需要仓库提供零件,仓库需要向零件供应商采购零件,仓库需要向零件供应商采购零件, 建立建立e-r图过程:确定实体集;确定实体间关系;确定实体集名称和属性。图过程:确定实体集;确定实体间关系;确定实体集名称和属性。工程项目工程项目 (项目编号(项目编号j#,项目名称,项目名称jname,开工日期开工日期date)零件零件 (零件编号(零件编号p#,零件名称零件名称pname,规格,规格psize,重量,重量pweight
26、)供应商供应商 (供应商代号(供应商代号s#,姓名,姓名sname,地址,地址sadr)第六章第六章 数据资源管理技术数据资源管理技术 数据库数据模型数据库数据模型 数据的物理模型数据的物理模型数据库的数据结构。数据库的数据结构。 层次层次或树状或树状模型:模型:用倒树结构表示实体及实体间关系。树的结点是记录类型,用倒树结构表示实体及实体间关系。树的结点是记录类型,非根结点只有一个父结点,上层与下层间是一对多的关系。非根结点只有一个父结点,上层与下层间是一对多的关系。 特点是记录间的联系依靠指针,查询效率高。缺点是只能表示一对多的联系,多特点是记录间的联系依靠指针,查询效率高。缺点是只能表示一
27、对多的联系,多对多联系实现复杂困难;数据查询、更新复杂、编程比较复杂。对多联系实现复杂困难;数据查询、更新复杂、编程比较复杂。 网状模型:网状模型:用有向图表示实体及实体间关系。有向图的结点是记录类型,有用有向图表示实体及实体间关系。有向图的结点是记录类型,有向边从箭尾端记录类型到箭头端记录类型是一对多关系。向边从箭尾端记录类型到箭头端记录类型是一对多关系。 特点是记录之间的联系用指针,多对多的关系亦可拆成两个一对多的关系。模型特点是记录之间的联系用指针,多对多的关系亦可拆成两个一对多的关系。模型易于实现,查询效率较高,缺点是编写程序比较复杂,程序员必须熟悉数据库的易于实现,查询效率较高,缺点
28、是编写程序比较复杂,程序员必须熟悉数据库的逻辑结构。逻辑结构。 关系模型:关系模型:用二维表格表达实体集,外键表示实体间关系。用二维表格表达实体集,外键表示实体间关系。 与层次网状模型相比,简单易懂,编程与层次网状模型相比,简单易懂,编程方便方便,集合论是关系模型的数学基础。,集合论是关系模型的数学基础。 关系数据库的标准化语言关系数据库的标准化语言sql已得到广泛应用。典型关系数据库管理系统已得到广泛应用。典型关系数据库管理系统dbms产品有产品有db2,oracele,sybase,informix和微机产品和微机产品foxpro,access等。等。 概念简单,易于理解,多对多的关系可简
29、单地分解二个一对多的关系。实体集的概念简单,易于理解,多对多的关系可简单地分解二个一对多的关系。实体集的主键用直线下划线表示,则上节仓库管理的实体及实体间关系可表示:主键用直线下划线表示,则上节仓库管理的实体及实体间关系可表示:工程项目工程项目(j#, jname, date) 零件零件(p#, pname, psize, pweight) 供应商供应商(s#, sname, saddr) 供需关系供需关系 (j#, p#, total) 需供关系需供关系 (p#, s#, quantity)第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统数据库管理系统 dbmsdbms dbms
30、 dbms 是一个提供对共享数据可靠管理用的软件,数据库系统的核心。是一个提供对共享数据可靠管理用的软件,数据库系统的核心。 dbms dbms 对数据库定义、提供用户视图、查询、更新等一切操作,用作数据库与应用对数据库定义、提供用户视图、查询、更新等一切操作,用作数据库与应用程序之间,或数据库与用户之间的接口。程序之间,或数据库与用户之间的接口。 三级模式结构:三级模式结构:内模式、概念模式和外模式。内模式、概念模式和外模式。 外模式(外模式(external schema):):单个用户使用的数据视图,是概念模式的一个子集。单个用户使用的数据视图,是概念模式的一个子集。 概念模式(概念模式
31、(conceptual):):所有用户的数据定义,系统的、全局的数据视图。所有用户的数据定义,系统的、全局的数据视图。 内模式(内模式(internet):):涉及的数据存储结构,物理存储数据视图,又称存储模式。涉及的数据存储结构,物理存储数据视图,又称存储模式。 数据据库数据的三个抽象级别,使用户只要抽象地处理数据,不必关心数据的表示数据据库数据的三个抽象级别,使用户只要抽象地处理数据,不必关心数据的表示和存储,数据的具体组织、管理工作交给和存储,数据的具体组织、管理工作交给dbms,减轻用户使用系统的负担。,减轻用户使用系统的负担。 数据在三级模式间差别很大,数据在三级模式间差别很大, d
32、bms dbms 在三级模式间提供两个层次的映射在三级模式间提供两个层次的映射外模式到外模式到概念模式、概念模式到内模式映射。概念模式、概念模式到内模式映射。 两级数据独立性:两级数据独立性: 数据库的逻辑独立性:数据库的逻辑独立性:概念模式的修改不影响外模式,只需改变外模式到概念模式概念模式的修改不影响外模式,只需改变外模式到概念模式的映射关系,从而保证子模式不变,应用程序亦无须修改。数据的逻辑独立性,简的映射关系,从而保证子模式不变,应用程序亦无须修改。数据的逻辑独立性,简化了数据库系统应用程序的设计工作。化了数据库系统应用程序的设计工作。 数据库的物理独立性:数据库的物理独立性:内模式的
33、修改不影响概念模式,只需改变概念模式到存储模内模式的修改不影响概念模式,只需改变概念模式到存储模式的映射关系。使数据库只需根据系统需求独立设计,又因为有数据库的逻辑数据式的映射关系。使数据库只需根据系统需求独立设计,又因为有数据库的逻辑数据独立性,从而保证对于外模式和应用程序不受存储模式影响,简化了数据库系统应独立性,从而保证对于外模式和应用程序不受存储模式影响,简化了数据库系统应用系统的开发、设计工作。用系统的开发、设计工作。 两级独立性简化应用系统的开发,提高开发效率。两级独立性简化应用系统的开发,提高开发效率。 概念模式能导出不同应用的多种子模式,减少数据冗余,保证数据的一致性,有利于数
34、概念模式能导出不同应用的多种子模式,减少数据冗余,保证数据的一致性,有利于数据共享。应用程序只操作自己的子模式范围内的数据,把数据库中其他用户的数据隔离,据共享。应用程序只操作自己的子模式范围内的数据,把数据库中其他用户的数据隔离,用户对数据库概念模式和存储模式的数据都不可见,有利于数据的安全性和保密性。用户对数据库概念模式和存储模式的数据都不可见,有利于数据的安全性和保密性。 第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统的组成:数据库管理系统的组成:查询处理器和存储管理器。查询处理器和存储管理器。 查询处理器:查询处理器:查询处理器主要包括有查询处理器主要包括有ddl编译器、
35、编译器、dml编译器、嵌入型编译器、嵌入型dml预编译器、查询运行核心程序。预编译器、查询运行核心程序。 数据描述语言数据描述语言ddl(data description language):定义数据库的三级结构及其):定义数据库的三级结构及其相互之间的映射,定义数据完整性、安全控制等约束。数据库系统中存储三级结相互之间的映射,定义数据完整性、安全控制等约束。数据库系统中存储三级结构定义的数据库称数据字典(构定义的数据库称数据字典(data dictionary,dd)。)。 数据操纵语言数据操纵语言dml(data manipulation language):实现数据操作。基本的操):实现
36、数据操作。基本的操作有查询、插入、删除、更新等四种。作有查询、插入、删除、更新等四种。dml分交互型和嵌入型两种。分交互型和嵌入型两种。 dml语言分:过程性的语言分:过程性的dml必需指示必需指示“做什么做什么”和和“怎么做怎么做”,层次、网状的,层次、网状的dml属过程性属过程性dml。非过程性的。非过程性的dml,如关系型的,如关系型的dml,只需指示,只需指示“做什么做什么”就可,操作简单、使用方便,深受广大用户欢迎。就可,操作简单、使用方便,深受广大用户欢迎。 存储管理器:存储管理器:存储管理器主要包括有授权和完整性管理器、事务管理器、文存储管理器主要包括有授权和完整性管理器、事务管
37、理器、文件管理器、缓冲管理器等,提供数据库保护功能如数据恢复、并发控制、数件管理器、缓冲管理器等,提供数据库保护功能如数据恢复、并发控制、数据库完整性和安全性控制。据库完整性和安全性控制。 安全性保护:安全性保护:规定用户访问数据库的权限防止非法用户窃取的安全、保密保护措规定用户访问数据库的权限防止非法用户窃取的安全、保密保护措施。系统可采取多种措施,如鉴定用户身份、口令、数据编密码等安全性保护。施。系统可采取多种措施,如鉴定用户身份、口令、数据编密码等安全性保护。 完整性管理:完整性管理:完整性指数据的正确性和一致性,通过对数据及数据间的逻辑关系完整性指数据的正确性和一致性,通过对数据及数据
38、间的逻辑关系施加约束条件来实现。如对字段值类型、取值范围、精度等约束,对实体唯一性施加约束条件来实现。如对字段值类型、取值范围、精度等约束,对实体唯一性约束,对实体间联系的约束等。约束,对实体间联系的约束等。 故障恢复:故障恢复:数据库在运行过程中难免会造成数据库被破坏,如磁盘损坏、病毒、数据库在运行过程中难免会造成数据库被破坏,如磁盘损坏、病毒、或操作不当等偶然因素使数据丢失,系统能恢复到破坏前的状态称故障恢复。或操作不当等偶然因素使数据丢失,系统能恢复到破坏前的状态称故障恢复。 在使用故障恢复功能时,数据备份,事务管理必不可少。在使用故障恢复功能时,数据备份,事务管理必不可少。 并发控制:
39、并发控制:在多用户或网络应用中的数据库,多个用户操作同一数据时,必须控在多用户或网络应用中的数据库,多个用户操作同一数据时,必须控制不合理的时差有可能造成数据出错现象。制不合理的时差有可能造成数据出错现象。第六章第六章 数据资源管理技术数据资源管理技术数据库管理系统的组成数据库管理系统的组成 存储管理器:存储管理器: 并发错误解决方法是控制相关进程互斥地访问数据库,如用加锁和开锁控制。用并发错误解决方法是控制相关进程互斥地访问数据库,如用加锁和开锁控制。用户程序中使用锁,就可能存在死锁问题。编写应用程序时,必须采取预防死锁的户程序中使用锁,就可能存在死锁问题。编写应用程序时,必须采取预防死锁的
40、措施。措施。 数据库的维护功能提供数据库管理员运行数据库的维护功能提供数据库管理员运行db系统时使用。如数据导入、备份、文系统时使用。如数据导入、备份、文件重组、性能监控等,确保数据库保持最佳工作状态。件重组、性能监控等,确保数据库保持最佳工作状态。 用户界面:用户界面:用户是指使用管理信息系统应用程序的联机终端用户。程序员用用户是指使用管理信息系统应用程序的联机终端用户。程序员用程序设计语言(称宿主语言),设计数据库应用程序或用户界面,编写数据程序设计语言(称宿主语言),设计数据库应用程序或用户界面,编写数据库应用系统。库应用系统。 dbms 主要由数据定义语言主要由数据定义语言ddl和数据
41、操作语言和数据操作语言dml组成,是基于记录模式的语组成,是基于记录模式的语言,程序设计语言是基于整数、实数、字符、记录、数组等数据类型的运算模式言,程序设计语言是基于整数、实数、字符、记录、数组等数据类型的运算模式的语言,两者之间有的语言,两者之间有“缝隙缝隙”。 例如,例如,sql语言不能直接使用指针,数组等数据结构,程序设计语言也没有语言不能直接使用指针,数组等数据结构,程序设计语言也没有ddl、dml。 有二种处理方式:一是扩充宿主语言的编译程序,使之能处理有二种处理方式:一是扩充宿主语言的编译程序,使之能处理 sql语句,如语句,如vc+、vb 等。另一种是自含语言,等。另一种是自含
42、语言,dbms 有自己的编译器,也有程序控制命令,有自己的编译器,也有程序控制命令,可直接用于编写数据库应用程序,如可直接用于编写数据库应用程序,如 vfp、delphi 等,使用方便,很受欢迎。等,使用方便,很受欢迎。第六章第六章 数据资源管理技术数据资源管理技术 关系型数据库关系型数据库 关系模型的特点:关系模型的特点:数据结构是二维表格,简单易理解;集合论是其理数据结构是二维表格,简单易理解;集合论是其理论基础论基础有严密的关系运算理论和关系模式设计理论:有严密的关系运算理论和关系模式设计理论: 关系模型面向集合处理,一次可操作多个元组,层次、网状模型一次只关系模型面向集合处理,一次可操
43、作多个元组,层次、网状模型一次只能操作一个元组;能操作一个元组; 关系模型有视图等工具,应用不随数据库改变而改变,有数据逻辑独立关系模型有视图等工具,应用不随数据库改变而改变,有数据逻辑独立性;性; rdbms 只需指出只需指出“做什么做什么”不必指出不必指出“怎么做怎么做”,层次、网状模型必,层次、网状模型必须在应用程序中用指针指出数据访问路径。须在应用程序中用指针指出数据访问路径。 关系型数据库的基本概念关系型数据库的基本概念 数据库的数据结构是一个由元组行和属性列组成的关系,或直接称作二维表或表,数据库的数据结构是一个由元组行和属性列组成的关系,或直接称作二维表或表,用以表示实体集。用外
44、键实现实体集间的联系。用以表示实体集。用外键实现实体集间的联系。 关系的定义:关系的定义:关系是元组的集合,元组是集合中的元素,一个元组为关系是元组的集合,元组是集合中的元素,一个元组为k(k=1)个属性的集合。关系有如下限制:个属性的集合。关系有如下限制: 1)关系中每一个属性值不可分解,即不允许)关系中每一个属性值不可分解,即不允许“表中套表表中套表”,也不允许出现重复值。,也不允许出现重复值。 2)属性的取值范围称值域,每个属性对应一个值域,不同属性可对应同一值域。关系)属性的取值范围称值域,每个属性对应一个值域,不同属性可对应同一值域。关系中各属性的次序不改变关系的实际意义。元组中属性
45、理论上是无序的,但在用户使用时中各属性的次序不改变关系的实际意义。元组中属性理论上是无序的,但在用户使用时应考虑其有序排列。应考虑其有序排列。 3)关系中元组代表具体实体,不允许出现相同元组。元组的顺序不改变关系的意义。)关系中元组代表具体实体,不允许出现相同元组。元组的顺序不改变关系的意义。 实际上,关系、元组和属性等术语来自于关系数学,多数人习惯直接将关系称为实际上,关系、元组和属性等术语来自于关系数学,多数人习惯直接将关系称为表,元组称为记录或行,属性称为字段或列。表,元组称为记录或行,属性称为字段或列。第六章第六章 数据资源管理技术数据资源管理技术 关系型数据库关系型数据库 键(键(k
46、eykey)又称关键字又称关键字关系模型的一个重要概念,键是由一个或多个属性关系模型的一个重要概念,键是由一个或多个属性组成。有下列几种键:组成。有下列几种键: 超键(超键(super key):):在关系模式中,能标识唯一元组的属性集。在关系模式中,能标识唯一元组的属性集。 侯选键(侯选键(candidate key):):能标识唯一元组又无多余属性的属性集。能标识唯一元组又无多余属性的属性集。 主键(主关键字):主键(主关键字):用户选择使用的标识唯一元组的一个侯选键。主键必须唯一,用户选择使用的标识唯一元组的一个侯选键。主键必须唯一,不能为空(不能为空(null),以保证标识唯一元组。)
47、,以保证标识唯一元组。 外键:外键:如果关系如果关系r中的主键又是另一个关系中的主键又是另一个关系p的侯选键的组成部分,则它是关系的侯选键的组成部分,则它是关系p的外部主键或简称外键。外键不是关系的外部主键或简称外键。外键不是关系p的主键,但用它构成关系的主键,但用它构成关系r和和p的联系。的联系。 次键又称次关键字:次键又称次关键字:用以标识一类元组的一个或多个属性。用以标识一类元组的一个或多个属性。 关系数据模型的完整性规则关系数据模型的完整性规则 字段(用户定义)完整性:字段(用户定义)完整性:针对某个具体数据项的约束条件,取决于环境。系统针对某个具体数据项的约束条件,取决于环境。系统提
48、供定义和检验完整性的机制,无需应用程序承担,保证收集数据的准确性。提供定义和检验完整性的机制,无需应用程序承担,保证收集数据的准确性。 如学生年龄定义为两位数,可进一步限制为如学生年龄定义为两位数,可进一步限制为1530之间,保证系统收集准确的数据。之间,保证系统收集准确的数据。 记录(实体)完整性:记录(实体)完整性:要求关系中元组在主键的属性值不能为空,否则不能起到要求关系中元组在主键的属性值不能为空,否则不能起到唯一标识元组的作用;取决环境,要求元组中某些属性之间的相互约束条件。唯一标识元组的作用;取决环境,要求元组中某些属性之间的相互约束条件。 如在职工实体集中,职工的年龄应大于等于工
49、龄如在职工实体集中,职工的年龄应大于等于工龄+16,否则为非法记录。,否则为非法记录。 引用完整性又称参照完整性:引用完整性又称参照完整性:关系数据库中依靠外码实现表间的联系,不允许引关系数据库中依靠外码实现表间的联系,不允许引用不存在的元组。否则将导致插入或删除异常现象,出现孤立无联系的元组。用不存在的元组。否则将导致插入或删除异常现象,出现孤立无联系的元组。 如插入一个职工,外码车间号是允许置为空(如插入一个职工,外码车间号是允许置为空(null),但不允许车间号的值不在车间),但不允许车间号的值不在车间表中。若要删除车间表中某个元组,对职工表中对应的车间号是必须采取三种方法之一表中。若要
50、删除车间表中某个元组,对职工表中对应的车间号是必须采取三种方法之一才能保证引用完整性:一是删除职工表中相关的元组;二是将职工表中相关元组车间号才能保证引用完整性:一是删除职工表中相关的元组;二是将职工表中相关元组车间号为空,或其它存在的车间号;三是若职工表中存在要删除车间号时,禁止删除。为空,或其它存在的车间号;三是若职工表中存在要删除车间号时,禁止删除。第六章第六章 数据资源管理技术数据资源管理技术 关系模型的操作关系模型的操作 关系模型集中反映在关系代数上,它允许用户在整个关系范围内进行操作,关系模型集中反映在关系代数上,它允许用户在整个关系范围内进行操作,非关系模型所支持的语言一般只能操
51、作数据库的一个记录。非关系模型所支持的语言一般只能操作数据库的一个记录。 关系模型的操作分为两类:代数操作和关系操作。投影、筛选和联结是所有关系模型的操作分为两类:代数操作和关系操作。投影、筛选和联结是所有rdbms必备的关系操作,称关系数据库的特征操作。必备的关系操作,称关系数据库的特征操作。 投影(投影(projection):):投影操作从关系中垂直地选择指定的列,消去一些列,投影操作从关系中垂直地选择指定的列,消去一些列,并重新安排列的顺序构成的关系。即关系进行重点减维,满足某些属性要求,并重新安排列的顺序构成的关系。即关系进行重点减维,满足某些属性要求,重新组成的关系。重新组成的关系
52、。 筛选(筛选(select):):筛选操作从关系中水平地选择出满足条件要求的元组子集筛选操作从关系中水平地选择出满足条件要求的元组子集构成的关系。构成的关系。 联结(联结(join):):联结是双目操作,它把两个关系联结成一个新关系,笛卡儿联结是双目操作,它把两个关系联结成一个新关系,笛卡儿积是基础。积是基础。 笛卡儿积(笛卡儿积(cartesian product):):设关系设关系r和和s的元数分别为的元数分别为r和和s ,则,则r和和s 的笛的笛卡儿积是一个(卡儿积是一个(r+s)元的元组集合,每个元组前)元的元组集合,每个元组前r个分量来自个分量来自r的一个元组,后的一个元组,后s个
53、分量来自个分量来自s的一个元组。笛卡儿积联结所得的表(元组和列数)往往十分庞大,的一个元组。笛卡儿积联结所得的表(元组和列数)往往十分庞大,而实际意义不大。而实际意义不大。 条件联结:条件联结:是关系是关系r和和s的笛卡儿积中选出满足的笛卡儿积中选出满足条件两个关系的元组。条件两个关系的元组。 自然联结(自然联结(natural join):):是实用价值很大的一种联结,它要求被联结的两个关是实用价值很大的一种联结,它要求被联结的两个关系有若干相同的属性(字段)名。在公共属性上具有相等值为依据,进行元组合系有若干相同的属性(字段)名。在公共属性上具有相等值为依据,进行元组合并构成的关系。自然联
54、结先做并构成的关系。自然联结先做rs计算,再从公共属性上具有相等值为条件筛计算,再从公共属性上具有相等值为条件筛选,提取满足条件的元组,去掉重复的公共属性,得到自然联结的结果。选,提取满足条件的元组,去掉重复的公共属性,得到自然联结的结果。第六章第六章 数据资源管理技术数据资源管理技术 关系型数据库关系型数据库 结构化查询语言结构化查询语言sqlsql(structured query language)查询命令查询命令 sql确定为美国国家标准和国际标准的关系数据库语言。目前所有的关系型数据库确定为美国国家标准和国际标准的关系数据库语言。目前所有的关系型数据库管理系统,从大型数据库到微机关系
55、型数据库管理系统都支持管理系统,从大型数据库到微机关系型数据库管理系统都支持sql。 程序设计人员和终端用户,使用程序设计人员和终端用户,使用sql语言对数据库中的数据进行检索、修改、定义语言对数据库中的数据进行检索、修改、定义和管理。和管理。sql包括:数据定义、数据查询、数据操纵和数据控制。包括:数据定义、数据查询、数据操纵和数据控制。 特点:特点:sql语言既是自含式语言,又是嵌入式语言。可用于联机交互使用方式,便语言既是自含式语言,又是嵌入式语言。可用于联机交互使用方式,便于数据库管理员维护数据库和提取信息,又可嵌入程序设计高级语言的程序中,便于数据库管理员维护数据库和提取信息,又可嵌
56、入程序设计高级语言的程序中,便于编写数据库应用程序;于编写数据库应用程序;sql语言是面向问题型的语言,在进行数据操作时,只需语言是面向问题型的语言,在进行数据操作时,只需指出指出“做什么做什么”,不必指出,不必指出“怎么做怎么做”,大大减轻了用户的负担;加之功能丰富,大大减轻了用户的负担;加之功能丰富,语法简单、易学易用,深受用户欢迎。语法简单、易学易用,深受用户欢迎。 查询是查询是sql的核心,的核心,foxpro 数据库查询命令格式数据库查询命令格式: select all/distinct别名别名.选择项选择项as 别名别名,别名别名.选择项选择项as 别名别名 from 表名表名表别
57、名表别名,表名,表名表别名表别名 into 目标表名目标表名/to file 文件名文件名additive/to printerprompt/to screen where 条件条件 group by 分组列分组列,分组列,分组列 having 过滤条件过滤条件 union all select 命令命令 order by 排序项排序项 asc/desc,排序项,排序项 asc/desc 该查询命令共有七个子句,除该查询命令共有七个子句,除select和和from子句外,其它可以任选。子句外,其它可以任选。第六章第六章 数据资源管理技术数据资源管理技术关系型数据库关系型数据库 sqlsql查询
58、命令查询命令 foxpro 数据库查询命令格式:数据库查询命令格式:from子句用来指明查询出自一个或多个表的表子句用来指明查询出自一个或多个表的表名;名;into短语指明查询结果目标表的去向,忽略短语指明查询结果目标表的去向,忽略into短语表明查询结果出现短语表明查询结果出现在在browse浏览窗口中。浏览窗口中。select子句指明查询表(一个或多个表)投影字段,子句指明查询表(一个或多个表)投影字段,选择项还可以是常量、表达式和系统函数,如选择项还可以是常量、表达式和系统函数,如avg,max,min,count和和sum等用以建立目标表的新字段,用等用以建立目标表的新字段,用“as
59、别名别名”指定新字段名。指定新字段名。where子句子句指明查询表记录筛选条件和查询表为多个表时的联接条件,多表条件筛选选中指明查询表记录筛选条件和查询表为多个表时的联接条件,多表条件筛选选中记录构成目标表的记录集合。忽略记录构成目标表的记录集合。忽略where子句表明无筛选或联接条件。子句表明无筛选或联接条件。 group by子句将查询结果分组;子句将查询结果分组;having子句和子句和group by子句联用通过子句联用通过“过滤条件过滤条件” 进一步说明分组;进一步说明分组;union 子句中,由子句中,由select命令组成另一个子命令组成另一个子查询,将当前查询结果与子查询的结果
60、进行并操作;查询,将当前查询结果与子查询的结果进行并操作;order by将查询结果排将查询结果排序。序。 例例 查询查询“职工工资职工工资”表、显示女职工而且基本工资大于表、显示女职工而且基本工资大于300元的职工名单,要元的职工名单,要求显示职工姓名,性别,工作部门,工作日期,基本工资和应发工资。其中应求显示职工姓名,性别,工作部门,工作日期,基本工资和应发工资。其中应发工资是新添字段,应发工资发工资是新添字段,应发工资=基本工资基本工资+煤粮补贴煤粮补贴+副食补贴。查询命令:副食补贴。查询命令: select 职工姓名,性别,工作部门,工作日期,基本工资,基本工资职工姓名,性别,工作部门
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客服给员工培训
- 辽沈战役课件与
- 中国历史文选 课件 第五讲 韩非子;第六讲 秦始皇本纪
- 文化旅游产业资金申请2025年政策导向与市场分析报告
- 2025年3D打印技术的3D打印工艺
- 2025年3D打印的复合材料性能研究
- 交通银行2025怒江傈僳族自治州金融科技岗笔试题及答案
- 邮储银行2025盐城市秋招英文面试题库及高分回答
- 邮储银行2025普洱市金融科技岗笔试题及答案
- 教师招聘之《小学教师招聘》能力提升试题打印及一套参考答案详解
- 数字时代的艺术史重构-洞察及研究
- 中医药健康知识讲座课件
- XXX学校教辅材料选用方案范文
- 劳务关系工伤补偿协议书
- 中医基础课件下载
- 胃息肉个案护理
- 汽车配件库存表
- 【教学评一体化】第五单元 观世间万物悟人生哲思【大单元公开课一等奖创新教学设计】新统编版语文七年级下册名师备课
- 2024-2025学年人教版八年级物理下册(全册)教案
- 护理文书书写规范2025
- 工程项目资源配置方案
评论
0/150
提交评论