第6章 信息系统与数据库_第1页
第6章 信息系统与数据库_第2页
第6章 信息系统与数据库_第3页
第6章 信息系统与数据库_第4页
第6章 信息系统与数据库_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6章章 信息系统与数据库信息系统与数据库 6.1 计算机信息系统计算机信息系统 什么是计算机信息系统什么是计算机信息系统 计算机信息系统的类型计算机信息系统的类型 2 3 什么是计算机信息系统什么是计算机信息系统 (1) n n 计算机信息系统(计算机信息系统(Computer_based Information System ,简称信息系统)是一类以提供信息服务为主,简称信息系统)是一类以提供信息服务为主 要目的的数据密集型、人机交互的计算机应用系统。要目的的数据密集型、人机交互的计算机应用系统。 n 4个主要技术特点:个主要技术特点: n 数据量大数据量大,一般需存放在外存中一般需存放

2、在外存中, 数据存储持久性数据存储持久性, 数据资源使用共享性数据资源使用共享性; 信息服务功能多样性信息服务功能多样性 (管理管理,检索检索,分析分析,决策等决策等). 4 什么是计算机信息系统什么是计算机信息系统 (2) n 信息系统是一种面广量大的计算机应用系统信息系统是一种面广量大的计算机应用系统: n 教学管理系统教学管理系统 n 地理信息系统地理信息系统 n 信息检索系统信息检索系统 n 医学信息系统医学信息系统 n 决策支持系统决策支持系统 n 民航订票系统民航订票系统 n 电子政务系统电子政务系统 n 电子商务系统电子商务系统 n . 5 计算机信息系统的类型计算机信息系统的类

3、型 (一一) n 信息系统的结构信息系统的结构(计算机软硬件、网络等)(计算机软硬件、网络等) n(要点)(要点) n 各类用户 资 源 管 理 层 业 务 逻 辑 层 资 源 管 理 层 应 用 表 现 层 基础设施层 实现业务功能的实现业务功能的 流程、规则、策略流程、规则、策略 和程序和程序. 向用户显示信息向用户显示信息 处理结果处理结果.如:如: Web浏览器界面浏览器界面. 支持系统运行的硬件支持系统运行的硬件, 系统软件和网络系统软件和网络. 各类数据信息,各类数据信息, 资源管理系统资源管理系统. 主要有主要有数据库管数据库管 理系统,数据库理系统,数据库 等等. 6 计算机信

4、息系统的类型(二)计算机信息系统的类型(二) n 从信息处理的深度来区分信息系统从信息处理的深度来区分信息系统, n 基本可分为基本可分为3大类大类:(考点考点) 业务处理系统业务处理系统 信息检索系统信息检索系统 信息分析系统信息分析系统 管理业务系统管理业务系统 辅助技术系统辅助技术系统 办公信息系统办公信息系统 7 计算机信息系统计算机信息系统 的类型的类型 (3) n业务处理系统业务处理系统 n n管理业务系统管理业务系统 n n辅助技术系统辅助技术系统 n n办公信息系统办公信息系统 8 计算机信息系统计算机信息系统 的类型的类型 (4) n n 业务处理系统业务处理系统 n n 信

5、息检索系统信息检索系统 n n 信息分析系统信息分析系统 9 第第6章章 信息系统与数据库信息系统与数据库 n 6.2 关系数据库系统关系数据库系统 数据管理的应用需求数据管理的应用需求 数据库系统的组成和特点数据库系统的组成和特点 关系数据模型关系数据模型(结构结构.完整性完整性.操作操作) 关系数据库语言关系数据库语言SQL 10 数据管理的应用需求数据管理的应用需求 (1) 一个应用实例一个应用实例 : 高校教学业务管理高校教学业务管理 学生信息学生信息(学号学号,姓名姓名) 教师信息教师信息(工号工号,姓名姓名) 教材信息教材信息(书号书号,教材名教材名,.) 课程信息课程信息(课程号

6、课程号,课程名课程名.) 教室信息教室信息(教室号教室号,位置位置) 选课信息选课信息(学生号学生号,课程号课程号) . . 大大 量量 数数 据据 数据库数据库(DB) . 各部门共享数据各部门共享数据 11 数据管理的应用需求数据管理的应用需求 (2) 数据库数据库 数据库管理系统数据库管理系统 应用程序应用程序1 应用程序应用程序2 应用程序应用程序K . . 用户用户 数据库系统中用户共享数据库资源数据库系统中用户共享数据库资源 12 数据管理的应用需求数据管理的应用需求 (3) n综上综上: n 由于数据量急剧增长,计算机用于管理并由于数据量急剧增长,计算机用于管理并 实现共享数据的

7、需求越来越迫切。人们逐步发展了实现共享数据的需求越来越迫切。人们逐步发展了 以统一管理和共享数据为主要特征的数据库系统以统一管理和共享数据为主要特征的数据库系统 (DBS)。)。 n 在在DBS中,数据不再仅仅服务于某个程序或中,数据不再仅仅服务于某个程序或 用户,而是按一定的结构存储于数据库,作为共享用户,而是按一定的结构存储于数据库,作为共享 资源,由数据库管理系统(资源,由数据库管理系统(DBMS)的软件管理)的软件管理,使使 得数据能为尽可能多的应用服务。得数据能为尽可能多的应用服务。 13 数据库系统的组成和特点数据库系统的组成和特点 (4) n 数据库系统的特点数据库系统的特点(考

8、点考点) n 数据结构化。数据结构化。 n 数据可共享数据可共享 n数据独立于程序数据独立于程序 n统一管理控制数据统一管理控制数据 DBMS管理控制数据功能管理控制数据功能: 安全性安全性,完整性完整性.并发控制并发控制,恢复恢复. 从全局分析和描述数据,适应从全局分析和描述数据,适应 多个用户、多种应用共享数据的多个用户、多种应用共享数据的 需求。可减少数据冗佘,节省存需求。可减少数据冗佘,节省存 储空间,保证数据的一致性储空间,保证数据的一致性. 数据面向全局应用,用数据面向全局应用,用数据模型数据模型 描描述数据和数据之间的联系。述数据和数据之间的联系。 逻辑独立性逻辑独立性:应用程序

9、与应用程序与DB的逻辑的逻辑 结构相互独立结构相互独立. 物理独立性物理独立性:应用程序与应用程序与DB的存储的存储 结构相互独立结构相互独立.(要点要点) 14 数据模型数据模型 n 数据模型的基本概念数据模型的基本概念 n问题的提起问题的提起: nDB数据数据: n应用单位所涉及数据的综合,应用单位所涉及数据的综合, n反映数据本身的内容,反映数据本身的内容, n反映数据之间的联系。反映数据之间的联系。 问题问题: 数据如何在数据如何在DB中用特定结构表示?中用特定结构表示? 数据以何种方式进行存储和处理的?数据以何种方式进行存储和处理的? ? 15 数据模型数据模型 n 在常见的数据库系

10、统中,根据实体集之间的不同在常见的数据库系统中,根据实体集之间的不同 结构,通常把数据模型分为层次模型、网状模型、关系结构,通常把数据模型分为层次模型、网状模型、关系 模型和面向对象模型模型和面向对象模型4种。(其中,前三种为传统模型)种。(其中,前三种为传统模型) n n 层次模型层次模型 n 网状模型网状模型 n 关系模型关系模型 n 面向对象模型面向对象模型 16 关系模型的数据结构关系模型的数据结构 n 为什么当今大多数为什么当今大多数DBMS都支持关系数据模型都支持关系数据模型? 当今大多数当今大多数DBMS都支持关系数据模型都支持关系数据模型 17 关系数据模型关系数据模型 n关系

11、数据模型描述数据的逻辑结构关系数据模型描述数据的逻辑结构3要素要素: n 数据结构数据结构 (重点介绍重点介绍) n 数据完整性数据完整性 (参阅教学指导书参阅教学指导书) n 数据的操作数据的操作 (重点介绍重点介绍) 18 关系的结构关系的结构 19 关系模型的数据结构关系模型的数据结构 (续续) 关系数据模型的基本结构是关系数据模型的基本结构是关系关系。 在用户观点下,关系数据模型中数据的在用户观点下,关系数据模型中数据的逻辑逻辑结构是一张结构是一张二二 维表维表(Table),它由表名、行和列组成。),它由表名、行和列组成。 表的每一行称为一个表的每一行称为一个元组元组(Tuple),

12、), 每一列称为一个每一列称为一个属性属性(Attribute)。)。 例如,例表例如,例表1.学生登记表(学生登记表(S): n 20 关系模型的数据结构关系模型的数据结构 (续续) 例表例表2 .课程开设表课程开设表 (C): 课课程程开开设设表表(C C) CNO CNAME LHOUR SEMESTER CC-112 软软件件工工程程 60 春春 CS-202 数数据据库库 45 秋秋 EE-103 控控制制工工程程 60 春春 ME-234 数数学学分分析析 40 秋秋 MS-211 人人工工智智能能 60 秋秋 21 关系模型的数据结构关系模型的数据结构 (续续) n例表例表3.

13、学生选课成绩表学生选课成绩表 (SC): 思考:以上三张表之间思考:以上三张表之间 是否有联系?是否有联系? 22 关系数据模型关系数据模型(结构结构) (续续) n 学生登记表学生登记表(S),课程开设表课程开设表(C)与学生选课成绩表之间与学生选课成绩表之间 的联系的联系: SNO CNO GRADE A041 CC112 92 A041 ME234 92.5 A041 MS211 90 C005 CC112 84.5 C005 CS202 82 M038 ME234 85 R098 CS202 75 R098 MS211 70.5 SNO SNAME DEPART SEX BDATE H

14、EIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 C008 王宁 计算机 女 1986-8-20 1.62 M038 李霞霞 应用数学 女 1988-10-20 1.65 R098 钱欣 管理工程 男 1986-5-16 1.8 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 学生登记表(S) 学生选课成绩表(SC) 课程开设表(C) 23 关系数据模型关系

15、数据模型(结构结构) (续续) 数据库中数据的逻辑结构(二维表)纵观示意图数据库中数据的逻辑结构(二维表)纵观示意图: 逻辑结构逻辑结构 DBMS DB 物理 数据库 从用户角度看数据库中数据的逻辑结从用户角度看数据库中数据的逻辑结 构构 (二维表)(二维表) 用户用户 用户用户 SC C S 属性(列) S表表 元组1(行) 元组2(行) 元组n(行) 存储模式存储模式 DBMS是是DBS的核心,负责数据库的建的核心,负责数据库的建 立、使用和维护立、使用和维护 24 关系数据模型关系数据模型(结构结构) (续续) n 关系数据模式关系数据模式: 数据的关系模型结构就是二维表结构数据的关系模

16、型结构就是二维表结构 3张二维表分别是数据对象张二维表分别是数据对象 “学生学生(S)”、 “课程开设课程开设(C)” 和其联系和其联系“学生选课成绩学生选课成绩(SC)” 的反映的反映 这种用关系数据模型这种用关系数据模型 对一个具体单位中对一个具体单位中 客观对象及其联系客观对象及其联系 的结构描述,称为的结构描述,称为 关系数据模式关系数据模式 (简称简称:关系模式关系模式) 25 关系数据模型关系数据模型(结构结构) (续续) n 关系模式的描述形式关系模式的描述形式: (要点)(要点) n 其中其中:R为为关系模式名关系模式名,即,即二维表名二维表名。 n Ai(1in)是二维)是二

17、维表中的列名表中的列名。 或者或者: R =(A1,A2,Ai,An) R(A1,A2,Ai,An) 26 关系数据模型关系数据模型(结构结构) (续续) n. 上述数据对象(上述数据对象(S和和C)以及数据对象之间的联系()以及数据对象之间的联系(SC) 表示成关系模式分别为:表示成关系模式分别为: S (SNO,SNAME,DEPART,SEX,BDATE,HEIGHT) C (CNO,CNAME,LHOUR,SEMESTER) SC(SNO,CNO,GRADE) 27 关系数据模型关系数据模型(结构结构) (续续) n这这3个关系模式也可以用汉字定义为个关系模式也可以用汉字定义为: 学生

18、学生 (学号学号,姓名,系别,性别,出生日期,身高),姓名,系别,性别,出生日期,身高) 课程课程 ( 课程号课程号,课程名,学时,开课时间),课程名,学时,开课时间) 选课成绩选课成绩 (学号,课程号学号,课程号,成绩),成绩) 28 关系数据模型关系数据模型(结构结构) (续续) n 关系模式关系模式(即二维表即二维表)主键主键: (要点)(要点) n 能够唯一标识二维表中指定元组能够唯一标识二维表中指定元组 的属性或者属性组的属性或者属性组(这组属性的任何这组属性的任何 真子集无此性质真子集无此性质),称为该二维表的称为该二维表的候候 选键选键. n 如果一个关系模式有多个候选键如果一个

19、关系模式有多个候选键 存在存在,则可从中选一个最常用的作为则可从中选一个最常用的作为 该关系模式主键该关系模式主键,简称简称主键主键. 课课 程程 开开 设设 表表 ( C C ) C N O C N A M E L H O U R S E M E S T E R C C -1 1 2 软软 件件 工工 程程 6 0 春春 C S -2 0 2 数数 据据 库库 4 5 秋秋 E E -1 0 3 控控 制制 工工 程程 6 0 春春 M E -2 3 4 数数 学学 分分 析析 4 0 秋秋 M S -2 1 1 人人 工工 智智 能能 6 0 秋秋 候选键候选键: (学号学号) (姓名姓名

20、,出生年月出生年月) 主键主键: (学号学号) 29 关系数据模型关系数据模型(结构结构) (续续) n例如例如: n学生登记表中的学生有下列属性学生登记表中的学生有下列属性(列列):学号,姓名,系:学号,姓名,系 别,出生年月等,则学号可作为候选键,用它来标识一别,出生年月等,则学号可作为候选键,用它来标识一 个学生。因学生可能有重名,因而姓名不能作为候选键;个学生。因学生可能有重名,因而姓名不能作为候选键; 但若学生的出生年月不同,则也可用属性组(姓名,出但若学生的出生年月不同,则也可用属性组(姓名,出 生年月)作为候选键,必须再从这两个候选键中选其一生年月)作为候选键,必须再从这两个候选

21、键中选其一 (如学号)作为学生登记表的主键。(如学号)作为学生登记表的主键。 30 关系模型的关系模型的存储结构存储结构 在关系数据模型中,数据在关系数据模型中,数据 对象和数据对象之间的联对象和数据对象之间的联 系都用二维表来表示。在系都用二维表来表示。在 支持关系模型的数据库物支持关系模型的数据库物 理组织理组织(即存储结构即存储结构)中,二中,二 维表以维表以文件文件形式存储。在形式存储。在 大多数数据库中,二维表大多数数据库中,二维表 与操作系统中的文件相对与操作系统中的文件相对 应。应。 关系数据模型关系数据模型(结构结构) (续续) DB 文件文件 文件文件 文件文件 31 关系数

22、据模型关系数据模型(结构结构) (续续) n 特别提示特别提示: n 严格地说明严格地说明,关系是一种规范化二维表中行的集合。在关系数关系是一种规范化二维表中行的集合。在关系数 据模型中,对每个关系还作了如下限制:据模型中,对每个关系还作了如下限制: n每一个列对应一个域,列名不能相同每一个列对应一个域,列名不能相同.。 n 关系中所有的列是原子数据关系中所有的列是原子数据 (原子数据是不可再分的原子数据是不可再分的) n 关系中不允许出现相同的行关系中不允许出现相同的行 (即不能出现重复的行即不能出现重复的行) n 关系是行的集合,行的次序可以交换。关系是行的集合,行的次序可以交换。 (按集

23、合的性质按集合的性质) n 行中列的顺序可以任意交换。行中列的顺序可以任意交换。(按集合的性质按集合的性质,但使用按定义顺序但使用按定义顺序) 32 关系的完整性关系的完整性 33 关系数据模型关系数据模型(完整性完整性) n 关系模式用关系模式用R(A1,A2,An)表示,仅仅说)表示,仅仅说 明关系的语法,但是并不是每个合乎语法的行明关系的语法,但是并不是每个合乎语法的行(元组元组)都都 能成为二维表能成为二维表R中的元组,它还要受到语义的限制。中的元组,它还要受到语义的限制。 n 数据的语义不但会数据的语义不但会限制属性的值限制属性的值,例如:小学、中学,例如:小学、中学 和大学都有规定

24、的最低入学年龄的限制;一个企业仓库和大学都有规定的最低入学年龄的限制;一个企业仓库 管理中的库存量不能为负值等。管理中的库存量不能为负值等。 n 数据的语义还会制约数据的语义还会制约属性间的关系属性间的关系,如:学生选课成,如:学生选课成 绩表绩表SC中的学生必须是学生登记表中的学生必须是学生登记表S中已注册的学生等。中已注册的学生等。 n 以上所述的约束可以用来保证数据库中数据的正确性,以上所述的约束可以用来保证数据库中数据的正确性, 称其为关系模型的称其为关系模型的完整性约束完整性约束。 34 关系数据模型关系数据模型(完整性完整性) (续续) 考点考点 实体完整性约束实体完整性约束 关系

25、模型的完整性约束关系模型的完整性约束 引用完整性约束引用完整性约束 用户定义完整性约束用户定义完整性约束 35 关系模型的操作关系模型的操作 36 关系数据模型关系数据模型(操作操作) n 在关系数据库中,通常可以定义一些操作来通过已在关系数据库中,通常可以定义一些操作来通过已 知的关系知的关系(二维表二维表)创建新的关系创建新的关系(二维表二维表)。最常用的关系。最常用的关系 操作有操作有:(要点):(要点) n n 并并 插入插入 n 交交 更新更新 n 差差 删除删除 n 笛卡尔积笛卡尔积 选择选择 n 除除 连接连接 n 投影投影 专门的关系操作专门的关系操作 传统集合的关系操作传统集

26、合的关系操作 37 关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作) n并并 n 并操作是一个并操作是一个二元二元操作。它要求参与操作的两个关系有操作。它要求参与操作的两个关系有相同的关相同的关 系模式系模式。其作用是将两个关系组合成一个新的关系。根据集合论的。其作用是将两个关系组合成一个新的关系。根据集合论的 定义,并操作创建的新关系中的每一个元组或者属于第一个关系、定义,并操作创建的新关系中的每一个元组或者属于第一个关系、 或者属于第二个关系,或者在两个关系中皆有。或者属于第二个关系,或者在两个关系中皆有。 SNAME GRADE 钱欣 75 张进元 62 张华 68 胡

27、平平 79 周亮 80 王宁 100 顾永华 90 黄进 82 并并 并并 SNAME GRADE 钱欣 75 张进元 62 张华 68 胡平平 79 周亮 80 SNAME GRADE 王宁 100 钱欣 75 顾永华 90 黄进 82 胡平平 79 周亮 80 SC1 SC2 结果关系表示结果关系表示 选课程学生的选课程学生的 “60100分成分成 绩表绩表” 38 关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作) n交交 n 交操作也是一个交操作也是一个二元二元操作。它对两个具有相同操作。它对两个具有相同关系模关系模 n 式式的关系进行操作,创建一个新关系。根据集合论的

28、定义,的关系进行操作,创建一个新关系。根据集合论的定义, n交操作所创建新关系中的每一个元组必须是两个原关系中交操作所创建新关系中的每一个元组必须是两个原关系中 n共有的成员。共有的成员。 SNAME GRADE 钱欣 75 胡平平 79 周亮 80 交交 交交 SNAME GRADE 钱欣 75 张进元 62 张华 68 胡平平 79 周亮 80 SNAME GRADE 王宁 100 钱欣 75 顾永华 90 黄进 82 胡平平 79 周亮 80 SC1 SC2 结果表示选课结果表示选课 学生学生“70分分 80分成绩分成绩 表表”。 39 关系数据模型关系数据模型 (传统集合的关系操作传统

29、集合的关系操作) n. 差差 差操作也是一个差操作也是一个二元二元操作。它应用于具有操作。它应用于具有相同关系模式相同关系模式的两的两 个关系。生成新关系中的元组是存在于第一个关系而不存在于个关系。生成新关系中的元组是存在于第一个关系而不存在于 第二个关系中的元组。第二个关系中的元组。 例如,关系例如,关系SC1与关系与关系SC2进行差操作进行差操作: 差差 差差 SNAME GRADE 钱欣 75 张进元 62 张华 68 胡平平 79 周亮 80 SNAME GRADE 王宁 100 钱欣 75 顾永华 90 黄进 82 胡平平 79 周亮 80 SNAME GRADE 张进元 62 张华

30、 68 SC1 SC2 结果关系包括结果关系包括 那些在那些在SC1表表 中而不在中而不在SC2 表中的成绩信表中的成绩信 息,即息,即“60 69分成绩表分成绩表” 40 关系数据模型关系数据模型 (传统集合的关系操作传统集合的关系操作) 差差 (续续) 在集合操作中在集合操作中,“并并”和和“交交”具有交具有交换换律的性律的性质质,而而“差差”操作操作 没没有有 交换律的性质交换律的性质. 例如,关系例如,关系SC2与关系与关系SC1进行差操作进行差操作: 结果关系包括结果关系包括 那些在那些在SC2表表 中而不在中而不在SC1 表中的成绩信表中的成绩信 息,即息,即“81 100分成绩表

31、分成绩表” SC2 SC1 差差 SC1SC2=SC2SC1 SC1SC2=SC2SC1 SC1SC2SC2SC1 41 关系数据模型关系数据模型 (专门的关系操作专门的关系操作) n插入插入 n 插入操作是一种插入操作是一种一元一元操作。它应用于一个关系,其操操作。它应用于一个关系,其操 作是在关系中插入新的元组(或另一个具有相同模式的作是在关系中插入新的元组(或另一个具有相同模式的 关系)关系). n 例如例如:在课程开设表(在课程开设表(C)中插入一个新的课程信息)中插入一个新的课程信息 n (CW101,论文写作论文写作,30,春春)。)。 插入插入 插入插入 (CW101,论文写作,

32、30,春) CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CW101 论文写作 30 春 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 C C 42 关系数据模型关系数据模型 (专门的关系操作专门的关系操作) n删除删除 n 删除操作为删除操作为一元一元操作。它根据要求删去表

33、中相应的元操作。它根据要求删去表中相应的元 组。组。 n 例如例如:从课程表(从课程表(C)中删除课程)中删除课程CC112。 删除删除 删除删除 CNO CNAME LHOUR SEMESTER CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 C C 43 关系数据模型关系数据模型 (专门的关系操作专门的关系操

34、作) n更改更改 n 更改操作也是一种更改操作也是一种一元一元操作,它应用于一个关系。用操作,它应用于一个关系。用 来改变关系中指定元组中的部分属性值。来改变关系中指定元组中的部分属性值。 n 例如例如:课程开设表课程开设表(C)中的课程中的课程ME234元组的元组的LHOUR值由值由 “40”改为改为“30”,SEMESTER值由值由“秋秋”改为改为“春春”。 更新更新 更新更新 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CNO

35、 CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 30 春 MS211 人工智能 60 秋 C C 44 关系数据模型关系数据模型 (专门的关系操作专门的关系操作) n选择选择 n 选择操作是选择操作是一元一元操作。它应用于一个关系并产生另一个新操作。它应用于一个关系并产生另一个新 关系。关系。新关系中的元组(行)是原关系中元组的子集新关系中的元组(行)是原关系中元组的子集。选择操。选择操 作根据要求从原先关系中选择部分元组。结果关系中的属性作根据要求从原先关系中选择部分元组。结果关系

36、中的属性 (列)与原关系相同(保持不变)。(列)与原关系相同(保持不变)。 n 例如例如:从学生登记表从学生登记表(S)中,选出性别为中,选出性别为“男男”的学生元组,的学生元组, 组成一个新关系组成一个新关系“男学生登记表男学生登记表”。 SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 C008 王宁 计算机 女 1986-8-20 1.62 M038 李霞霞 应用数学 女 1988-10-20 1.65 R098 钱欣 管理工程 男 1986-5-16

37、1.8 选择选择 选择选择 SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 R098 钱欣 管理工程 男 1986-5-16 1.8 S S 45 关系数据模型关系数据模型 (专门的关系操作专门的关系操作) n投影投影 n 是是一元一元操作,它作用于一个关系并产生另一个新关系。新操作,它作用于一个关系并产生另一个新关系。新 关系中的属性(列)是原关系中属性的子集。在一般情况下,关系中的属性(列)是原关系中属性的子集。在一般情况下, 虽然新关系中的元组属性减少

38、了,但其元组(行)的数量与原虽然新关系中的元组属性减少了,但其元组(行)的数量与原 关系保持不变。关系保持不变。 n 例如例如:需要了解学生选课情况而不关心其成绩时,可对学生需要了解学生选课情况而不关心其成绩时,可对学生 选课成绩表(选课成绩表(SC)进行相关的投影操作)进行相关的投影操作. n。 投影投影 投影投影 SNO CNO GRADE A041 CC112 92 A041 ME234 92.5 A041 MS211 90 C005 CC112 84.5 C005 CS202 82 M038 ME234 85 R098 CS202 75 R098 MS211 70.5 SNO CNO

39、A041 CC112 A041 ME234 A041 MS211 C005 CC112 C005 CS202 M038 ME234 R098 CS202 R098 MS211 SCSC 其结果的每个元组其结果的每个元组 仅包括学(仅包括学(SNO) 课程号(课程号(CNO) 两个属性两个属性 46 关系数据模型关系数据模型 (专门的关系操作专门的关系操作) n连接连接 n 是一个是一个二元二元操作。它基于共有属性把两个关系组合起来。操作。它基于共有属性把两个关系组合起来。 连接操作比较复杂并有较多的变化。连接操作比较复杂并有较多的变化。 n 例如例如:学生登记表(学生登记表(S)和学生选课成绩

40、表()和学生选课成绩表(SC)的连接)的连接,生成一生成一 个信息更全面的关系个信息更全面的关系. 连接连接 连接连接 SNO CNO GRADE A041 CC112 92 A041 ME234 92.5 A041 MS211 90 C005 CC112 84.5 C005 CS202 82 M038 ME234 85 R098 CS202 75 R098 MS211 70.5 SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 C008 王宁 计算机 女 1

41、986-8-20 1.62 M038 李霞霞 应用数学 女 1988-10-20 1.65 R098 钱欣 管理工程 男 1986-5-16 1.8 SNO SNAME DEPART SEX DDATE HEIGHT CNO GRADE A041 周光明 自动控制 男 1986-8-10 1.7 CC112 92 A041 周光明 自动控制 男 1986-8-10 1.7 ME234 92.5 A041 周光明 自动控制 男 1986-8-10 1.7 MS211 90 C005 张雷 计算机 男 1987-6-30 1.75 CC112 84.5 C005 张雷 计算机 男 1987-6-3

42、0 1.75 CS202 82 M038 李霞霞 应用数学 女 1988-10-20 1.65 ME234 85 R098 钱欣 管理工程 男 1986-5-16 1.8 CS202 75 R098 钱欣 管理工程 男 1986-5-16 1.8 MS211 70.5 S S SCSC 对于已选课程的学生而言,结果关系对于已选课程的学生而言,结果关系 包含包含SC表原来的信息,并增加了该学表原来的信息,并增加了该学 生选修课程号(生选修课程号(CNO)和成绩)和成绩 (GRADE)。)。 47 关系数据库语言关系数据库语言SQL n 数据库语言数据库语言 n 以上讨论的关系操作,比较直观地说明

43、了其对二维以上讨论的关系操作,比较直观地说明了其对二维 表运算的含意表运算的含意(数学上对关系操作的抽象描述是数学上对关系操作的抽象描述是“关系代关系代 数数”)。在此基础上,关系数据库管理系统必须配置与此。在此基础上,关系数据库管理系统必须配置与此 相应的语言,使用户可以对数据库进行各式各样的操作,相应的语言,使用户可以对数据库进行各式各样的操作, 这就构成了用户和数据库的接口。由于这就构成了用户和数据库的接口。由于DBMS所提供的所提供的 语言一般局限于对数据库的操作,不同于计算机的程序语言一般局限于对数据库的操作,不同于计算机的程序 设计语言,因而称它为设计语言,因而称它为数据库语言数据

44、库语言. DB 数据库语言数据库语言 程序程序 用户用户 48 关系数据库语言关系数据库语言SQL n 关系数据库语言关系数据库语言SQL特点特点 n 是一是一种种“非非过过程程语语言言” n 体现关系模型在结构体现关系模型在结构, ,完整性和操作方面的特征完整性和操作方面的特征 n 有命令和嵌入程序两种使用方式有命令和嵌入程序两种使用方式 n 功能齐全功能齐全,简洁易学简洁易学,使用方便使用方便 n 为主流为主流DBMSDBMS产品所支持产品所支持 用户只要指出用户只要指出“做什做什 么么”,而而“如何做如何做”的的 过程由过程由DBMS完成完成. 命令式命令式:直接用语句操作直接用语句操作

45、 嵌入式嵌入式:将语句嵌入程序将语句嵌入程序 ORACLE,MS-SQL Server,Sybase DB2,(Access,VFP有接口有接口) 49 关系数据库语言关系数据库语言SQL n 关系数据库语言关系数据库语言SQL 3级体系结构级体系结构 视图 V1 视图 Vp 基本表 B1 基本表 B2 基本表 B3 基本表 Bm 存储文件 S1 存储文件 S2 存储文件 S3 存储文件 Sq 用户 1 用户 2 用户 n 用户 3 用户看到的关系模式用户看到的关系模式 主要是主要是视图(考点)视图(考点) 系统的全局关系模系统的全局关系模 式是基本表式是基本表 系统的存储结构是系统的存储结构

46、是 文件文件 50 关系数据库语言关系数据库语言SQL n SQL数据定义语言数据定义语言DDL n 作为建立数据库最重要的一步,根据关系模式定义所需的基本表,作为建立数据库最重要的一步,根据关系模式定义所需的基本表, SQL语句表示为:语句表示为: n n其中其中: n 表示可含有该子句,也可为空表示可含有该子句,也可为空. n 基本表名字基本表名字. n 每个基本表可以由一个或多个列组成。每个基本表可以由一个或多个列组成。 n 定义基本表时要指明每个列的类型和长度,同时还可定义基本表时要指明每个列的类型和长度,同时还可 n 以定义与该表有关的完整性约束条件,以定义与该表有关的完整性约束条件

47、, CREATE TABLE (列名数据类型完整性约束条件,(列名数据类型完整性约束条件,) 51 关系数据库语言关系数据库语言SQL nDDL例例: n 按照关系模式按照关系模式S,定义学生基本表的,定义学生基本表的SQL语句语句: S SN NO OS SN NA AM ME ED DE EP PA AR RT TS SE EX XB BD DA AT TE EH HE EI IG GH HT T执行语句后,在数据库建立执行语句后,在数据库建立 一个学生表一个学生表S的结构的结构 CREATE TABLE S (SNO CHAR(4) , (类型为定长字符串)(类型为定长字符串) SNAM

48、E VARCHAR(8)(类型为变长字符串,串长为)(类型为变长字符串,串长为8) DEPART VARCHAR(12),), SEX CHAR(2) BDATE DATE, (类型为日期型)(类型为日期型) HEIGHT DEC(5,2), (类型为(类型为5位十进制数,小数点后位十进制数,小数点后2位)位) PRIMARY KEY(SNO);(指明);(指明SNO为为S的主键)的主键) 52 关系数据库语言关系数据库语言SQL n SQL的数据查询的数据查询(考点)(考点) n 查询是数据库的核心操作。查询是数据库的核心操作。SQL提供提供SELECT语句语句,具有灵具有灵 活的使用方式和

49、极强查询的功能。关系操作中最常用的是活的使用方式和极强查询的功能。关系操作中最常用的是“投投 影、选择和连接影、选择和连接”,都体现在都体现在SELECT语句中语句中: n SELECT A1,A2,An n FROM R1,R2,Rm n WHERE F n SELECT语句语义为:将语句语义为:将FROM子句所指出的子句所指出的R(基本表或视图基本表或视图) 进行连接,从中选取满足进行连接,从中选取满足WHERE子句中条件子句中条件F的行(元组),最后根的行(元组),最后根 据据SELECT子句给出的子句给出的A(列名列名)将查询结果表输出将查询结果表输出。(注:输出的仍然。(注:输出的仍

50、然 是一个关系)是一个关系) 指出目标表的列名指出目标表的列名,相应于相应于“投影投影” 指出基本表或视图指出基本表或视图,相应于相应于“连接连接” F为为“选择选择”操作的条件操作的条件 53 关系数据库语言关系数据库语言SQL n单表查询单表查询 n 从指定的一个表中找出符合条件的元组从指定的一个表中找出符合条件的元组. n 例如,查询所有男学生名的情况例如,查询所有男学生名的情况. n SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 C008 王宁 计

51、算机 女 1986-8-20 1.62 M038 李霞霞 应用数学 女 1988-10-20 1.65 R098 钱欣 管理工程 男 1986-5-16 1.8 选择选择 选择选择 SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 R098 钱欣 管理工程 男 1986-5-16 1.8 S S SELECT * FROM S WHERE SEX男男; 54 关系数据库语言关系数据库语言SQL SNAMEDEPARTCNAMEGRADE 张雷计算机软件工程84

52、.5 张雷计算机数据库82 周光明自动控制软件工程92 周光明自动控制数学分析92.5 周光明自动控制人工智能90 钱欣管理工程数据库75 钱欣管理工程人工智能70.5 连接查询连接查询 (考点考点) 一个查询同时涉及两个以上的表,称连接查询。是关系数据库一个查询同时涉及两个以上的表,称连接查询。是关系数据库 中最主要的查询。例如,查询每个男学生及其选修课程的情况。要中最主要的查询。例如,查询每个男学生及其选修课程的情况。要 求列出学生名,系别,选修课程名及成绩。求列出学生名,系别,选修课程名及成绩。 SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WH

53、ERE S.SNOSC.SNO AND SC.CNOC.CNO AND S.SEX男男; SNO CNO GRADE A041 CC112 92 A041 ME234 92.5 A041 MS211 90 C005 CC112 84.5 C005 CS202 82 M038 ME234 85 R098 CS202 75 R098 MS211 70.5 SNO SNAME DEPART SEX BDATE HEIGHT A041 周光明 自动控制 男 1986-8-10 1.7 C005 张雷 计算机 男 1987-6-30 1.75 C008 王宁 计算机 女 1986-8-20 1.62 M

54、038 李霞霞 应用数学 女 1988-10-20 1.65 R098 钱欣 管理工程 男 1986-5-16 1.8 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 学生登记表(S) 学生选课成绩表(SC) 课程开设表(C) 查询涉及查询涉及S、C和和SC三个表,三个表, S和和SC表通过表通过SNO作连接作连接 ,C和和SC表通过表通过CNO来实现连接来实现连接 思考:查询所有选修成思考:查询所有选修成 绩绩90分的学生信息?分的学

55、生信息? 55 关系数据库语言关系数据库语言SQL n SQL的数据更新的数据更新 nSQL提供了插入数据、更改数据和删除数据的提供了插入数据、更改数据和删除数据的3类语句类语句。 n (1) 插入语句插入语句 n 插入语句插入语句INSERT可将一个记录插入到指定的表中:可将一个记录插入到指定的表中: n例如,将一个新的课程记录插入到课程开设表例如,将一个新的课程记录插入到课程开设表C中中: n 插入插入 插入插入 (CW101,论文写作,30,春) CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春

56、 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CW101 论文写作 30 春 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 C C INSERT INTO (,) VALUES(,) INSERT INTO C(CNO,CNAME,LHOUR,SEMESTER) VALUES(CW101,论文写作论文写作,30,春春) 56 关系数据库语言关系数据库语言SQL n(2)更改语句)更改语句 n 对指定表中已有数据进行

57、修改。语句格式如下:对指定表中已有数据进行修改。语句格式如下: 其功能是修改指定表中满足其功能是修改指定表中满足WHERE子句条件的记录,其中子句条件的记录,其中SET子句给出子句给出的的 值用于取代相应列的值值用于取代相应列的值. n例如例如 :将将ME234课程的课时改为课程的课时改为30,并改成春季开设:并改成春季开设: n 更新更新 更新更新 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CNO CNAME LHOUR SEM

58、ESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 30 春 MS211 人工智能 60 秋 C C UPDATE SET .WHERE UPDATE C SET LHOUR=30, SEMESTER春春 WHERE CNOME234 ; 57 关系数据库语言关系数据库语言SQL n(3)删除数据)删除数据 n SQL删除语句的格式为:删除语句的格式为: n其功能是从指定表中删除满足其功能是从指定表中删除满足WHERE子句条件的记录。子句条件的记录。 如果省略如果省略WHERE子句,则删除表中所有记录子句,则删除表中所

59、有记录. n 例如,从例如,从C表中删除课程号为表中删除课程号为CC112的记录:的记录: n 删除删除 删除删除 CNO CNAME LHOUR SEMESTER CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 CNO CNAME LHOUR SEMESTER CC112 软件工程 60 春 CS202 数据库 45 秋 EE103 控制工程 60 春 ME234 数学分析 40 秋 MS211 人工智能 60 秋 C C DELETE FROM WHERE DELETE FROM C WHERE CNO=CC11

60、2; 58 关系数据库语言关系数据库语言SQL n SQL的的视图视图 n 视图是视图是DBMS所提供的一种由用户观察数据库中数据的重所提供的一种由用户观察数据库中数据的重 要机制。视图可由基本表或其他视图导出。它与基本表不同,要机制。视图可由基本表或其他视图导出。它与基本表不同, 视图只是一个虚表视图只是一个虚表,在数据字典中,在数据字典中保留其逻辑定义保留其逻辑定义,而不作为,而不作为 一个表实际存储数据。一个表实际存储数据。 n SQL用用CREATE VIEW语句建立视图,其格式为:语句建立视图,其格式为: n n CREATE VIEW 视图名列名,视图名列名, n AS 子查询子查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论