软件设计师培训DB_第1页
软件设计师培训DB_第2页
软件设计师培训DB_第3页
软件设计师培训DB_第4页
软件设计师培训DB_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

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

文档简介

1、软件设计师培训软件设计师培训软件设计师软件设计师历年考试对本章内容的考查情况历年考试对本章内容的考查情况考次考次2004200520062007200820095月月11月月5月月11月月5月月11月月5月月11月月5月月11月月5月月分值分值620202020202220212121比重4%13.3%13.3%13.3%13.3%13.3%14.7%13.3%14%14% 14%本章的重点程度:本章的重点程度:软件设计师软件设计师2.2.数据库技术基础知识数据库技术基础知识大纲要求:大纲要求:l 数据库管理系统的功能和特征数据库管理系统的功能和特征l 数据库体系结构(概念模式、外模式、内模式

2、)数据库体系结构(概念模式、外模式、内模式)l 数据模型,数据模型,ERER图,第一范式、第二范式、第三范式图,第一范式、第二范式、第三范式l 数据操作(集合运算和关系运算)数据操作(集合运算和关系运算)l 数据库语言(数据库语言(SQLSQL)l 数据库的控制功能(并发控制、恢复、安全性、完整性)数据库的控制功能(并发控制、恢复、安全性、完整性)l 数据仓库和分布式数据库基础知识数据仓库和分布式数据库基础知识 软件设计师软件设计师2.1 2.1 数据库系统的基本概念数据库系统的基本概念l DB、DBMS和和DBS的定义的定义 DB (数据库数据库) 是长期存储在计算机内、有组织的、统一管是长

3、期存储在计算机内、有组织的、统一管理的相关数据的集合。理的相关数据的集合。 DBMS(数据库管理系统数据库管理系统)是数据库系统中管理数据的软件是数据库系统中管理数据的软件系统。位于用户与操作系统之间的一层管理软件。系统。位于用户与操作系统之间的一层管理软件。 DBS(数据库管理系统数据库管理系统)在计算机系统中引入数据库后的在计算机系统中引入数据库后的系统。是数据库、硬件、软件、数据库管理员及用户的集系统。是数据库、硬件、软件、数据库管理员及用户的集合。合。软件设计师软件设计师l 数据库管理系统的功能数据库管理系统的功能1.1. 数据库的定义功能数据库的定义功能 DBMSDBMS提供数据定义

4、语言提供数据定义语言(DDL)(DDL)定义数据库的三级结构定义数据库的三级结构两级映象,定义数据的完整性、安全控制约束。两级映象,定义数据的完整性、安全控制约束。2.2. 数据库的操作数据库的操作 DBMS DBMS提供数据操作语言提供数据操作语言(DML)(DML)实现对数据库中数据的操实现对数据库中数据的操 作。基本数据操作有:检索作。基本数据操作有:检索( (查询查询) )、和更新、和更新( (插入、删除、插入、删除、修改修改) )。软件设计师软件设计师3.3. 数据库的保护功能数据库的保护功能 DBMS DBMS对数据的保护主要通过四个方面实现,因而对数据的保护主要通过四个方面实现,

5、因而DBMSDBMS中包括四个子系统。中包括四个子系统。数据库恢复数据库恢复数据库的并发控制数据库的并发控制数据库的完整性控制数据库的完整性控制数据库的安全性控制数据库的安全性控制软件设计师软件设计师4.4. 数据库存储管理数据库存储管理 DBMSDBMS的存储管理子系统提供了数据库中数据和应用程的存储管理子系统提供了数据库中数据和应用程序的一个界面,序的一个界面,DBMSDBMS存储管理子系统的职责是把各种存储管理子系统的职责是把各种DMLDML语句转换成底层的与磁盘中数据打交道的操作系统的文件语句转换成底层的与磁盘中数据打交道的操作系统的文件系统命令,起到数据的存储、检索和更新的作用。系统

6、命令,起到数据的存储、检索和更新的作用。软件设计师软件设计师5.5.数据库的维护功能数据库的维护功能 数据装载程序数据装载程序 备份程序备份程序 文件重组织程序文件重组织程序 性能监控程序性能监控程序6. 6. 数据字典(数据字典(DDDD) 数据库系统中存放三级结构定义的数据库称为数据字数据库系统中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问典。对数据库的操作都要通过访问DDDD才能实现。才能实现。DDDD中还存中还存放数据库运行的统计信息,例如记录个数、访问次数等。放数据库运行的统计信息,例如记录个数、访问次数等。软件设计师软件设计师 【软件设计师考试软件设计师考试20

7、072007年年1111月上午试题月上午试题5151】 在数据库系统中,数据的完整性约束的建立需要在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的通过数据库管理系统提供的(5151) 语言来实现。语言来实现。(5151)A. A. 数据定义数据定义B. B. 数据操作数据操作 C. C. 数据查询数据查询D. D. 数据控制数据控制A A软件设计师软件设计师2.2 2.2 数据库系统的体系结构数据库系统的体系结构三级结构两级映象三级结构两级映象l 三级结构:外模式、概念模式、内模式三级结构:外模式、概念模式、内模式l 两级映象:外模式两级映象:外模式/ /模式映象、模式模式映

8、象、模式/ /内模式映象内模式映象软件设计师软件设计师l 三级结构:三级结构: 外模式:外模式:单个用户使用到的那部分数据的描述。单个用户使用到的那部分数据的描述。 概念模式:概念模式:是用户定义的数据库中全部数据逻辑是用户定义的数据库中全部数据逻辑结构的描述。结构的描述。 内模式:内模式:是数据库在物理存储方面的描述,接近是数据库在物理存储方面的描述,接近于物理存储设备,涉及到实际数据存储的结构。于物理存储设备,涉及到实际数据存储的结构。软件设计师软件设计师软件设计师软件设计师软件设计师软件设计师l 两级映象两级映象 模式内模式映象:模式内模式映象:存在于概念级和内部级之间,存在于概念级和内

9、部级之间,用于定义概念模式和内模式之间的对应性。用于定义概念模式和内模式之间的对应性。 外模式模式映象:外模式模式映象:存在于外部级和概念级之间,存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。用于定义外模式和概念模式之间的对应性。软件设计师软件设计师l 两级数据独立性两级数据独立性 数据独立性是指应用程序和数据库的数据结构之间相互数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。独立,不受影响。 数据独立性分成数据独立性分成物理数据独立性物理数据独立性和和逻辑数据独立性逻辑数据独立性两个两个级别。级别。 物理数据独立性物理数据独立性:数据的内模式修改,模式内模式

10、也:数据的内模式修改,模式内模式也要进行相应的修改,但概念模式尽可能保持不变。要进行相应的修改,但概念模式尽可能保持不变。 逻辑数据独立性:逻辑数据独立性:数据的概念模式修改,外模式模式数据的概念模式修改,外模式模式也要进行相应的修改,但外模式尽可能保持不变。也要进行相应的修改,但外模式尽可能保持不变。软件设计师软件设计师2.3 2.3 数据模型数据模型 数据模型数据模型: :表示实体类型及实体间联系的模型表示实体类型及实体间联系的模型. . 根据模型应用的不同目的可以将模型化分为根据模型应用的不同目的可以将模型化分为概念概念数据模型数据模型和和结构数据模型结构数据模型l 概念模型概念模型 E

11、R ER模型(实体联系模型)模型(实体联系模型)l 结构数据模型结构数据模型 层次模型、网状模型、关系模型层次模型、网状模型、关系模型按用户的观点对按用户的观点对数据和信息建模的数据和信息建模的按计算机的观点对按计算机的观点对数据建模的,直接数据建模的,直接面向数据库的结构面向数据库的结构软件设计师软件设计师概念模型概念模型结构数据模型结构数据模型现实世界现实世界信息世界信息世界机器世界机器世界软件设计师软件设计师l 概念模型概念模型 ER ER模型(实体联系模型)模型(实体联系模型) 实体间的联系实体间的联系:实体集内部以及实体集的联:实体集内部以及实体集的联 系。包括一对一的联系、一对多的

12、联系、多对系。包括一对一的联系、一对多的联系、多对 多的联系。多的联系。 描述实体间联系的模型称为描述实体间联系的模型称为实体联系模型实体联系模型 简称简称ERER模型。模型。软件设计师软件设计师学生学生课程课程选修选修学号学号姓名姓名性别性别课程号课程号 课程名课程名学分学分年龄年龄mn软件设计师软件设计师软件设计师软件设计师1nn11n1n1nmn1n1n软件设计师软件设计师l 数据结构模型数据结构模型 数据库领域中常用的数据结构模型:数据库领域中常用的数据结构模型: 层次模型层次模型 网状模型网状模型 关系模型关系模型软件设计师软件设计师【软件设计师考试软件设计师考试20092009年年

13、5 5月上午试题月上午试题5151】 采用二维表格结构表达实体类型及实体间联系的数据模采用二维表格结构表达实体类型及实体间联系的数据模型是型是 (5151) 。 (5151)A. A. 层次模型层次模型 B. B. 网状模型网状模型 C. C. 关系模型关系模型 D. D. 面向对象模型面向对象模型 软件设计师软件设计师层次模型:层次模型: 用用树树型结构表示实体类型及实体间联系的数据模型。型结构表示实体类型及实体间联系的数据模型。特点:特点:1.1.有且只有一个结点无父结点;有且只有一个结点无父结点;2.2.其它结点有且只有一个父结点;其它结点有且只有一个父结点;3.3.适用于适用于一对多的

14、一对多的实体联系。实体联系。R1R2R3R4R5R6R7软件设计师软件设计师系编号系编号办公地点办公地点系名系名系系教研室编号教研室编号教研室教研室教研室教研室学学 号号成绩成绩 姓名姓名 学生学生研究方向研究方向姓名姓名 职工号职工号 教师教师层次模型的实例层次模型的实例软件设计师软件设计师R1R2R3R4特点:特点:1.1.任何一个结点可以有一个或一个以任何一个结点可以有一个或一个以 上的父结点;上的父结点;2.2.任何一个结点可以没有父结点;任何一个结点可以没有父结点;3.3.适用于多对多的实体联系。适用于多对多的实体联系。网状模型:网状模型: 用用有向图有向图表示实体类型及实体间联系的

15、数据模型表示实体类型及实体间联系的数据模型. .软件设计师软件设计师学号学号姓名姓名系别系别学生学生课程课程课程号课程号课程名课程名学分学分选课选课课程号课程号课程名课程名学分学分网状模型的实例网状模型的实例软件设计师软件设计师关系模型:关系模型: 用二维用二维表表格结构表达实体间的联系的数据模型格结构表达实体间的联系的数据模型 学号学号姓名姓名性别性别出生日期出生日期籍贯籍贯所在系所在系相片相片20078425012007842501张三张三男男1985.9.41985.9.4山西山西信息工程信息工程1.jpg1.jpg20078425022007842502李四李四女女1984.11.26

16、1984.11.26江苏江苏财务管理财务管理2.jpg2.jpg20078425032007842503王五王五男男1985.4.201985.4.20河北河北电子商务电子商务 3.jpg3.jpg软件设计师软件设计师关系模型中的基本术语关系模型中的基本术语: :关系关系:二维的数据表,它描述了实体之间的联系。:二维的数据表,它描述了实体之间的联系。元组元组(实体):数据表中的每一行表示一个实体。(实体):数据表中的每一行表示一个实体。属性属性(字段):数据表中的每一列。(字段):数据表中的每一列。域域:属性的取值范围。:属性的取值范围。关系模式关系模式:对关系的描述称为关系模式。:对关系的描

17、述称为关系模式。 关系名(属性名关系名(属性名1 1,属性名,属性名2 2,属性名,属性名n n)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)例:学生(学号,姓名,性别,出生日期,籍贯,所在系)软件设计师软件设计师超键超键( (超码超码) ):在关系模式中,能唯一标识元组的属性集。这:在关系模式中,能唯一标识元组的属性集。这个属性集可能含有多余的属性。个属性集可能含有多余的属性。候选键候选键( (候选码候选码) ):能唯一标识元组,且又不含有多余的属性:能唯一标识元组,且又不含有多余的属性一个属性集,即超键中删除多余属性剩下的属性集。一个属性集,即超键中删除多余属性剩下的属性集。主键主

18、键( (主码主码) ):从候选键中选择一个作为关系模式中用户使:从候选键中选择一个作为关系模式中用户使用的候选键称为主键。用的候选键称为主键。 例如:在关系模式(工号,姓名,年龄,性别,工资)例如:在关系模式(工号,姓名,年龄,性别,工资) (工号,姓名)是关系的一个超键;(工号,姓名)是关系的一个超键; (工号)是候选键;(工号)是候选键; (工号)是主键。(工号)是主键。 软件设计师软件设计师主属性主属性:包含在任何候选键中的属性称为主属性。不包含:包含在任何候选键中的属性称为主属性。不包含在任何候选键中的属性称为非主属性。在任何候选键中的属性称为非主属性。外键(外码)外键(外码):当关系

19、:当关系R R中的某个属性(或属性组)虽然不中的某个属性(或属性组)虽然不是该关系的码,但却是另一个关系是该关系的码,但却是另一个关系S S的码,称该属性(或属的码,称该属性(或属性组)为性组)为R R关系的外键。关系的外键。 全键(全码)全键(全码):关系模型中所有属性都是这个关系的关键字:关系模型中所有属性都是这个关系的关键字 例:例:R R(教师,课程,学生)(教师,课程,学生)软件设计师软件设计师 例例1 1:学生学生(学号学号,姓名,性别,年龄,系号),姓名,性别,年龄,系号) 系系(系号系号,系名,系主任),系名,系主任) 例例2 2:选课选课(学号,课程号学号,课程号,成绩),成

20、绩) 学生学生(学号学号, 姓名,姓名, 性别)性别) 课程课程(课程号课程号,课程名,学分),课程名,学分)外键外键外键外键软件设计师软件设计师 【软件设计师考试软件设计师考试20042004年年5 5月上午试题月上午试题1717、1818】 已知关系已知关系R R如下表所示,关系如下表所示,关系R R的主属性为的主属性为(1717) ,候,候选关键字分别为选关键字分别为 (18) (18) 。(17) A.ABC(17) A.ABC B.ABD B.ABD C.ACD C.ACD D.ABCDD.ABCD(18) A.ABC (18) A.ABC B.AB B.AB 、AD AD C.AC

21、C.AC、ADAD和和CDCD D.ABD.AB、ADAD、BDBD的的CDCDD DD D软件设计师软件设计师 【软件设计师考试软件设计师考试20042004年年1111月上午试题月上午试题42-4442-44】 假定每一车次具有唯一的始发站和终点站。如果实体假定每一车次具有唯一的始发站和终点站。如果实体“列车时刻表列车时刻表”属性为车次、始发站、发车时间、终点站、属性为车次、始发站、发车时间、终点站、到达时间,该实体的主键是到达时间,该实体的主键是 (42) (42) ;如果实体;如果实体“列车运行列车运行表表”属性为车次、日期、发车时间、到达时间,该实体的主属性为车次、日期、发车时间、到

22、达时间,该实体的主键是键是(43) (43) 。通常情况下,上述。通常情况下,上述“列车时刻表列车时刻表”和和“列车列车运行表运行表”两实体间两实体间 (44) (44) 联系。联系。(42)A.(42)A.车次车次 B.B.始发站始发站 C.C.发车时间发车时间 D.D.车次,始发站车次,始发站(43)A.(43)A.车次车次 B.B.始发站始发站 C.C.发车时间发车时间 D.D.车次,日期车次,日期(44)A.(44)A.不存在不存在 B.B.存在一对一存在一对一 C.C.存在一对多存在一对多 D.D.存在多对多存在多对多 A AD D C C软件设计师软件设计师关系模型的完整性约束(数

23、据完整性)关系模型的完整性约束(数据完整性) 数据完整性数据完整性是用来确保数据库中数据的正确性和可靠性。是用来确保数据库中数据的正确性和可靠性。 数据完整性包括:数据完整性包括: 实体完整性:主键的取值实体完整性:主键的取值必须唯一必须唯一,并且,并且不能为空不能为空。 域完整性:保证域完整性:保证数据的取值数据的取值在在有效有效的范围内。的范围内。 参照完整性:参照完整性是通过参照完整性:参照完整性是通过主键主键和和外键外键来保证相来保证相 关联的表间关联的表间数据保持一致数据保持一致,避免因一个表的数据修,避免因一个表的数据修 改,而导致关联生效改,而导致关联生效。软件设计师软件设计师

24、【软件设计师考试软件设计师考试20062006年年5 5月上午试题月上午试题4848】某数据库中有:某数据库中有:员工关系员工关系E E(员工编号,姓名,部门)(员工编号,姓名,部门)产品关系产品关系P P(产品编号,产品名称,型号,尺寸,颜色);(产品编号,产品名称,型号,尺寸,颜色);仓库关系仓库关系W W(仓库编号,仓库名称,地址,负责人编号);(仓库编号,仓库名称,地址,负责人编号);库存关系库存关系I I(仓库编号,产品编号和产品数量)(仓库编号,产品编号和产品数量) 若要求仓库关系的负责人引用员工关系的员工编号,若要求仓库关系的负责人引用员工关系的员工编号,员工关系员工关系E E的

25、员工编号、仓库关系的员工编号、仓库关系W W的仓库编号和产品关系的仓库编号和产品关系P P的产品编号不能为空且惟一标识一个记录,并且仓库的地址的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是不能为空,则依次要满足的完整性约束是 (4848) 。软件设计师软件设计师(4848) A. A. 实体完整性、参照完整性、用户定义完整性实体完整性、参照完整性、用户定义完整性 B. B. 参照完整性、实体完整性、用户定义完整性参照完整性、实体完整性、用户定义完整性 C. C. 用户定义完整性、实体完整性、参照完整性用户定义完整性、实体完整性、参照完整性 D. D.

26、实体完整性、用户定义完整性、参照完整性实体完整性、用户定义完整性、参照完整性软件设计师软件设计师 【软件设计师考试软件设计师考试20062006年年5 5月上午试题月上午试题4848】 在数据库系统中,数据的完整性约束的建立需要通过在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的数据库管理系统提供的(5151) 语言来实现。语言来实现。(5151)A. A. 数据定义数据定义 B. B. 数据操作数据操作 C. C. 数据查询数据查询 D. D. 数据控制数据控制软件设计师软件设计师2.4 数据操作数据操作 关系数据库的数据操作语言(关系数据库的数据操作语言(DMLDML)的

27、语句分成查询语句)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为关于查询的理论称为“关系运算理论关系运算理论”。 关系查询语言根据其理论基础的不同分成两大类:关系查询语言根据其理论基础的不同分成两大类: 关系代数语言:查询操作是以集合操作为基础的关系代数语言:查询操作是以集合操作为基础的DMLDML语言。语言。 关系演算语言:查询操作是以谓词演算为基础的关系演算语言:查询操作是以谓词演算为基础的DMLD

28、ML语言。语言。软件设计师软件设计师l 关系代数关系代数 关系代数的五个基本操作关系代数的五个基本操作 并、差、笛卡尔积、投影、选择并、差、笛卡尔积、投影、选择 关系代数的四个组合操作关系代数的四个组合操作 交、联接、自然连接、除法交、联接、自然连接、除法 l 关系演算关系演算 元组关系演算元组关系演算 域关系演算域关系演算软件设计师软件设计师l 关系代数关系代数 关系代数的五个基本操作关系代数的五个基本操作(1 1)并()并(UnionUnion) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和和S S的并是由属于的并是由属于R R或属于或属于S S的元组构成的

29、集合,记为的元组构成的集合,记为RSRS。 形式定义如下:形式定义如下: RStRSt | tR tS | tR tS, t t是元组变量,是元组变量,R R和和S S的元数相同。的元数相同。软件设计师软件设计师R RS S软件设计师软件设计师(2 2)差()差(DifferenceDifference) 设关系设关系R R和和S S具有相同的关系模式,具有相同的关系模式,R R和和S S的差是由属于的差是由属于R R但不属于但不属于S S的元组构成的集合,记为的元组构成的集合,记为R RS S。 形式定义如下:形式定义如下: R RS t | S t | tRtR tStS ,R R和和S

30、S的元数相同。的元数相同。软件设计师软件设计师R RS S软件设计师软件设计师(3 3)笛卡尔积)笛卡尔积 设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s。定义。定义R R和和S S的笛卡尔积的笛卡尔积是一个(是一个(r+sr+s)元的元组集合,每个元组的前)元的元组集合,每个元组的前r r个分量(属个分量(属性值)来自性值)来自R R的一个元组,后的一个元组,后s s个分量来自个分量来自R R的一个元组,的一个元组,记为记为R RS S。 形式定义如下:形式定义如下: R RS t |t=S t |t=t tr rRtRts sSS 若若R R有有m m个元组,个元组,

31、S S有有n n个元组,则个元组,则R RS S有有m mn n个元组。个元组。软件设计师软件设计师R RS S软件设计师软件设计师(4 4)投影)投影(ProjectionProjection) 这个操作是对一个关系进行垂直分割,消去某些列,并这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。重新安排列的顺序。 设关系设关系R R是是k k元关系元关系,R R在其分量在其分量A Ai1i1,A Aimim(mkmk,i i1 1,i im m为为1 1到到k k间的整数)上的投影用间的整数)上的投影用i1i1,imim(R R)表表示,它是一个示,它是一个m m元元组集合,元

32、元组集合, 形式定义如下:形式定义如下: i1,im(R) t| tti1,timt1,tkR 软件设计师软件设计师例如,例如,3 3,1 1(R R)表示关系)表示关系R R中取第中取第1 1、3 3列,组成新列,组成新的关系,新关系中第的关系,新关系中第1 1列为列为R R的第的第3 3列,新关系的第列,新关系的第2 2列为列为R R的第的第1 1列。列。 如果如果R R的每列标上属性名,那么操作符的每列标上属性名,那么操作符的下标的下标处也可以用属性名表示。例如,关系处也可以用属性名表示。例如,关系R R(A A,B B,C C),),那么那么C C,A A(R R)与)与3 3,1 1

33、(R R)是等价的。)是等价的。软件设计师软件设计师R RS S软件设计师软件设计师 (5 5)选择)选择(SelectionSelection) 选择操作是根据某些条件对关系做水平分割,即选取选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式件表达式)F F表示。表示。 F F中有两种成分:运算对象和运算符中有两种成分:运算对象和运算符 形式定义如下:形式定义如下: F F(R R) t | tR F t | tR F(t t)= true = true 为选择运算符,为选择运算符,F

34、 F(R R)表示从表示从R R中挑选满足公式中挑选满足公式F F为为真的元组所构成的关系。真的元组所构成的关系。软件设计师软件设计师例如,例如,2 23 3(R R)表示从)表示从R R中挑选第中挑选第2 2个分量值个分量值大于大于3 3的元组所构成的关系。的元组所构成的关系。 常量用引号括起来,而属性序号或属性名不要用常量用引号括起来,而属性序号或属性名不要用引号括起来。引号括起来。软件设计师软件设计师S SR R软件设计师软件设计师 关系代数的四个组合操作关系代数的四个组合操作(1 1)交()交(intersectionintersection) 关系关系R R和和S S的交是由属于的交

35、是由属于R R又属于又属于S S的元组构成的集合,记的元组构成的集合,记为为RSRS,这里要求这里要求R R和和S S定义在相同的关系模式上。定义在相同的关系模式上。形式定义如下:形式定义如下: RStRSttRtR tS tS,R R和和S S的元数相同。的元数相同。 软件设计师软件设计师(2 2)连接()连接(joinjoin) 连接有两种:连接有两种:连接和连接和F F连接连接 连接连接 (是算术比较符)是算术比较符) 连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某一的笛卡儿积中选取属性间满足某一操作的元组操作的元组, , R R StStt t=t tr rRtR

36、ts sStStr ri i t ts sj j 因此因此,连接由笛卡尔积和选择操作组合而成。连接由笛卡尔积和选择操作组合而成。 R R S S ii(r+jr+j) (R RS S)ijij软件设计师软件设计师 F F连接连接 (F F是公式)是公式) F F连接是从关系连接是从关系R R和和S S的笛卡儿积中选取属性间满足某的笛卡儿积中选取属性间满足某一公式一公式F F的元组的元组, , 这里这里F F是形为是形为F F1 1FF2 2FFn n的公式,每的公式,每个个F FP P是形为是形为ijij的式子,而的式子,而i i和和j j分别为关系分别为关系R R和和S S的第的第i i、第

37、第j j个分量的序号。个分量的序号。软件设计师软件设计师(3 3) 自然连接(自然连接(natural joinnatural join) 两个关系两个关系R R和和S S的自然连接操作具体计算过程如下:的自然连接操作具体计算过程如下: 计算计算R RS S ; 设设R R和和S S的公共属性是的公共属性是A1,A1,AK,AK,挑选挑选R RS S中满足中满足 R.A R.A1 1=S.A=S.A1 1,R.AR.AK K=S.A=S.AK K的那些元组;的那些元组; 去掉去掉S.AS.A1 1,S.AS.AK K这些列。这些列。 形式定义如下:形式定义如下: R R S S i1,i1,

38、,imim ( (R.A1=S.A1. R.AK=S.AKR.A1=S.A1. R.AK=S.AK (R(RS),S), 其中其中i i1 1, , ,i im m为为R R和和S S的全部属性,但公共属性只出现一次。的全部属性,但公共属性只出现一次。 自然连接就是等值连接去掉重复列自然连接就是等值连接去掉重复列。软件设计师软件设计师【软件设计师考试软件设计师考试20072007年年1111月上午试题月上午试题543543、5555】 关系关系R R、S S如下图所示,如下图所示,R R S S可由可由 (5454) 基本的关系运基本的关系运算组成,算组成,R R S =S = (5555)

39、。 (5454)A. A. ,和和 B. B. -,-,和和 C. C. ,和和 D. D. ,和和 D DA A软件设计师软件设计师软件设计师软件设计师(4 4)除法(除法(divisiondivision) 设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s(设(设rs0rs0),那么),那么R RS S是是一个(一个(r-sr-s)元的元组的集合。(元的元组的集合。(R RS S)是满足下列条件的是满足下列条件的最大关系:其中每个元组最大关系:其中每个元组t t与与S S中每个元组中每个元组u u组成的新元组组成的新元组tu必在关系必在关系R R中。中。 R RSS1,

40、2,1,2,r-s,r-s(R)-(R)-1,2,1,2,,r-sr-s(1,2,1,2, ,r-sr-s(R)(R)S)-RS)-R) ) 软件设计师软件设计师A AB BC CD Da ab bc cd da ab be ef fa ab bd de eb bc ce ef fe ed dc cd de ed de ef fC CD Dc cd de ef fRSRSA AB Ba ab be ed d 先列出先列出R-SR-S的属性的属性 属性值属性值A A、B B同时满足同时满足S S中(中(c c,d d)和()和(e e,f f)的元组。)的元组。软件设计师软件设计师例:选修了所有

41、课程的学生的学号和姓名。例:选修了所有课程的学生的学号和姓名。S#S#C#C#s1s1c1c1s1s1c2c2s2s2c2c2s3s3c1c1s3s3c2c2s4s4c1c1C#C#c1c1c2c2选修表选修表课程课程选修表选修表课程课程S#S#s1s1s3s3软件设计师软件设计师例:检索所学课程包含学生例:检索所学课程包含学生s1s1所学课程的学生学号。所学课程的学生学号。S#S#C#C#GradeGrades1s1c1c19090s1s1c2c28585s2s2c4c47676s3s3c1c16868s3s3c2c26565s4s4c1c17070s4s4c3c38686C#C#Cname

42、Cnamec1c1数据库数据库c2c2英语英语c3c3高数高数c4c4体育体育选修表选修表课程课程S#S#s1s1s3s3s#,c#(选修表选修表) c# (s#=s1 (选修表选修表)软件设计师软件设计师 【软件设计师考试软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 在关系代数运算中,关系在关系代数运算中,关系 S S、SPSP和和R R如下表所示。若如下表所示。若先先 _(33)_ _(33)_ ,则可以从,则可以从 S S 和和 SP SP 获得获得 R R 。其对应的。其对应的关系表达式为关系表达式为 _(34)_ _(34)_ 。部门号部门号商品

43、号商品号销售量销售量0100100102021001020210500500010010010202110102021178078001001001020212010202129909900210210211020002110200580580025025025201000252010012901290035035035303110353031146804680部门号部门号部门名部门名010010家电部家电部021021百货部百货部030030食品部食品部035035五金部五金部部门名部门名商品号商品号销售量销售量家电部家电部0102021001020210500500家电部家电部010202

44、1101020211780780家电部家电部0102021201020212990990SSPR软件设计师软件设计师(33)A.(33)A.对对 S S 进行选择运算,再与进行选择运算,再与 S S 进行自然连接运算进行自然连接运算 B. B.对对 S S 进行选择运算,再与进行选择运算,再与 SP SP 进行自然连接运算,最进行自然连接运算,最 后进行投影运算后进行投影运算 C. C.对对 S S 和和 SP SP 进行笛卡尔积运算,再对运算结果进行投进行笛卡尔积运算,再对运算结果进行投 影运算影运算 D. D.分别对分别对 S S 和和 SP SP 进行投影运算,再对运算结果进行进行投影运

45、算,再对运算结果进行 笛卡尔积运算笛卡尔积运算 软件设计师软件设计师如下的如下的 SQL SQL 语句可以查询销售总量大于语句可以查询销售总量大于 1000 1000 的部门号。的部门号。 Select Select 部门名部门名 From S From S Where Where 部门号部门号 in in (Select (Select 部门号部门号 From SP From SP Group by _(35)_) Group by _(35)_)(35) A. (35) A. 部门号部门号 where sum( where sum( 销售量销售量 )1000)1000 B. B. 部门号部

46、门号 having sum( having sum( 销售量销售量 )1000 )1000 C. C. 商品号商品号 where sum( where sum( 销售量销售量 )1000 )1000 D. D. 商品号商品号 having sum( having sum( 销售量销售量 )1000)1000 软件设计师软件设计师【软件设计师考试软件设计师考试20062006年年5 5月上午试题月上午试题4747】 设有关系设有关系R R、S S如下所示,则关系代数表达式如下所示,则关系代数表达式R RS S的结果的结果集为集为(4747) 。 RSC C软件设计师软件设计师l 关系演算关系演算

47、 元组关系演算元组关系演算 在元组关系演算中,元组关系演算表达式简称为元组表在元组关系演算中,元组关系演算表达式简称为元组表达式,其一般形式为:达式,其一般形式为: t|Pt|P(t t) 其中,其中,t t是元组变量,表示一个元数固定的元组;是元组变量,表示一个元数固定的元组;P P是是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。件表达式。 t|Pt|P(t t) 表示满足公式表示满足公式P P的所有元组的所有元组t t的集的集合。合。 软件设计师软件设计师在元组表达式中,公式由原子公式组成。在元组表达式中,公式由原子公式

48、组成。 原子公式(原子公式(Atoms)有下列三种形式:有下列三种形式: R(s) :s是是R的一个元组。的一个元组。 siuj :元组:元组 s的第的第i个分量与元组个分量与元组u的第的第j个分量之间个分量之间 满足满足关系。关系。 sia或或auj:a是常量。是常量。 在定义关系演算操作时,要用到在定义关系演算操作时,要用到“自由自由” 和和“约束约束”变量变量概概念。在一个公式中,如果元组变量未用存在量词念。在一个公式中,如果元组变量未用存在量词或全称量或全称量词词 符号定义,那么称为自由元组变量,否则称为约束元组符号定义,那么称为自由元组变量,否则称为约束元组变量。变量。 软件设计师软

49、件设计师R1 = t | S(t)t12 例:已知关系例:已知关系R R,S S,给出,给出R1-R5R1-R5五个关系的元五个关系的元组关系演算表达式。组关系演算表达式。软件设计师软件设计师R2 = t | R(t)S(t)软件设计师软件设计师R3R3R3 = t |( u)()(S(t)R(u)t3u1)软件设计师软件设计师R5 = t |( u)()( v)()(R(u) S(v)u1v2t1=u2t2=v3t3=u1) 软件设计师软件设计师关系代数表达式到元组表达式的转换:关系代数表达式到元组表达式的转换: RS 可用可用 t | R(t)S(t)表示;表示; R-S 可用可用 t |

50、 R(t)S(t) 表示;表示; RS可用可用 t |( u)()( v)()(R(u)S(v) t1=u1 t2=u2t3=u3t4=v1t5=v2 t6=v3) 表示。表示。 投影操作是投影操作是2,3(R),),那么元组表达式可写成:那么元组表达式可写成: t |( u)(R(u)tl=u2t2=u3) F(R)可用可用 t |R(t)F表示,表示,F是是F的等价表示形式。的等价表示形式。 例如例如2=d(R)可写成可写成 t |(R(t)t2=d)。)。 软件设计师软件设计师【软件设计师考试软件设计师考试20052005年年5 5月上午试题月上午试题3636、3737】 某数据库中有供

51、应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关系模式S S(SnoSno,SnameSname,SzipSzip,CityCity), ,零件关系模式零件关系模式P P(PnoPno,PnamePname,ColorColor,WeightWeight,CityCity),供应模式),供应模式SP(SnoSP(Sno,PnoPno, Status, Status,Qty)Qty),要求一个供应商可以供应多,要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。种零件,而一种零件可由多个供应商供应。 查询供应了查询供应了“红红”色零件

52、的供应商名、零件号和数量的色零件的供应商名、零件号和数量的元组演算表达式为:元组演算表达式为: t|(t|( u)(u)( v)(v)( w)(w)( (36) (36) u1=v1v2=w1w3=u1=v1v2=w1w3=红红 (37) (37) )软件设计师软件设计师 (36) A. (36) A. S(u)SP(v)P(wS(u)SP(v)P(w) ) B. B. SP(u)S(v)P(wSP(u)S(v)P(w) ) C. C. P(u)SP(v)S(wP(u)SP(v)S(w) ) D. D. S(u)P(v)SP(wS(u)P(v)SP(w) )(37) A.t1=u1t2=w2t

53、3=v4(37) A.t1=u1t2=w2t3=v4 B. t1=v1t2=u2t3=u4B. t1=v1t2=u2t3=u4 C. t1=w1t2=u2t3=v4 C. t1=w1t2=u2t3=v4 D. t1=u2t2=v2t3=v4 D. t1=u2t2=v2t3=v4 软件设计师软件设计师l 关系数据库关系数据库SQLSQL语言语言 SQL SQL的数据定义的数据定义 SQL SQL的数据查询的数据查询 SQL SQL的数据更新的数据更新软件设计师软件设计师【软件设计师考试软件设计师考试20052005年年1111月上午试题月上午试题3333、3434】 关系关系R R,S S如下图

54、所示,元组演算表达式如下图所示,元组演算表达式 t|(t|( u u) )(R(t)S(u)t3R(t)S(u)t3u1)u1)的结果为的结果为 (47)(47) 软件设计师软件设计师软件设计师软件设计师 SQLSQL的数据定义的数据定义创建表创建表 CREATE TABLE ( , , , ) 软件设计师软件设计师 涉及相应属性列的完整性约束条件:涉及相应属性列的完整性约束条件: 主键约束:主键约束:PRIMARY KEYPRIMARY KEY 检查约束:检查约束:CHECKCHECK 外键约束:外键约束:FOREIGN KEYFOREIGN KEY 唯一性约束:唯一性约束: UNIQUEU

55、NIQUE 是否为空值约束:是否为空值约束: NULL / NOT NULL NULL / NOT NULL 默认值:默认值: DEFAULTDEFAULT软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建Student Student 表表 StudentStudent(Sno , Sname, Ssex Sno , Sname, Ssex ) CREATE TABLE Student (sno CHAR(10) PRIMARY KEY , sname CHAR(8) NOT NULL UNIQUE, ssex CHAR(2) DEFAULT (男男) )软件设计师软

56、件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建CrouseCrouse表表 Crouse Crouse (cnocno,cnamecname, credit credit ) CREATE TABLE Course ( cno char(10) PRIMARY KEY, cname char (8) NOT NULL UNIQUE, credit int )软件设计师软件设计师 例:使用例:使用T-SQLT-SQL语言创建语言创建SCSC表表 SC SC ( snosno,cnocno,scorescore) CREATE TABLE SCCREATE TABLE SC ( (

57、 snosno CHAR(10) CHAR(10) FOREIGN KEY REFERENCES Student (sno),FOREIGN KEY REFERENCES Student (sno), cno CHAR(10) cno CHAR(10) FOREIGN KEY REFERENCES Course (cno)FOREIGN KEY REFERENCES Course (cno) , , score INT score INT CHECK (score BETWEEN 0 AND 100)CHECK (score BETWEEN 0 AND 100) , , PRIMARY KEY

58、 (sno, cno)PRIMARY KEY (sno, cno) ) )主键表名主键表名主键主键软件设计师软件设计师 CREATE TABLE SCCREATE TABLE SC ( ( snosno CHAR(10), CHAR(10), cno cno CHAR(10), CHAR(10), score score INT, INT, PRIMARY KEY (sno, cno), PRIMARY KEY (sno, cno), FOREIGN KEY FOREIGN KEY (sno)(sno) REFERENCES Student (sno), REFERENCES Student

59、(sno), FOREIGN KEY FOREIGN KEY (cno)(cno) REFERENCES Course (cno) , REFERENCES Course (cno) , CHECK (score BETWEEN 0 AND 100) CHECK (score BETWEEN 0 AND 100) ) )软件设计师软件设计师 某数据库中有供应商关系某数据库中有供应商关系S S和零件关系和零件关系P P,其中;供应商,其中;供应商关系模式关系模式S S(SnoSno,SnameSname,SzipSzip,CityCity)零件关系模式)零件关系模式P P(PnoPno,Pnam

60、ePname,ColorColor,WeightWeight,CityCity)要求一个供应)要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的请将下面的SQLSQL语句空缺部分补充完整。语句空缺部分补充完整。CREATE TABLE SPCREATE TABLE SP(SnoSno CHAR(5) CHAR(5),PnoPno CHAR(6) CHAR(6),Status CHAR(8)Status CHAR(8),Qty NUMERIC(9)Qty NUMERIC(9),_(33)_(Sno_(33)_(Sno,Pno

温馨提示

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

评论

0/150

提交评论