工学信息系统与数据库.pptx
会计学1工学信息系统与数据库工学信息系统与数据库什么是计算机信息系统什么是计算机信息系统什么是计算机信息系统什么是计算机信息系统 (1)(1)n n n n 计算机信息系统(Computer_based Information System,简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。n n 4个主要技术特点:n n 数据量大,一般需存放在外存中 数据长久持续有效(持久性)数据共享使用(共享性)提供多种信息服务(功能多样性)(管理,检索,分析,决策等).第1页/共121页什么是计算机信息系统什么是计算机信息系统什么是计算机信息系统什么是计算机信息系统 (2)(2)n n 信息系统是一种面广量大的计算机应用系统信息系统是一种面广量大的计算机应用系统:n n 教学管理系统教学管理系统n n 地理信息系统地理信息系统n n 信息检索系统信息检索系统n n 医学信息系统医学信息系统n n 决策支持系统决策支持系统n n 民航订票系统民航订票系统n n 电子政务系统电子政务系统n n 电子商务系统电子商务系统n n .第2页/共121页计算机信息系统计算机信息系统计算机信息系统计算机信息系统 的类型的类型的类型的类型 (1)(1)n n 从信息处理的深度来区分信息系统,n n 基本可分为3大类:业务处理系统信息检索系统信息分析系统管理业务系统辅助技术系统办公信息系统第3页/共121页计算机信息系统计算机信息系统计算机信息系统计算机信息系统 的类型的类型的类型的类型 (2)(2)n n业务处理系统n n n n 由于在企事业单位中,不同层次的业务处理系统服务对象不同,因而可以进一步将划分.管理业务系统辅助技术系统办公信息系统第4页/共121页计算机信息系统计算机信息系统计算机信息系统计算机信息系统 的类型的类型的类型的类型 (3)(3)n n 管理业务系统 辅助技术系统 办公信息系统 面向操作层次 面向管理层次 业务处理自动化,提高工效率和质量.划分:按业务层次进一步划分业务处理系统第5页/共121页计算机信息系统计算机信息系统计算机信息系统计算机信息系统 的类型的类型的类型的类型 (4)(4)n n业务处理系统业务处理系统n n n n管理业务系统管理业务系统n n n n辅助技术系统辅助技术系统 n n n n办公信息系统办公信息系统 n又称OA,以先进设备与相关技术构成服务于办公事务的信息系统,按工作流技术充分利用信息资源,提高协同办公效率和质量辅助技术人员在特定应用领域(如工程设计、音乐制作、广告设计等)内完成相应的任务.诸如:.CAD,CAM,CAPP等第6页/共121页计算机信息系统计算机信息系统计算机信息系统计算机信息系统 的类型的类型的类型的类型 (5)(5)n n n n 业务处理系统n n n n 信息检索系统n n n n 信息分析系统 一种高层次的信息系统,为管理决策人员掌握部门运行规律和 趋势,制订规划、进行决策的辅助系统。例如:决策支持系统(DSS),专家系统 等 将原始信息进一步处理并存储专门供检索用的DB中。用户检索匹配获得信息.例如:中国科技文献库、专利数据库、学位论文数据库,DIALOG、ORBIT以及WE检索系统等.第7页/共121页信息系统的结构和发展趋势信息系统的结构和发展趋势n n基础设施层基础设施层:硬件、系统软件和网络;硬件、系统软件和网络;n n资源管理层资源管理层:包括各类数据信息,资源管理系统;包括各类数据信息,资源管理系统;n n业务逻辑层业务逻辑层:实现应用部门业务功能、流程、规则、实现应用部门业务功能、流程、规则、n n 策略等的处理程序构成;策略等的处理程序构成;n n应用表现层,通过人机交互方式,向用户展现结果,应用表现层,通过人机交互方式,向用户展现结果,n n 如如WebWeb浏览器界面。浏览器界面。信息系统的结构:第8页/共121页信息系统的结构和发展趋势信息系统的结构和发展趋势信息系统的结构和发展趋势信息系统的结构和发展趋势(选学选学选学选学)(2)(2)n n 信息系统的结构信息系统的结构:n n 实现业务功能的流程、规则、策略和程序.向用户显示信息处理结果.如Web浏览器的界面.支持系统运行的硬件,系统软件和网络.各类数据信息,资源管理系统.主要有数据库管理系统等.第9页/共121页信息系统的结构和发展趋势信息系统的结构和发展趋势n n 新的应用需求和新的计算机技术是推动新的应用需求和新的计算机技术是推动n n 信息系统发展的动力。目前,信息系统有信息系统发展的动力。目前,信息系统有n n 下列共同的发展趋势下列共同的发展趋势:n n (1)系统集成化 (2)信息多媒体化 (3)功能智能化 (4)结构分布化 第10页/共121页第第6章章 信息系统与数据库信息系统与数据库6.2 关系数据库系统 数据管理的应用需求 数据库系统的组成和特点 关系数据模型(结构.完整性.操作)关系数据库语言SQL 关系数据库系统以应用新技术 第11页/共121页 数据管理的应用需求数据管理的应用需求数据管理的应用需求数据管理的应用需求 (1)(1)一个应用实例一个应用实例 :高校教学业务管理高校教学业务管理学生信息(学号,姓名)教师信息(工号,姓名)教材信息(书号,教材名,.)课程信息(课程号,课程名.)教室信息(教室号,位置)选课信息(学生号,课程号).大量数据数据库(DB).各部门共享数据按一定的结构组织存储到计算机第12页/共121页数据管理的应用需求数据管理的应用需求数据管理的应用需求数据管理的应用需求 (2)(2)数据库数据库管理系统应用程序1应用程序2应用程序K.用户用户共享数据库资源第13页/共121页数据管理的应用需求数据管理的应用需求数据管理的应用需求数据管理的应用需求 (3)(3)n n综上所述:n n 由于数据量急剧增长,计算机用于管理并实现共享数据的需求越来越迫切。人们逐步发展了以统一管理和共享数据为主要特征的数据库系统(DBS)。n n 在DBS中,数据不再仅仅服务于某个程序或用户,而是按一定的结构存储于数据库,作为共享资源,由数据库管理系统(DBMS)的软件管理,使得数据能为尽可能多的应用服务。第14页/共121页数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点 (1)(1)n n 数据库系统数据库系统(DBS)(DBS)的组成的组成:数据库设计,开发,管理DBS的人员和用户利用DBS资源开发的,解决管理和决策问题的各种应用程序.对数据进行管理的软件系统 功能:创建DB结构;对DB中的数据操作;对DB数据管理和控制 指按一定的数据模式组织并长期存放在外存上的,可共享的,面向部门全局应用的数据集合。第15页/共121页数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点 (2)(2)n n DBS DBS中人员中人员/数据和数据结构数据和数据结构/相关软件之间的关系相关软件之间的关系:用户终端应用系统数据库管理员系统分析设计员系统程序员用户视图逻辑结构 存储结构DB数据和数据结构DBMS操作系统软件系统第16页/共121页数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点数据库系统的组成和特点 (3)(3)n n 数据库系统的特点数据库系统的特点n n 数据结构化。n n 数据可共享n n数据独立于程序n n统一管理控制数据DBMS管理控制数据功能:安全性,完整性.并发控制,恢复.从全局分析和描述数据,适应多个用户、多种应用共享数据的需求。可减少数据冗佘,节省存储空间,保证数据的一致性.数据面向全局应用,用数据模型描述数据和数据之间的联系。逻辑独立性:应用程序与DB的逻辑结构相互独立.物理独立性:应用程序与DB的存储结构相互独立.第17页/共121页数据模型数据模型数据模型数据模型n n 数据模型的基本概念n n问题的提起:nDB数据:n应用单位所涉及数据的综合,n反映数据本身的内容,n反映数据之间的联系。问题:数据如何在DB中用特定结 构表示?数据以何种方式进行存储和处理的??第18页/共121页数据模型数据模型数据模型数据模型 (续续续续)n n n n 由于使用数据库的信息系统是一种计算机软件系统由于使用数据库的信息系统是一种计算机软件系统,而而计算机是不可能直接处理现实世界中的事物的计算机是不可能直接处理现实世界中的事物的.所以必须所以必须通过以下过程来处理数据通过以下过程来处理数据:n n 具体事物及其特征概念化加工计算机能够存储处理的数据DB计算机不可能直接处理现实世界中的事物第19页/共121页数据模型数据模型数据模型数据模型 (续续续续)进一步具体说明进一步具体说明:客观对象抽象到数据模式描述的结构客观对象抽象到数据模式描述的结构客观对象概念结构抽象数据模式抽象DB(E-R图)(二维表)从概念上描述对象和对象间的关联,经过识别,选择,分类等综合分析,形成“概念结构”(用实体-联系工具E-R图表示.)按计算机系统支持的结构,组织数据(数据模式):逻辑结构为二维表 存储结构为文件第20页/共121页数据模型数据模型数据模型数据模型 (续续续续)n n综上可见:n n 概念结构是分析过程中的一个中间结果概念结构是分析过程中的一个中间结果,它将现实世界中的它将现实世界中的客观对象和客观对象和对象间的关联对象间的关联,经过识别经过识别,选择选择,分类等综合分析分类等综合分析,形成形成“概念结构概念结构”n n (用实体用实体-联系工具联系工具E-RE-R图表示图表示.).)n n 数据模型是直接面向计算机系统(即数据库)中数据的数据结构数据模型是直接面向计算机系统(即数据库)中数据的数据结构(包括包括逻辑结构和存储结构逻辑结构和存储结构)。n n (用数据模型来描述数据结构用数据模型来描述数据结构.).)第21页/共121页数据模型数据模型数据模型数据模型 (续续续续)n n 在常见的数据库系统中,根据实体集之间的不同在常见的数据库系统中,根据实体集之间的不同结构,通常把数据模型分为层次模型、网状模型、关系结构,通常把数据模型分为层次模型、网状模型、关系模型和面向对象模型模型和面向对象模型4 4种。种。n n n n 层次模型层次模型n n 网状模型网状模型n n 关系模型关系模型n n 面向对象模型面向对象模型国内DBS普遍采用关系模型(95%以上),课程介绍关系模型.第22页/共121页关系数据模型关系数据模型关系数据模型关系数据模型n n关系数据模型描述数据的逻辑结构3要素:n n 数据结构 (重点介绍重点介绍)n n 数据完整性 (参阅教学指导书参阅教学指导书)n n 数据的操作 (重点介绍重点介绍)第23页/共121页关系模型的数据结构关系模型的数据结构关系模型的数据结构关系模型的数据结构n n 为什么当今大多数为什么当今大多数DBMSDBMS都支持关系数据模型都支持关系数据模型?当今大多数DBMS都支持关系数据模型 关系数据模型建立在严 格的数学理论基础上:集合论的“关系概念”概念清晰,简洁,用统一的结构表示数据对象和它们之间的联系.第24页/共121页关系模型的数据结构关系模型的数据结构关系模型的数据结构关系模型的数据结构 (续续续续)关系数据模型的基本结构是关系数据模型的基本结构是关系关系。在在用用户户观观点点下下,关关系系数数据据模模型型中中数数据据的的逻逻辑辑结结构构是是一一张张二二维表(维表(TableTable),它由表名、行和列组成。),它由表名、行和列组成。表的每一行称为一个元组(表的每一行称为一个元组(TupleTuple),),每一列称为一个属性(每一列称为一个属性(AttributeAttribute)。)。例如,例表例如,例表1.1.学生登记表(学生登记表(S S):n n 第25页/共121页关系模型的数据结构关系模型的数据结构关系模型的数据结构关系模型的数据结构 (续续续续)例表例表2 .2 .课程开设表课程开设表 (C):(C):第26页/共121页关系模型的数据结构关系模型的数据结构关系模型的数据结构关系模型的数据结构 (续续续续)n n例表例表3.3.学生选课成绩表学生选课成绩表 (SC):(SC):第27页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n 学生登记表学生登记表(S),(S),课程开设表课程开设表(C)(C)与学生选课成绩表之间的联系与学生选课成绩表之间的联系:第28页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)数据库中数据的逻辑结构(二维表)纵观示意图数据库中数据的逻辑结构(二维表)纵观示意图:逻辑结构DBMSDB物理数据库从用户角度看数据库中数据的逻辑结构 (二维表)用户用户SCCS属性(列)S表元组1(行)元组2(行)元组n(行)存储模式第29页/共121页关系数据模型关系数据模型(结构结构)(续续续续)n n 关系数据模式:数据的关系模型结构就是二维表结构3张二维表分别是数据对象“学生(S)”、“课程开设(C)”和其联系“学生选课成绩(SC)”的反映这种用关系数据模型对一个具体单位中客观对象及其联系的结构描述,称为关系数据模式(简称:关系模式)第30页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n 关系模式的描述形式关系模式的描述形式:n n 其中其中:R:R为关系模式名,即二维表名。为关系模式名,即二维表名。n n Ai Ai(1in1in)是二维)是二维表中的列名。或者:R =(A1,A2,Ai,An)R(A1,A2,Ai,An)第31页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n.上述数据对象(S和C)以及数据对象之间的联系(SC)表示成关系模式分别为:S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT)C(CNO,CNAME,LHOUR,SEMESTER)SC(SNO,CNO,GRADE)第32页/共121页关系数据模型关系数据模型(结构结构)(续续续续)n n这3个关系模式也可以用汉字定义为:学生 (学号,姓名,系别,性别,出生日期,身高)课程 (课程号,课程名,学时,开课时间)选课成绩(学号,课程号,成绩)第33页/共121页关系数据模型关系数据模型(结构结构)(续续续续)n n 关系模式关系模式主键主键DB如何从DB的一个二维表中找到我们所了解的内容?例如:查询学生周光明的情况;李霞霞选修ME234课程的成绩是多少?第34页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n 关系模式关系模式(即二维表即二维表)主键主键:n n 能够唯一标识二维表中指定能够唯一标识二维表中指定元组的属性或者属性组元组的属性或者属性组(这组属性这组属性的任何真子集无此性质的任何真子集无此性质),),称为该称为该二维表的二维表的候选键候选键.n n 如果一个关系模式有多个候选如果一个关系模式有多个候选键存在键存在,则可从中选一个最常用的则可从中选一个最常用的作为该关系模式主键作为该关系模式主键,简称简称主键主键.候选键:(学号)(姓名,出生年月)主键:(学号)第35页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n例如例如:n n学生登记表中的学生有下列属性学生登记表中的学生有下列属性(列列):学号,姓名,系:学号,姓名,系别,出生年月等,则学号可作为候选键,用它来标识一别,出生年月等,则学号可作为候选键,用它来标识一个学生。因学生可能有重名,因而姓名不能作为候选键;个学生。因学生可能有重名,因而姓名不能作为候选键;但若学生的出生年月不同,则也可用属性组(姓名,出但若学生的出生年月不同,则也可用属性组(姓名,出生年月)作为候选键,必须再从这两个候选键中选其一生年月)作为候选键,必须再从这两个候选键中选其一(如学号)作为学生登记表的主键。(如学号)作为学生登记表的主键。第36页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)基本术语的对照:关系模型中的术语来自关系数学,与程序员和用户的习惯说法是相对应的.第37页/共121页 关系模型的关系模型的存储结构存储结构 在关系数据模型中,数据在关系数据模型中,数据对象和数据对象之间的联对象和数据对象之间的联系都用二维表来表示。在系都用二维表来表示。在支持关系模型的数据库物支持关系模型的数据库物理组织理组织(即存储结构即存储结构)中,中,二维表以文件形式存储。二维表以文件形式存储。在大多数数据库中,二维在大多数数据库中,二维表与操作系统中的文件相表与操作系统中的文件相对应。对应。关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)DB文件文件文件第38页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n 关系数据模型是关系数据模型是19701970年由(美)首次提出的。关年由(美)首次提出的。关系数据库得以迅速发展和普遍应用,主要得力于关系数系数据库得以迅速发展和普遍应用,主要得力于关系数据模型所具有的下列特点:据模型所具有的下列特点:n n 关系模型建立在严格的数学理论基础上关系模型建立在严格的数学理论基础上n n 关系数据模型的概念单一关系数据模型的概念单一n n 对二维表的操作是对二维表的操作是“非非过过程性程性”集合论的关系概念数据对象和联系都是二维表。对二维表的操作结果也是二维表。存取路径对用户透明,简化了程序员的编程工作;数据独立性和安全性好关系数据库之父亲第39页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(结构结构结构结构)(续续续续)n n 特别提示:n n 严格地说明严格地说明,关系是一种规范化二维表中行的集合。在关系数据模型中,对每关系是一种规范化二维表中行的集合。在关系数据模型中,对每个关系还作了如下限制:个关系还作了如下限制:n n每一个列对应一个域,列名不能相同每一个列对应一个域,列名不能相同.。n n 关系中所有的列是原子数据关系中所有的列是原子数据 (原子数据是不可再分的原子数据是不可再分的)n n 关系中不允许出现相同的行关系中不允许出现相同的行 (即不能出现重复的行即不能出现重复的行)n n 关系是行的集合,行的次序可以交换。关系是行的集合,行的次序可以交换。(按集合的性质按集合的性质)n n 行中列的顺序可以任意交换。行中列的顺序可以任意交换。(按集合的性质按集合的性质,但使用按定义顺序但使用按定义顺序)第40页/共121页关系数据模型关系数据模型(结构结构)(续续续续)n n 特别提示:n n 数据模型和模式是有区别的。数据模型和模式是有区别的。n n 数据模型数据模型:用一组概念和定义描述数据的手段,用一组概念和定义描述数据的手段,n n 数据模式数据模式:用某种数据模型对具体情况下相关数据用某种数据模型对具体情况下相关数据n n 结构的描述。结构的描述。n n 具体地说,关系模式是以关系数据模型为基础,综合考虑了用户的需求,并将具体地说,关系模式是以关系数据模型为基础,综合考虑了用户的需求,并将这些需求抽象而得到的逻辑结构。因而不应将关系数据模型和关系模式相混淆,这些需求抽象而得到的逻辑结构。因而不应将关系数据模型和关系模式相混淆,n n (正象不应把高级语言和用高级语言编写的程序模块混为一谈一样,应注意它正象不应把高级语言和用高级语言编写的程序模块混为一谈一样,应注意它们在概念上的差异们在概念上的差异 )第41页/共121页关系数据模型关系数据模型(结构结构)(续续续续)n n 特别提示:n n关系模式关系模式:反映了二维表的静态结构,是相对稳定的。反映了二维表的静态结构,是相对稳定的。n n关系关系:是关系模式在某一时刻的状态,它反映二维表是关系模式在某一时刻的状态,它反映二维表n n 的内容,由于对关系的操作不断更新着二维表的内容,由于对关系的操作不断更新着二维表n n 中的数据,因此关系是随时间动态变化的。中的数据,因此关系是随时间动态变化的。n n 但在一般表述中,人们常常将关系模式和关系都称为关系,实际上对此二者但在一般表述中,人们常常将关系模式和关系都称为关系,实际上对此二者应加以科学的区分。应加以科学的区分。第42页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(完整性完整性完整性完整性)(选学选学选学选学)n n 关系模式用关系模式用R R(A1A1,A2A2,AnAn)表示,仅仅说明关系的语法,但)表示,仅仅说明关系的语法,但是并不是每个合乎语法的行是并不是每个合乎语法的行(元组元组)都能成为二维表都能成为二维表R R中的元组,它还要受中的元组,它还要受到语义的限制。到语义的限制。n n 数据的语义不但会限制属性的值,例如:小学、中学和大学都有规定数据的语义不但会限制属性的值,例如:小学、中学和大学都有规定的最低入学年龄的限制;一个企业仓库管理中的库存量不能为负值等。的最低入学年龄的限制;一个企业仓库管理中的库存量不能为负值等。n n 数据的语义还会制约属性间的关系,如:学生选课成绩表数据的语义还会制约属性间的关系,如:学生选课成绩表SCSC中的学生中的学生必须是学生登记表必须是学生登记表S S中已注册的学生等。中已注册的学生等。n n 以上所述的约束可以用来保证数据库中数据的正确性,称其为关系模以上所述的约束可以用来保证数据库中数据的正确性,称其为关系模型的型的完整性约束完整性约束。第43页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(完整性完整性完整性完整性)(续续续续)实体完整性约束实体完整性约束关系模型的完整性约束关系模型的完整性约束 引用完整性约束引用完整性约束 用户定义完整性约束用户定义完整性约束阅读材料6.4第44页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(操作操作操作操作)n n 在关系数据库中,通常可以定义一些操作来通过已知的关系在关系数据库中,通常可以定义一些操作来通过已知的关系(二维二维表表)创建新的关系创建新的关系(二维表二维表)。最常用的关系操作有:。最常用的关系操作有:n n n n 并并 插入插入n n 交交 更新更新n n 差差 删除删除n n 笛卡尔积笛卡尔积 选择选择n n 除除 连接连接n n 投影投影专门的关系操作传统集合的关系操作第45页/共121页关系数据模型关系数据模型关系数据模型关系数据模型(操作操作操作操作)n n举例用例举例用例(5(5张二维表张二维表):):SNAMEGRADE钱欣75张进元62张华68胡平平79周亮80SNAMEGRADE王宁100钱欣75顾永华90黄进82胡平平79周亮80SC1:60-80分成绩表SC2:70-100分成绩表第46页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作传统集合的关系操作传统集合的关系操作)n n并n n 并操作是一个二元操作。它要求参与操作的两个关系有相同的关系模式。其作用是将并操作是一个二元操作。它要求参与操作的两个关系有相同的关系模式。其作用是将两个关系组合成一个新的关系。根据集合论的定义,并操作创建的新关系中的每一个元组两个关系组合成一个新的关系。根据集合论的定义,并操作创建的新关系中的每一个元组或者属于第一个关系、或者属于第二个关系,或者在两个关系中皆有。或者属于第一个关系、或者属于第二个关系,或者在两个关系中皆有。结果关系表示选课程学生的“60100分成绩表”第47页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作传统集合的关系操作传统集合的关系操作)n n交n n 交操作也是一个二元操作。它对两个具有相同关系模交操作也是一个二元操作。它对两个具有相同关系模n n 式的关系进行操作,创建一个新关系。根据集合论的定义,式的关系进行操作,创建一个新关系。根据集合论的定义,n n交操作所创建新关系中的每一个元组必须是两个原关系中交操作所创建新关系中的每一个元组必须是两个原关系中n n共有的成员。共有的成员。结果表示选课学生“70分80分成绩表”。第48页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作传统集合的关系操作传统集合的关系操作)n n.差 差操作也是一个二元操作。它应用于具有相同关系模式的两个关系。生成新关系中的元组是存在于第一个关系而不存在于第二个关系中的元组。例如,关系SC1与关系SC2进行差操作:结果关系包括那些在SC1表中而不在SC2表中的成绩信息,即“60 69分成绩表”第49页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作传统集合的关系操作传统集合的关系操作)差 (续)在集合操作中,“并”和“交”具有交换律的性质,而“差”操作没有交换律的性质.例如,关系SC2与关系SC1进行差操作:结果关系包括那些在SC2表中而不在SC1表中的成绩信息,即“81 100分成绩表”SC2SC1差SC1SC2=SC2SC1SC1SC2=SC2SC1SC1SC2SC2SC1第50页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n插入n n 插入操作是一种一元操作。它应用于一个关系,其操作是在关系中插插入操作是一种一元操作。它应用于一个关系,其操作是在关系中插入新的元组(或另一个具有相同模式的关系)入新的元组(或另一个具有相同模式的关系).n n 例如例如:在课程开设表(在课程开设表(C C)中插入一个新的课程信息)中插入一个新的课程信息 n n (CW101CW101,论文写作论文写作,3030,春春)。)。第51页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n删除n n 删除操作为一元操作。它根据要求删去表中相应的删除操作为一元操作。它根据要求删去表中相应的元组。元组。n n 例如例如:从课程表(从课程表(C C)中删除课程)中删除课程CC112CC112。第52页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n更改n n 更改操作也是一种一元操作,它应用于一个关系。用来改变关系中指更改操作也是一种一元操作,它应用于一个关系。用来改变关系中指定元组中的部分属性值。定元组中的部分属性值。n n 例如例如:课程开设表课程开设表(C)(C)中的课程中的课程ME234ME234元组的元组的LHOURLHOUR值由值由“40”40”改为改为“30”30”,SEMESTERSEMESTER值由值由“秋秋”改为改为“春春”。第53页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n选择n n 选择操作是一元操作。它应用于一个关系并产生另一个新关系。新关系中选择操作是一元操作。它应用于一个关系并产生另一个新关系。新关系中的元组(行)是原关系中元组的子集。选择操作根据要求从原先关系中选择部分的元组(行)是原关系中元组的子集。选择操作根据要求从原先关系中选择部分元组。结果关系中的属性(列)与原关系相同(保持不变)。元组。结果关系中的属性(列)与原关系相同(保持不变)。n n 例如例如:从学生登记表从学生登记表(S)(S)中,选出性别为中,选出性别为“男男”的学生元组,组成一个新关系的学生元组,组成一个新关系“男学生登记表男学生登记表”。第54页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n投影n n 是一元操作,它作用于一个关系并产生另一个新关系。新关系中的属性是一元操作,它作用于一个关系并产生另一个新关系。新关系中的属性(列)是原关系中属性的子集。在一般情况下,虽然新关系中的元组属性减少了,(列)是原关系中属性的子集。在一般情况下,虽然新关系中的元组属性减少了,但其元组(行)的数量与原关系保持不变。但其元组(行)的数量与原关系保持不变。n n 例如例如:需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(SCSC)进行相关的投影操作进行相关的投影操作.n n。其结果的每个元组仅包括学(SNO)课程号(CNO)两个属性第55页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (专门的关系操作专门的关系操作专门的关系操作专门的关系操作)n n连接n n 是一个二元操作。它基于共有属性把两个关系组合起来。连接操作比较复杂是一个二元操作。它基于共有属性把两个关系组合起来。连接操作比较复杂并有较多的变化。并有较多的变化。n n 例如例如:学生登记表(学生登记表(S S)和学生选课成绩表()和学生选课成绩表(SCSC)的连接)的连接,生成一个信息更全面的关系生成一个信息更全面的关系.对于已选课程的学生而言,结果关系包含SC表原来的信息,并增加了该学生选修课程号(CNO)和成绩(GRADE)。第56页/共121页关系数据模型关系数据模型关系数据模型关系数据模型 (关于关于关于关于“关系代数关系代数关系代数关系代数”的操作的操作的操作的操作)n n 对于以上所介绍的关对于以上所介绍的关系操作,在理论上均可系操作,在理论上均可用一种称之用一种称之“关系代数关系代数”的逻辑运算来表示的逻辑运算来表示.n n 参阅第6章阅读材料6.5设有关系R和关系S,关系代数的操作有:第57页/共121页关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQLn n 数据库语言n n 以上讨论的关系操作,比较直观地说明了其对二维表运算的含意以上讨论的关系操作,比较直观地说明了其对二维表运算的含意(数学上对关系操作的抽象描述是数学上对关系操作的抽象描述是“关系代数关系代数”)”)。在此基础上,关系数据。在此基础上,关系数据库管理系统必须配置与此相应的语言,使用户可以对数据库进行各式各库管理系统必须配置与此相应的语言,使用户可以对数据库进行各式各样的操作,这就构成了用户和数据库的接口。由于样的操作,这就构成了用户和数据库的接口。由于DBMSDBMS所提供的语言一所提供的语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为数据库语言数据库语言.DB数据库语言程序用户第58页/共121页关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQLn n 关系数据库语言关系数据库语言SQLSQL特点特点n n 是一是一种种“非非过过程程语语言言”n n 体现关系模型在结构体现关系模型在结构,完整性和操作方面的特征完整性和操作方面的特征n n 有命令和嵌入程序两种使用方式有命令和嵌入程序两种使用方式n n 功能齐全功能齐全,简洁易学简洁易学,使用方便使用方便n n 为主流为主流DBMSDBMS产品所支持产品所支持用户只要指出“做什么”,而“如何做”的过程由DBMS完成.命令式:直接用语句操作嵌入式:将语句嵌入程序ORACLE,MS-SQL Server,Sybase DB2,(Access,VFP有接口)第59页/共121页关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQLn n 关系数据库语言关系数据库语言SQL 3SQL 3级体系结构级体系结构用户看到的关系模式主要是视图系统的全局关系模式是基本表系统的存储结构是文件第60页/共121页关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQLn n SQL SQL数据定义语言数据定义语言DDLDDLn n 作为建立数据库最重要的一步,根据关系模式定义所需的基本表,作为建立数据库最重要的一步,根据关系模式定义所需的基本表,SQLSQL语句表示为:语句表示为:n n n n其中其中:n n 表示可含有该子句,也可为空表示可含有该子句,也可为空.n n 基本表名字基本表名字.n n 每个基本表可以由一个或多个列组成。每个基本表可以由一个或多个列组成。n n 定义基本表时要指明每个列的类型和长度,同时还可定义基本表时要指明每个列的类型和长度,同时还可n n 以定义与该表有关的完整性约束条件,以定义与该表有关的完整性约束条件,CREATE TABLE (列名数据类型完整性约束条件,)第61页/共121页关系数据库语言关系数据库语言SQLn nDDLDDL例例:n n 按照关系模式按照关系模式S S,定义学生基本表的,定义学生基本表的SQLSQL语句语句:执行语句后,在数据库建立一个学生表S的结构 CREATE TABLE S (SNO CHAR(4),(类型为定长字符串)SNAME VARCHAR(8)(类型为变长字符串,串长为8)DEPART VARCHAR(12),SEX CHAR(2)BDATE DATE,(类型为日期型)HEIGHT DEC(5,2),(类型为5位十进制数,小数点后2位)PRIMARY KEY(SNO);(指明SNO为S的主键)第62页/共121页关系数据库语言关系数据库语言SQLn n SQL的数据查询n n 查询是数据库的核心操作。查询是数据库的核心操作。SQLSQL提供提供SELECTSELECT语句语句,具有灵具有灵活的使用方式和极强查询的功能。关系操作中最常用的是活的使用方式和极强查询的功能。关系操作中最常用的是“投影、选择和连接投影、选择和连接”,都体现在都体现在SELECTSELECT语句中语句中:n n SELECT A1 SELECT A1,A2A2,An An n n FROM R1 FROM R1,R2R2,RmRmn n WHERE FWHERE Fn n SELECTSELECT语句语义为:将语句语义为:将FROMFROM子句所指出的子句所指出的R(R(基本表或视基本表或视图图)进行连接,从中选取满足进行连接,从中选取满足WHEREWHERE子句中条件子句中条件F F的行(元组),最的行(元组),最后根据后根据SELECTSELECT子句给出的子句给出的A(A(列名列名)将查询结果表输出。将查询结果表输出。指出目标表的列名,相应于“投影”指出基本表或视图,相应于“连接”F为“选择”操作的条件第63页/共121页关系数据库语言关系数据库语言SQLn n单表查询单表查询n n 从指定的一个表中找出符合条件的元组从指定的一个表中找出符合条件的元组.n n 例如,查询所有男学生名的情况例如,查询所有男学生名的情况.n n SELECT *FROM S WHERE SEX男;第64页/共121页关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQLSNAMEDEPARTCNAMEGRADE张雷计算机软件工程84.5张雷计算机数据库82周光明自动控制软件工程92周光明自动控制数学分析92.5周光明自动控制人工智能90钱欣管理工程数据库75钱欣管理工程人工智能70.5连接查询 一个查询同时涉及两个以上的表,称连接查询。是关系数据库中最主要的查询。例如,查询每个男学生及其选修课程的情况。要求列出学生名,系别,选修课程名及成绩。SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WHERE S.SNOSC.SNO AND SC.CNOC.CNO AND S.SEX男;查询涉及S、C和SC