《《信息系统与数据库》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《信息系统与数据库》PPT课件.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第6章章 信息系统与数据库信息系统与数据库6.1 计算机信息系统计算机信息系统 什么是计算机信息系统什么是计算机信息系统 计算机信息系统的类型计算机信息系统的类型 2第6章 信息系统与数据库(1)3第6章 信息系统与数据库(1)什么是计算机信息系统什么是计算机信息系统 (1)n n 计算机信息系统(计算机信息系统(Computer_based Information System,简称信息系统)是一类以提供信息服务为主,简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。要目的的数据密集型、人机交互的计算机应用系统。n 4个主要技术特点:个主要技术特点:n 数
2、据量大数据量大,一般需存放在外存中一般需存放在外存中,数据存储持久性数据存储持久性,数据资源使用共享性数据资源使用共享性;信息服务功能多样性信息服务功能多样性 (管理管理,检索检索,分析分析,决策等决策等).4第6章 信息系统与数据库(1)什么是计算机信息系统什么是计算机信息系统 (2)n 信息系统是一种面广量大的计算机应用系统信息系统是一种面广量大的计算机应用系统:n 教学管理系统教学管理系统n 地理信息系统地理信息系统n 信息检索系统信息检索系统n 医学信息系统医学信息系统n 决策支持系统决策支持系统n 民航订票系统民航订票系统n 电子政务系统电子政务系统n 电子商务系统电子商务系统n .
3、5第6章 信息系统与数据库(1)计算机信息系统的类型计算机信息系统的类型 (一一)n 信息系统的结构信息系统的结构(计算机软硬件、网络等)(计算机软硬件、网络等)n(要点)(要点)n 实现业务功能的实现业务功能的流程、规则、策略流程、规则、策略和程序和程序.向用户显示信息向用户显示信息处理结果处理结果.如:如:Web浏览器界面浏览器界面.支持系统运行的硬件支持系统运行的硬件,系统软件和网络系统软件和网络.各类数据信息,各类数据信息,资源管理系统资源管理系统.主要有主要有数据库管数据库管理系统,数据库理系统,数据库等等.6第6章 信息系统与数据库(1)计算机信息系统的类型(二)计算机信息系统的类
4、型(二)n 从信息处理的深度来区分信息系统从信息处理的深度来区分信息系统,n 基本可分为基本可分为3大类大类:(考点考点)业务处理系统业务处理系统信息检索系统信息检索系统信息分析系统信息分析系统管理业务系统管理业务系统辅助技术系统辅助技术系统办公信息系统办公信息系统7第6章 信息系统与数据库(1)计算机信息系统计算机信息系统 的类型的类型 (3)n业务处理系统业务处理系统n n管理业务系统管理业务系统n n辅助技术系统辅助技术系统 n n办公信息系统办公信息系统 n又称又称OA,以先进设备与相关技术构成服,以先进设备与相关技术构成服务于办公事务的信息系统,按工作流技术充务于办公事务的信息系统,
5、按工作流技术充分利用信息资源,提高协同办公效率和质量分利用信息资源,提高协同办公效率和质量辅助技术人员在特定应用领域(如辅助技术人员在特定应用领域(如工程设计、音乐制作、广告设计等)工程设计、音乐制作、广告设计等)内完成相应的任务内完成相应的任务.诸如诸如:.CAD,CAPP,CAM等等8第6章 信息系统与数据库(1)计算机信息系统计算机信息系统 的类型的类型 (4)n n 业务处理系统业务处理系统n n 信息检索系统信息检索系统n n 信息分析系统信息分析系统 一种高层次的信息系统,为管理决策人员掌握部门运行规律一种高层次的信息系统,为管理决策人员掌握部门运行规律和和 趋势,制订规划、进行决
6、策的辅助系统。趋势,制订规划、进行决策的辅助系统。例如例如:决策支持系统(决策支持系统(DSS),专家系统专家系统 等等 将原始信息进一步处理并存储专门供检索用的将原始信息进一步处理并存储专门供检索用的DB中。中。用户检索匹配获得信息用户检索匹配获得信息.例如例如:中国科技文献库、专中国科技文献库、专利数据库、学位论文数据库,利数据库、学位论文数据库,DIALOG、ORBIT以及以及WE检索系统等检索系统等.9第6章 信息系统与数据库(1)第第6章章 信息系统与数据库信息系统与数据库n 6.2 关系数据库系统关系数据库系统 数据管理的应用需求数据管理的应用需求 数据库系统的组成和特点数据库系统
7、的组成和特点 关系数据模型关系数据模型(结构结构.完整性完整性.操作操作)关系数据库语言关系数据库语言SQL 10第6章 信息系统与数据库(1)数据管理的应用需求数据管理的应用需求 (1)一个应用实例一个应用实例:高校教学业务管理高校教学业务管理学生信息学生信息(学号学号,姓名姓名)教师信息教师信息(工号工号,姓名姓名)教材信息教材信息(书号书号,教材名教材名,.)课程信息课程信息(课程号课程号,课程名课程名.)教室信息教室信息(教室号教室号,位置位置)选课信息选课信息(学生号学生号,课程号课程号).大大量量数数据据数据库数据库(DB).各部门共享数据各部门共享数据按一定的结构组织按一定的结构
8、组织存储到计算机存储到计算机11第6章 信息系统与数据库(1)数据管理的应用需求数据管理的应用需求 (2)数据库数据库数据库管理系统数据库管理系统应用程序应用程序1应用程序应用程序2应用程序应用程序K.用户用户数据库系统中用户共享数据库资源数据库系统中用户共享数据库资源12第6章 信息系统与数据库(1)数据管理的应用需求数据管理的应用需求 (3)n综上综上:n 由于数据量急剧增长,计算机用于管理并由于数据量急剧增长,计算机用于管理并实现共享数据的需求越来越迫切。人们逐步发展了实现共享数据的需求越来越迫切。人们逐步发展了以统一管理和共享数据为主要特征的数据库系统以统一管理和共享数据为主要特征的数
9、据库系统(DBS)。)。n 在在DBS中,数据不再仅仅服务于某个程序或中,数据不再仅仅服务于某个程序或用户,而是按一定的结构存储于数据库,作为共享用户,而是按一定的结构存储于数据库,作为共享资源,由数据库管理系统(资源,由数据库管理系统(DBMS)的软件管理)的软件管理,使得数据能为尽可能多的应用服务。使得数据能为尽可能多的应用服务。13第6章 信息系统与数据库(1)数据库系统的组成和特点数据库系统的组成和特点(4)n 数据库系统的特点数据库系统的特点(考点考点)n 数据结构化。数据结构化。n 数据可共享数据可共享n数据独立于程序数据独立于程序n统一管理控制数据统一管理控制数据DBMS管理控制
10、数据功能管理控制数据功能:安全性安全性,完整性完整性.并发控制并发控制,恢复恢复.从全局分析和描述数据,适应从全局分析和描述数据,适应多个用户、多种应用共享数据的多个用户、多种应用共享数据的需求。可减少数据冗佘,节省存需求。可减少数据冗佘,节省存储空间,保证数据的一致性储空间,保证数据的一致性.数据面向全局应用,用数据面向全局应用,用数据模型数据模型描描述数据和数据之间的联系。述数据和数据之间的联系。逻辑独立性逻辑独立性:应用程序与应用程序与DB的逻辑的逻辑结构相互独立结构相互独立.物理独立性物理独立性:应用程序与应用程序与DB的存储的存储结构相互独立结构相互独立.(要点要点)14第6章 信息
11、系统与数据库(1)数据模型数据模型n 数据模型的基本概念数据模型的基本概念n问题的提起问题的提起:nDB数据数据:n应用单位所涉及数据的综合,应用单位所涉及数据的综合,n反映数据本身的内容,反映数据本身的内容,n反映数据之间的联系。反映数据之间的联系。问题问题:数据如何在数据如何在DB中用特定结构表示?中用特定结构表示?数据以何种方式进行存储和处理的?数据以何种方式进行存储和处理的??15第6章 信息系统与数据库(1)数据模型数据模型n 在常见的数据库系统中,根据实体集之间的不同在常见的数据库系统中,根据实体集之间的不同结构,通常把数据模型分为层次模型、网状模型、关系结构,通常把数据模型分为层
12、次模型、网状模型、关系模型和面向对象模型模型和面向对象模型4种。(其中,前三种为传统模型)种。(其中,前三种为传统模型)n n 层次模型层次模型n 网状模型网状模型n 关系模型关系模型n 面向对象模型面向对象模型国内国内DBS普遍采用关系模型普遍采用关系模型(95%以上以上),课程介绍关系模型课程介绍关系模型.16第6章 信息系统与数据库(1)关系模型的数据结构关系模型的数据结构n 为什么当今大多数为什么当今大多数DBMS都支持关系数据模型都支持关系数据模型?当今大多数当今大多数DBMS都支持关系数据模型都支持关系数据模型 关系数据模型建立在严关系数据模型建立在严 格的数学理论基础上格的数学理
13、论基础上:集合论的集合论的“关系概念关系概念”概念清晰,简洁,用统一概念清晰,简洁,用统一的结构表示数据对象和它们的结构表示数据对象和它们之间的联系之间的联系.17第6章 信息系统与数据库(1)关系数据模型关系数据模型n关系数据模型描述数据的逻辑结构关系数据模型描述数据的逻辑结构3要素要素:n 数据结构数据结构 (重点介绍重点介绍)n 数据完整性数据完整性 (参阅教学指导书参阅教学指导书)n 数据的操作数据的操作 (重点介绍重点介绍)18第6章 信息系统与数据库(1)关系的结构关系的结构19第6章 信息系统与数据库(1)关系模型的数据结构关系模型的数据结构(续续)关系数据模型的基本结构是关系数
14、据模型的基本结构是关系关系。在在用用户户观观点点下下,关关系系数数据据模模型型中中数数据据的的逻逻辑辑结结构构是是一一张张二二维表维表(Table),它由表名、行和列组成。),它由表名、行和列组成。表的每一行称为一个表的每一行称为一个元组元组(Tuple),),每一列称为一个每一列称为一个属性属性(Attribute)。)。例如,例表例如,例表1.学生登记表(学生登记表(S):n 20第6章 信息系统与数据库(1)关系模型的数据结构关系模型的数据结构(续续)例表例表2 .课程开设表课程开设表 (C):21第6章 信息系统与数据库(1)关系模型的数据结构关系模型的数据结构(续续)n例表例表3.学
15、生选课成绩表学生选课成绩表 (SC):思考:以上三张表之间思考:以上三张表之间是否有联系?是否有联系?22第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n 学生登记表学生登记表(S),课程开设表课程开设表(C)与学生选课成绩表之与学生选课成绩表之间的联系间的联系:23第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)数据库中数据的逻辑结构(二维表)纵观示意图数据库中数据的逻辑结构(二维表)纵观示意图:逻辑结构逻辑结构DBMSDB物理数据库从从用用户户角角度度看看数数据据库库中中数数据据的的逻逻辑辑结结构构 (二维表)(二维表)用户用户用户用户
16、SCCS属性(列)S表表元组1(行)元组2(行)元组n(行)存储模式存储模式DBMS是是DBS的核心,负责数据库的建的核心,负责数据库的建立、使用和维护立、使用和维护24第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n 关系数据模式关系数据模式:数据的关系模型结构就是二维表结构数据的关系模型结构就是二维表结构3张二维表分别是数据对象张二维表分别是数据对象“学生学生(S)”、“课程开设课程开设(C)”和其联系和其联系“学生选课成绩学生选课成绩(SC)”的反映的反映这种用关系数据模型这种用关系数据模型对一个具体单位中对一个具体单位中客观对象及其联系客观对象及其联系的结构
17、描述,称为的结构描述,称为关系数据模式关系数据模式(简称简称:关系模式关系模式)25第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n 关系模式的描述形式关系模式的描述形式:(要点)(要点)n 其中其中:R为为关系模式名关系模式名,即,即二维表名二维表名。n Ai(1in)是二维)是二维表中的列名表中的列名。或者或者:R =(A1,A2,Ai,An)R(A1,A2,Ai,An)26第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n.上述数据对象(上述数据对象(S和和C)以及数据对象之间的联系()以及数据对象之间的联系(SC)表示成关系模式分别
18、为:表示成关系模式分别为:S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT)C(CNO,CNAME,LHOUR,SEMESTER)SC(SNO,CNO,GRADE)27第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n这这3个关系模式也可以用汉字定义为个关系模式也可以用汉字定义为:学生学生 (学号学号,姓名,系别,性别,出生日期,身高),姓名,系别,性别,出生日期,身高)课程课程 (课程号课程号,课程名,学时,开课时间),课程名,学时,开课时间)选课成绩选课成绩(学号,课程号学号,课程号,成绩),成绩)28第6章 信息系统与数据库(1)关系数据模
19、型关系数据模型(结构结构)(续续)n 关系模式关系模式(即二维表即二维表)主键主键:(要(要点)点)n 能够唯一标识二维表中指定元组能够唯一标识二维表中指定元组的属性或者属性组的属性或者属性组(这组属性的任何这组属性的任何真子集无此性质真子集无此性质),称为该二维表的称为该二维表的候选键候选键.n 如果一个关系模式有多个候选键如果一个关系模式有多个候选键存在存在,则可从中选一个最常用的作为则可从中选一个最常用的作为该关系模式主键该关系模式主键,简称简称主键主键.候选键候选键:(学号学号)(姓名姓名,出生年月出生年月)主键主键:(学号学号)29第6章 信息系统与数据库(1)关系数据模型关系数据模
20、型(结构结构)(续续)n例如例如:n学生登记表中的学生有下列属性学生登记表中的学生有下列属性(列列):学号,姓名,系:学号,姓名,系别,出生年月等,则学号可作为候选键,用它来标识一别,出生年月等,则学号可作为候选键,用它来标识一个学生。因学生可能有重名,因而姓名不能作为候选键;个学生。因学生可能有重名,因而姓名不能作为候选键;但若学生的出生年月不同,则也可用属性组(姓名,出但若学生的出生年月不同,则也可用属性组(姓名,出生年月)作为候选键,必须再从这两个候选键中选其一生年月)作为候选键,必须再从这两个候选键中选其一(如学号)作为学生登记表的主键。(如学号)作为学生登记表的主键。30第6章 信息
21、系统与数据库(1)关系模型的关系模型的存储结构存储结构 在关系数据模型中,数据在关系数据模型中,数据对象和数据对象之间的联对象和数据对象之间的联系都用二维表来表示。在系都用二维表来表示。在支持关系模型的数据库物支持关系模型的数据库物理组织理组织(即存储结构即存储结构)中,中,二维表以二维表以文件文件形式存储。形式存储。在大多数数据库中,二维在大多数数据库中,二维表与操作系统中的文件相表与操作系统中的文件相对应。对应。关系数据模型关系数据模型(结构结构)(续续)DB文件文件文件文件文件文件31第6章 信息系统与数据库(1)关系数据模型关系数据模型(结构结构)(续续)n 特别提示特别提示:n 严格
22、地说明严格地说明,关系是一种规范化二维表中行的集合。在关系关系是一种规范化二维表中行的集合。在关系数据模型中,对每个关系还作了如下限制:数据模型中,对每个关系还作了如下限制:n每一个列对应一个域,列名不能相同每一个列对应一个域,列名不能相同.。n 关系中所有的列是原子数据关系中所有的列是原子数据 (原子数据是不可再分的原子数据是不可再分的)n 关系中不允许出现相同的行关系中不允许出现相同的行 (即不能出现重复的行即不能出现重复的行)n 关系是行的集合,行的次序可以交换。关系是行的集合,行的次序可以交换。(按集合的性质按集合的性质)n 行中列的顺序可以任意交换。行中列的顺序可以任意交换。(按集合
23、的性质按集合的性质,但使用按定义顺序但使用按定义顺序)32第6章 信息系统与数据库(1)关系的完整性关系的完整性33第6章 信息系统与数据库(1)关系数据模型关系数据模型(完整性完整性)n 关系模式用关系模式用R(A1,A2,An)表示,仅仅说)表示,仅仅说明关系的语法,但是并不是每个合乎语法的行明关系的语法,但是并不是每个合乎语法的行(元组元组)都都能成为二维表能成为二维表R中的元组,它还要受到语义的限制。中的元组,它还要受到语义的限制。n 数据的语义不但会数据的语义不但会限制属性的值限制属性的值,例如:小学、中学,例如:小学、中学和大学都有规定的最低入学年龄的限制;一个企业仓库和大学都有规
24、定的最低入学年龄的限制;一个企业仓库管理中的库存量不能为负值等。管理中的库存量不能为负值等。n 数据的语义还会制约数据的语义还会制约属性间的关系属性间的关系,如:学生选课成,如:学生选课成绩表绩表SC中的学生必须是学生登记表中的学生必须是学生登记表S中已注册的学生等。中已注册的学生等。n 以上所述的约束可以用来保证数据库中数据的正确性,以上所述的约束可以用来保证数据库中数据的正确性,称其为关系模型的称其为关系模型的完整性约束完整性约束。34第6章 信息系统与数据库(1)关系数据模型关系数据模型(完整性完整性)(续续)考点考点 实体完整性约束实体完整性约束关系模型的完整性约束关系模型的完整性约束
25、 引用完整性约束引用完整性约束 用户定义完整性约束用户定义完整性约束35第6章 信息系统与数据库(1)关系模型的操作关系模型的操作36第6章 信息系统与数据库(1)关系数据模型关系数据模型(操作操作)n 在关系数据库中,通常可以定义一些操作来通过已在关系数据库中,通常可以定义一些操作来通过已知的关系知的关系(二维表二维表)创建新的关系创建新的关系(二维表二维表)。最常用的关。最常用的关系操作有系操作有:(要点):(要点)n n 并并 插入插入n 交交 更新更新n 差差 删除删除n 笛卡尔积笛卡尔积 选择选择n 除除 连接连接n 投影投影专门的关系操作专门的关系操作传统集合的关系操作传统集合的关
26、系操作37第6章 信息系统与数据库(1)关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作)n并并n 并操作是一个并操作是一个二元二元操作。它要求参与操作的两个关系有操作。它要求参与操作的两个关系有相同的关相同的关系模式系模式。其作用是将两个关系组合成一个新的关系。根据集合论的。其作用是将两个关系组合成一个新的关系。根据集合论的定义,并操作创建的新关系中的每一个元组或者属于第一个关系、定义,并操作创建的新关系中的每一个元组或者属于第一个关系、或者属于第二个关系,或者在两个关系中皆有。或者属于第二个关系,或者在两个关系中皆有。结果关系表示结果关系表示选课程学生的选课程学生的“601
27、00分成分成绩表绩表”38第6章 信息系统与数据库(1)关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作)n交交n 交操作也是一个交操作也是一个二元二元操作。它对两个具有相同操作。它对两个具有相同关系模关系模n 式式的关系进行操作,创建一个新关系。根据集合论的定义,的关系进行操作,创建一个新关系。根据集合论的定义,n交操作所创建新关系中的每一个元组必须是两个原关系中交操作所创建新关系中的每一个元组必须是两个原关系中n共有的成员。共有的成员。结果表示选课结果表示选课学生学生“70分分80分成绩表分成绩表”。39第6章 信息系统与数据库(1)关系数据模型关系数据模型 (传统集合的关
28、系操作传统集合的关系操作)n.差差 差操作也是一个差操作也是一个二元二元操作。它应用于具有操作。它应用于具有相同关系模式相同关系模式的两的两个关系。生成新关系中的元组是存在于第一个关系而不存在于个关系。生成新关系中的元组是存在于第一个关系而不存在于第二个关系中的元组。第二个关系中的元组。例如,关系例如,关系SC1与关系与关系SC2进行差操作进行差操作:结果关系包括结果关系包括那些在那些在SC1表表中而不在中而不在SC2表中的成绩信表中的成绩信息,即息,即“60 69分成绩表分成绩表”40第6章 信息系统与数据库(1)关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作)差差 (续续
29、)在集合操作中在集合操作中,“并并”和和“交交”具有交具有交换换律的性律的性质质,而而“差差”操操作作没没有有交换律的性质交换律的性质.例如,关系例如,关系SC2与关系与关系SC1进行差操作进行差操作:结果关系包括结果关系包括那些在那些在SC2表表中而不在中而不在SC1表中的成绩信表中的成绩信息,即息,即“81 100分成绩表分成绩表”SC2SC1差差SC1SC2=SC2SC1SC1SC2=SC2SC1SC1SC2SC2SC141第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n插入插入n 插入操作是一种插入操作是一种一元一元操作。它应用于一个关系,其操
30、操作。它应用于一个关系,其操作是在关系中插入新的元组(或另一个具有相同模式的作是在关系中插入新的元组(或另一个具有相同模式的关系)关系).n 例如例如:在课程开设表(在课程开设表(C)中插入一个新的课程信息)中插入一个新的课程信息 n (CW101,论文写作论文写作,30,春春)。)。42第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n删除删除n 删除操作为删除操作为一元一元操作。它根据要求删去表中相应的元操作。它根据要求删去表中相应的元组。组。n 例如例如:从课程表(从课程表(C)中删除课程)中删除课程CC112。43第6章 信息系统与数据库(1)关
31、系数据模型关系数据模型 (专门的关系操作专门的关系操作)n更改更改n 更改操作也是一种更改操作也是一种一元一元操作,它应用于一个关系。用操作,它应用于一个关系。用来改变关系中指定元组中的部分属性值。来改变关系中指定元组中的部分属性值。n 例如例如:课程开设表课程开设表(C)中的课程中的课程ME234元组的元组的LHOUR值由值由“40”改为改为“30”,SEMESTER值由值由“秋秋”改为改为“春春”。44第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n选择选择n 选择操作是选择操作是一元一元操作。它应用于一个关系并产生另一个新操作。它应用于一个关系并
32、产生另一个新关系。关系。新关系中的元组(行)是原关系中元组的子集新关系中的元组(行)是原关系中元组的子集。选择操。选择操作根据要求从原先关系中选择部分元组。结果关系中的属性作根据要求从原先关系中选择部分元组。结果关系中的属性(列)与原关系相同(保持不变)。(列)与原关系相同(保持不变)。n 例如例如:从学生登记表从学生登记表(S)中,选出性别为中,选出性别为“男男”的学生元组,的学生元组,组成一个新关系组成一个新关系“男学生登记表男学生登记表”。45第6章 信息系统与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n投影投影n 是是一元一元操作,它作用于一个关系并产生另一
33、个新关系。新操作,它作用于一个关系并产生另一个新关系。新关系中的属性(列)是原关系中属性的子集。在一般情况下,关系中的属性(列)是原关系中属性的子集。在一般情况下,虽然新关系中的元组属性减少了,但其元组(行)的数量与原虽然新关系中的元组属性减少了,但其元组(行)的数量与原关系保持不变。关系保持不变。n 例如例如:需要了解学生选课情况而不关心其成绩时,可对学生需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(选课成绩表(SC)进行相关的投影操作)进行相关的投影操作.n。其结果的每个元组其结果的每个元组仅包括学(仅包括学(SNO)课程号(课程号(CNO)两个属性两个属性46第6章 信息系统
34、与数据库(1)关系数据模型关系数据模型 (专门的关系操作专门的关系操作)n连接连接n 是一个是一个二元二元操作。它基于共有属性把两个关系组合起来。操作。它基于共有属性把两个关系组合起来。连接操作比较复杂并有较多的变化。连接操作比较复杂并有较多的变化。n 例如例如:学生登记表(学生登记表(S)和学生选课成绩表()和学生选课成绩表(SC)的连接)的连接,生成一个生成一个信息更全面的关系信息更全面的关系.对于已选课程的学生而言,结果关系包对于已选课程的学生而言,结果关系包含含SC表原来的信息,并增加了该学生表原来的信息,并增加了该学生选修课程号(选修课程号(CNO)和成绩()和成绩(GRADE)。)
35、。47第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 数据库语言数据库语言n 以上讨论的关系操作,比较直观地说明了其对二维以上讨论的关系操作,比较直观地说明了其对二维表运算的含意表运算的含意(数学上对关系操作的抽象描述是数学上对关系操作的抽象描述是“关系代关系代数数”)。在此基础上,关系数据库管理系统必须配置与此。在此基础上,关系数据库管理系统必须配置与此相应的语言,使用户可以对数据库进行各式各样的操作,相应的语言,使用户可以对数据库进行各式各样的操作,这就构成了用户和数据库的接口。由于这就构成了用户和数据库的接口。由于DBMS所提供的所提供的语言一般局限于对数据库的操作,
36、不同于计算机的程序语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为设计语言,因而称它为数据库语言数据库语言.DB数据库语言数据库语言程序程序用户用户48第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 关系数据库语言关系数据库语言SQL特点特点n 是一是一种种“非非过过程程语语言言”n 体现关系模型在结构体现关系模型在结构,完整性和操作方面的特征完整性和操作方面的特征n 有命令和嵌入程序两种使用方式有命令和嵌入程序两种使用方式n 功能齐全功能齐全,简洁易学简洁易学,使用方便使用方便n 为主流为主流DBMSDBMS产品所支持产品所支持用户只要指出用户只要指出
37、“做什做什么么”,而而“如何做如何做”的的过程由过程由DBMS完成完成.命令式命令式:直接用语句操作直接用语句操作嵌入式嵌入式:将语句嵌入程序将语句嵌入程序ORACLE,MS-SQL Server,Sybase DB2,(Access,VFP有接口有接口)49第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn 关系数据库语言关系数据库语言SQL 3级体系结构级体系结构用户看到的关系模式用户看到的关系模式主要是主要是视图(考点)视图(考点)系统的全局关系模系统的全局关系模式是基本表式是基本表系统的存储结构是系统的存储结构是文件文件50第6章 信息系统与数据库(1)关系数据库语言关
38、系数据库语言SQLn SQL数据定义语言数据定义语言DDLn 作为建立数据库最重要的一步,根据关系模式定义所需的基本表,作为建立数据库最重要的一步,根据关系模式定义所需的基本表,SQL语句表示为:语句表示为:n n其中其中:n 表示可含有该子句,也可为空表示可含有该子句,也可为空.n 基本表名字基本表名字.n 每个基本表可以由一个或多个列组成。每个基本表可以由一个或多个列组成。n 定义基本表时要指明每个列的类型和长度,同时还可定义基本表时要指明每个列的类型和长度,同时还可n 以定义与该表有关的完整性约束条件,以定义与该表有关的完整性约束条件,CREATE TABLE (列名数据类型完整性约束条
39、件,(列名数据类型完整性约束条件,)51第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLnDDL例例:n 按照关系模式按照关系模式S,定义学生基本表的,定义学生基本表的SQL语句语句:执行语句后,在数据库建立执行语句后,在数据库建立一个学生表一个学生表S的结构的结构 CREATE TABLE S (SNO CHAR(4),(类型为定长字符串)(类型为定长字符串)SNAME VARCHAR(8)(类型为变长字符串,串长为)(类型为变长字符串,串长为8)DEPART VARCHAR(12),),SEX CHAR(2)BDATE DATE,(类型为日期型)(类型为日期型)HEIGHT
40、 DEC(5,2),(类型为(类型为5位十进制数,小数点后位十进制数,小数点后2位)位)PRIMARY KEY(SNO);(指明);(指明SNO为为S的主键)的主键)52第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQL的数据查询的数据查询(考点)(考点)n 查询是数据库的核心操作。查询是数据库的核心操作。SQL提供提供SELECT语句语句,具有灵具有灵活的使用方式和极强查询的功能。关系操作中最常用的是活的使用方式和极强查询的功能。关系操作中最常用的是“投投影、选择和连接影、选择和连接”,都体现在都体现在SELECT语句中语句中:n SELECT A1,A2,An n
41、FROM R1,R2,Rmn WHERE Fn SELECT语句语义为:将语句语义为:将FROM子句所指出的子句所指出的R(基本表或视图基本表或视图)进行连接,从中选取满足进行连接,从中选取满足WHERE子句中条件子句中条件F的行(元组),最后根的行(元组),最后根据据SELECT子句给出的子句给出的A(列名列名)将查询结果表输出将查询结果表输出。(注:输出的仍然。(注:输出的仍然是一个关系)是一个关系)指出目标表的列名指出目标表的列名,相应于相应于“投影投影”指出基本表或视图指出基本表或视图,相应于相应于“连接连接”F为为“选择选择”操作的条件操作的条件53第6章 信息系统与数据库(1)关系
42、数据库语言关系数据库语言SQLn单表查询单表查询n 从指定的一个表中找出符合条件的元组从指定的一个表中找出符合条件的元组.n 例如,查询所有男学生名的情况例如,查询所有男学生名的情况.n SELECT *FROM S WHERE SEX男男;54第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLSNAMEDEPARTCNAMEGRADE张雷计算机软件工程84.5张雷计算机数据库82周光明自动控制软件工程92周光明自动控制数学分析92.5周光明自动控制人工智能90钱欣管理工程数据库75钱欣管理工程人工智能70.5连接查询连接查询(考点考点)一个查询同时涉及两个以上的表,称连接查询。
43、是关系数据库一个查询同时涉及两个以上的表,称连接查询。是关系数据库中最主要的查询。例如,查询每个男学生及其选修课程的情况。要中最主要的查询。例如,查询每个男学生及其选修课程的情况。要求列出学生名,系别,选修课程名及成绩。求列出学生名,系别,选修课程名及成绩。SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SCSC.SNO AND AND男男;查询涉及查询涉及S、C和和SC三个表,三个表,S和和SC表通过表通过SNO作连接作连接,C和和SC表通过表通过CNO来实现连接来实现连接思考:查询所有选修成思考:查询所有选修成绩绩90分的学生信息?分的学生信息?55第6章
44、 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQL的数据更新的数据更新nSQL提供了插入数据、更改数据和删除数据的提供了插入数据、更改数据和删除数据的3类语句类语句。n (1)插入语句插入语句n 插入语句插入语句INSERT可将一个记录插入到指定的表中:可将一个记录插入到指定的表中:n例如,将一个新的课程记录插入到课程开设表例如,将一个新的课程记录插入到课程开设表C中中:n INSERT INTO (,)VALUES(,)INSERT INTO C(CNO,CNAME,LHOUR,SEMESTER)VALUES(CW101,论文写作论文写作,30,春春)56第6章 信息系统与
45、数据库(1)关系数据库语言关系数据库语言SQLn(2)更改语句)更改语句n 对指定表中已有数据进行修改。语句格式如下:对指定表中已有数据进行修改。语句格式如下:其功能是修改指定表中满足其功能是修改指定表中满足WHERE子句条件的记录,其中子句条件的记录,其中SET子句给出子句给出的的值用于取代相应列的值值用于取代相应列的值.n例如例如:将将ME234课程的课时改为课程的课时改为30,并改成春季开设:并改成春季开设:n UPDATE SET.WHEREUPDATE C SET LHOUR=30,SEMESTER春春 WHERE CNOME234;57第6章 信息系统与数据库(1)关系数据库语言关
46、系数据库语言SQLn(3)删除数据)删除数据n SQL删除语句的格式为:删除语句的格式为:n其功能是从指定表中删除满足其功能是从指定表中删除满足WHERE子句条件的记录。子句条件的记录。如果省略如果省略WHERE子句,则删除表中所有记录子句,则删除表中所有记录.n 例如,从例如,从C表中删除课程号为表中删除课程号为CC112的记录:的记录:n DELETE FROM WHERE DELETE FROM C WHERE CNO=CC112;58第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLn SQL的的视图视图n 视图是视图是DBMS所提供的一种由用户观察数据库中数据的重所提供
47、的一种由用户观察数据库中数据的重要机制。视图可由基本表或其他视图导出。它与基本表不同,要机制。视图可由基本表或其他视图导出。它与基本表不同,视图只是一个虚表视图只是一个虚表,在数据字典中,在数据字典中保留其逻辑定义保留其逻辑定义,而不作为,而不作为一个表实际存储数据。一个表实际存储数据。n SQL用用CREATE VIEW语句建立视图,其格式为:语句建立视图,其格式为:n n CREATE VIEW 视图名列名,视图名列名,n AS 子查询子查询59第6章 信息系统与数据库(1)关系数据库语言关系数据库语言SQLnSQL视图的例视图的例:n例如,若建立管理工程系学生的视图例如,若建立管理工程系
48、学生的视图ME_S,语句为:,语句为:n n 视图定义后,用户就可以象对基本表操作一样对视图进行查视图定义后,用户就可以象对基本表操作一样对视图进行查询。询。例如,在管理工程系的学生视图中找出年龄大于例如,在管理工程系的学生视图中找出年龄大于25岁的学岁的学生生,其其SQL语句为语句为:n CREATE VIEW ME_s AS (SELECT SNO,SNAME,SEX,BDATE,HEIGHT FROM S WHERE DEPART管理工程管理工程);SELECT SNANE 2008-YEAR(BDATE)FROM ME_S WHERE 2008YEAR(BDATE)25;60第6章 信
49、息系统与数据库(1)数据库系统及应用新技术数据库系统及应用新技术n数据库体系结构的发展数据库体系结构的发展n DBS运行在计算机系统之上,其体系结构与计算机体系结运行在计算机系统之上,其体系结构与计算机体系结构密切相关。因此构密切相关。因此DBS的系统结构也随着它的硬件和软件支撑的系统结构也随着它的硬件和软件支撑环境的变化而不断演变。环境的变化而不断演变。n 集中式数据库系统集中式数据库系统。早期的。早期的DBMS以分时操作系统作为以分时操作系统作为运行环境,采用集中式的数据库系统结构,把数据库建立在本运行环境,采用集中式的数据库系统结构,把数据库建立在本单位的主计算机上,且不与其他计算机系统
50、进行数据交互。在单位的主计算机上,且不与其他计算机系统进行数据交互。在这种系统中,不但数据是集中的,数据的管理也是集中的。这种系统中,不但数据是集中的,数据的管理也是集中的。.终端终端DB61第6章 信息系统与数据库(1)数据库体系结构的发展数据库体系结构的发展n 客户客户/服务器结构服务器结构(C/S)n 是一种网络处理系统。有多台用作客户机的计算机和一至是一种网络处理系统。有多台用作客户机的计算机和一至多台用作服务器的计算机。客户机直接面向用户,接收并处理多台用作服务器的计算机。客户机直接面向用户,接收并处理任务,将需要任务,将需要DB操作的任务委托服务器执行;而服务器只接操作的任务委托服