数据库系统基础学习知识原理综合练习进步题.doc
-第一章 绪论、学习要点1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念;2、数据独立性的概念、分类及实现途径;3、数据模型的概念、分类、要素及作用;4、数据库三级模式体系结构的含义及作用;5、关系数据模型的三要素内容。、习题一、选择题:1、使用二维表格结构表达数据和数据间联系的数据模型是(C )A、层次模型 B、网状模型 C、关系模型 D、实体联系模型2、DB、DBS、DBMS间的关系是(C )A、DB包括DBMS和DBS B、DBMS包括DB和DBSC、DBS包括DB和DBMS D、DBS与DB和DBMS无关3、在数据库中存储的是( C)A、数据 B、数据模型 C、数据及数据之间的联系 D、信息4、数据库系统中,用( B)描述全部数据的整体逻辑结构。A、外模式 B、模式 C、内模式 D、数据模式5、数据库中,导致数据不一致的根本原因是(C )A、数据量太大 B、数据安全性不高 C、数据冗余 D、数据完整性约束不强6、划分层次型、网状型和关系型数据库的原则是( D)A、记录的长度 B、文件的大小 C、联系的复杂程度 D、数据及联系的表示方式7、数据库三级模式体系结构的划分,主要有利于保持数据库的(B )A、数据安全性 B、数据独立性 C、结构规范化 D、操作可行性8、数据库系统中,用(A)描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。A、外模式 B、模式 C、内模式 D、数据模式9、数据库系统中,用( C)描述全部数据的物理存储视图。A、外模式 B、模式 C、内模式 D、数据模式10、数据库系统中用于定义和描述数据库逻辑结构的语言是(B )A、DML B、DDL C、DCL D、SQL11、数据库系统支持的数据共享指的是(D )A、同一应用的多个程序共享同一数据集合B、多个用户、同一语言程序共享同一数据集合C、多个用户共享同一数据文件D、多种语言、多个用户、多个应用相互覆盖地使用同一数据集合12、数据库系统中,当内模式发生变化时,采用( B)来保证数据的物理独立性。A、修改模式定义B、修改模式内模式映像C、修改应用程序D、修改外模式定义二、填空题1、指出下列缩写的含义:(1)DML 数据操纵语言 (2)DBMS 数据库管理系统 (3)DDL 数据库系统中用于定义和描述数据库逻辑结构的语言(4)DD (5)DBS 数据库系统(6)DD (7)DBA 数据库管理员2、数据管理技术经历了(人工处理)、(文件系统)、(数据库系统)三个阶段。3、DBS组成部分包括(数据库)、(数据库管理系统)、(应用系统)、(数据库管理员)、(用户)五部分。4、DBMS是位于(用户)和(操作系统)之间的一层管理软件。5、数据库和文件系统的根本区别是(数据的整体结构化)。6、DBMS提供的数据控制功能包括:(数据定义)、(数据操纵)、(数据库的运行管理)、(数据库的建立和维护)。7、数据库中,数据模型用于(抽象、表示和处理现实世界的数据和信息),数据模型应当满足(能比较真实模拟现实世界)、(能易于为人理解)、(便于在计算机上实现)三方面要求。8、数据模型的三要素包括(数据结构)、(数据操作)、(数据的约束条件)。9、概念模型,也称为(信息模型),是(按用户观点对数据和信息建模),主要用于(数据库设计),与具体的DBMS和机器(无关)。10、基本数据模型,是(按计算机观点对数据建模),主要用于(DBMS的实现)。11、数据独立性是指(用户应用程序和存储在存储器中的数据库的数据是相互独立的),可以分为(数据逻辑独立性)和(数据物理独立性)。12、(数据结构)用于对系统静态特性的描述,(数据操作)用于对系统动态特性的描述13、数据库系统中人员主要包括(数据库管理员)、(系统分析和数据库设计员)、(应用程序员)和用户,其中用户可分为(偶然用户)、(简单用户)、(复杂用户)三类。14、数据库系统的软件包括(DBMS)、(OS)、(具有与数据库接口的高级语言及其编译系统,便于开发应用程序)、(以DBMS为核心的应用开发工具)、(为特定应用环境开发的数据库应用系统)五部分。三、简答题1、什么是数据、数据处理、数据管理、数据管理的三个发展阶段是什么?数据:科学实验、检验、统计等所获得的和用于科学研究、技术设计、查证、决策等的数值数据处理:利用相应的技术和设备进行各种数据加工的过程。数据管理:是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程数据管理的三个阶段:人工管理、文件系统、数据库系统。2、什么是数据库、数据库系统、数据库管理系统,数据库管理系统的主要功能是什么?3、什么是数据独立性,数据独立性包括哪两个方面,数据库系统中如何保证数据独立性?4、什么是数据物理独立性,如何保证?5、什么是数据逻辑独立性,如何保证?6、简述关系数据模型的三要素的内容及关系模型的优缺点。7、文件系统和数据库系统的区别和联系,以及数据库系统的优点?*8、简述现实世界的事物抽象、组织为某一具体DBMS支持的数据模型的过程。第二章 关系数据库、学习要点1、掌握关系数据模型的三要素的内容,即数据结构、关系操作和完整性约束的具体内容;2、掌握关系、关系模式等基本概念,理解基本关系的性质;3、理解实体完整性约束、参照完整性约束的概念和含义;4、熟练掌握关系代数的运算;*5、掌握简单的利用关系代数表达式表示实际查询要求的方法。、习题一、 选择题1、当关系有多个侯选码时,则选定一个作为主码,但若主码为全码时应包含 D 。A、单个属性 B、两个属性 C、多个属性 D、全部属性2、在基本的关系中,下列说法正确的 C 。A、行类列序有关 B、属性名允许重名C、任意两个元组不允许重复 D、列是非同质的3、关系代数的五个基本操作是 D 。A、并、交、差、笛卡儿积、除法B、并、交、选取、笛卡儿积、除法C、并、交、选取、投影、除法D、并、交、选取、笛卡儿积、投影4、关系代数四个组合操作是 A 。A、并、连接、自然连接、除法B、投影、连接、选取、除法C、投影、自然连接、选取、除法D、投影、自然连接、选取、连接5、关系R为R(A,B,C,D),则 C 。A、A,C(R)为取属性值为A,C的两列组成B、1,3(R)为取属性值为1,3的两列组成C、1,3(R)与A,C(R)是等价的D、1,3(R)与A,C(R)是不等价的6、32(S)表示 B 。A、表示从S关系挑选3的值小于第二个分量的元组B、表示从S关系挑选第三个分量小于2的元组C、表示从S关系挑选第三个分量小于第二个分量的元组D、 32(S)是向关系垂直方向运算7、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),RS构成的结果集为 C 元关系。A、4 B、 3 C、 7 D、 68、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),RS构成的结果集为 A 元关系。A、4 B、 3 C、 7 D、 6*9、关系模式S(A,B,C,D),代数中的35T=e(R) (3) R3=RW (4) R4=2,1,6( 3=5(RD) (5) R5=RD RW D TYBccdddfmnnPQTY292977babaggceedecdffefd TYCCdf 图2.3关系,和*四、综合题1、设有一个供应商、零件、工程项目数据库SPJ,并有如下关系: S(Sno,Sname,Status,City) J(Jno,Jname,City) P(Pno,Pname,Color,Weight) SPJ(Sno,Pno,Jno,Qty) 其中:S(Sno,Sname,Status,City)分别表示:供应商代码、供应商名、供应商状态、供应上所在城市:J(Jno,Jname,City)分别表示:工程号、工程名、工程项目所在城市:P(Pno,Pname,Color,Weight)分别表示:零件代码、零件名称、零件的颜色、零件的重量:SPJ(Sno,Pno,Jno,Qty)表示供应的情况,由:供应商代码、零件代码、工程号及数量组成。今有具体的关系如图2.4所示:S SPJSnoSnameStatusCityS1S2 S3S4S5精 益盛 锡东方红金 叶泰 达2010301020天津北京北京天津上海Sno PnoJnoQtyS1S1S1S1S2S2S2S2S2S2S3S3S4S4S4S5S5S5S5P1P1P1P2P3P3P3P3P5P5P1P3P5P6P6P2P3P6P6J1J3J4J2J1J1J3J4J2J1J1J3J4J1J3J4J1J3J4200100700100400200500400400100200200100300200100200200500 PPnoPnameColor WeightP1P2P3P4P5P6螺 母螺 栓螺丝刀螺丝刀凸 轮齿 轮红绿蓝红蓝红201218181623 JJnoJname CityJ1J2J3J4J5三 建一 汽造船厂机车厂弹簧厂天 津长 春北 京南 京上 海 图2.4 试用关系代数、*ALPHA语言、*元组演算语言完成如下查询: 求供应工程J1零件的供应商的号码Sno; 求供应工程J1零件P1的供应商的号码Sno; 求供应工程J1零件为“红”的供应商的号码Sno; 求没有使用天津供应商生产”红”色零件的工程号Jno; 求至少使用了供应商S1所供应的全部零件的工程号Jno。4、解:本题个小题的结果如图2.5所示abcdbddecaaeABabcDec R3R5 ABCcccAabc ABBCbcccbcbc R4 R6ABBCaaabbcdddeecbcbcbbccdcdd5、解:本题个小题的结果如图2.6所示2R1 2.6计算结果6、解:本题个小题的结果如图2.7所示R2dfecedPQTY97ageeff R3 R4R5PQTYB2277bbggccccddddmnmnPQYBabgg29277dfffdPQ27bg 图2.7计算结果四、综合题 解: 关系代数:SNO(SNO=J1(SPJ)ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=J1元组演算表达式:t|(u)(SPJ(u) U3=J1 t1=u1) 关系代数:SNO(SNO=J1Pno=p1(SPJ)ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=J1SPJ.Pno=P1元组演算表达式:t|(u)(SPJ(u)U3=J1U2=P1 t1=u1) 关系代数:SNO(sno=p1color=红(P)SPJ))ALPHA语言:RANGE P XGET W (SPJ.Sno): X(X.Pno=SPJ.Snox、color=红 SPJ.Jno=J1元组演算表达式:t|(U)(u)(SPJ(u) P(V)U2=V1 V3= 红 U3=J1 t1=u1) 关系代数(SPJ)-JNO(CITY=天津Color=红(SSPJP ))ALPHA语言:RANGE P X S SX P PXGET W (SPJ.Sno): X SXPX(X.Pno=SX.SnoSX.CITY天津 X.PNO=PX.Pno=PX.PNOPX.COLOR红)元组演算表达式:t|(U)(u)(ww)(SPJ(u) P(V)s(w) U2=V1 u1= w1w4 天津 V3 红 T1=u3)关系代数:Jno.pno(SPJ) PNO(SNO=S1(SPJ) ALPHA语言:RANGE SPJ SPJY SPJ SPJY P PXGET W (SPJ.Sno): PX (SPJY(SPJY.Sno=S1 SPJT.Pno=PX.PNO)SPJY(SPJY.JNO=SPJ.JNOSPJY.PNO=PX.PNO ))元组演算表达式:t|(U)(u)(w)(PU) SPJ(v) SPJ(W)V(1) =S1 U1=V2 w2 =U1 w3= v3)t1=u3第三章 关系数据库标准语言SQL、学习要点1、掌握SQL的功能特点和体系结构;2、熟练掌握SQL定义、修改和删除表、建立视图、定义索引的方法;3、熟练掌握利用SQL的SELECT语句表达数据查询要求的方法;4、掌握如何利用SQL语句表达数据的修改、删除操作。、习题一、 选择题1、SQL属于 A 数据库语言。A.关系型 B.网状型 C.层次型 D.面向对象型2、当两个子查询的结果 B 时,可以执行并,交,差操作.结构完全不一致 B.结构完全一致C.结构部分一致 D.主键一致3、SQL中创建基本表应使用 B 语句.A.CEARTE SCHEMA B.CEARTE TABLEC.CEARTE VIEW D.CEARTE DATEBASE4、SQL中创建视图应使用(C )语句.A. CEARTE SCHEMA B.CEARTE TABLEC. CEARTE VIEW D.CEARTE DATABASE*5、视图创建完毕后,数据字典中存放的是( C ).A. 查询语句 B.查询结果C. 视图定义 D.所引用的基本表的定义6、关系代数中的运算符对应SELECT语句中的( A )子句.A.SELECT B.FROM C.WHERE D.GROUP BY7、关系代数中的运算符对应SELECT语句中的( C )子句.A.SELECT B.FROM C.WHERE D.GROUP BY8、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( B ).A. * B. % C. - D.?9、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( C ).A. * B. % C. - D.?10、SELECT语句中与HAVING子句同时使用的是( C )子句.A.ORDER BY B.WHERE C.GROUP BY D.无需配合11、与WHERE G BETWEEN 60 AND 100语句等价的子句是(D ).A. WHERE G60 AND G=60 AND G60 AND G=60 AND G=10012、SELECT语句执行的结果是( C).A.数据项 B.元组 C.表 D.视图13、SQL语言具有B的功能。A关系规范化,数据操纵,数据控制B。数据定义,数据操纵,数据控制C数据定义,关系规范化,数据控制 D。数据定义,关系规范化,数据操纵14、SQL语言中,实现数据检索的语句是A。A、SELECTB、INSERTC、UPDATED、DELETE15、下列SQL语句中,修改表结构的是AA.ALTER B.CREATE C.UPDATE D.INSERT二、填空题1. 非关系数据模型的数据操纵语言是面向對象的,而关系数据库的标准语言SQL是面向集合的语言.2. SQL语言的功能包括数据查询,数据操纵,数据定义和数据控制.3. SQL以同一种语法格式,提供自含式和自定义两种使用方式.4. SELECT语句中, WHERE子句用于选择满足给定条件的元组,使用_ GROUP BY子句可按指定列的值分组,同时使用HAVING子句可提取满足条件的组.5. 在SQL中,如果希望将查询结果排序,应在SELECT语句中使用ORDER BY子句,其中ASC选项表示升序, DESC选项表示将序.6. SELECT语句中进行查询,若希望查询的结果不出现重复元组,应在SELECT子句中使用DESTINCT保留字.7. 在SQL中,WHERE子句的条件表达式中,字符串匹配的操作符是LIKE;与0个或多个字符匹配的通配符是 % 与单个字符匹配的通配符是 - .8. 如果外连接符出现在连接条件的右边称之为右连接符,出现在连接条件的左边称之为左连接符.9. 子查询的条件不依赖与父查询,这类查询称之为不相干子查询,否则称之为相干子查询.10. 若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为列子集视图.11.SQL是结构化查询语言。12.SQL语言的数据定义功能包括数据查询、数据操纵、数据定义和数据控制。13.视图是一个虚表,它是从.一个或几个基本表中导出的表。在数据库中,只存放视图的定义 不存放视图的视图对应的数据。三简答题1. 什么是基本表?什么是视图?两者的区别是什么?答:基本表是独立存在的表,在SQL中,一个关系对应于一个表,一个表对应与一个存储文件。视图是在创建时,将其定义存放在存放在数据字典中,并不存放视图对应的数据,因此视图是从一个或几个基本表中导出来的,它本身不独立存储在数据库中,是一个虚表。两者的区别是基本表是独立存于数据库中,而视图存放的只是视图的定义2. 试述试图的优点.视图的优点主要有四个方面:1能够简化用户的操作;2用户可以从多种角度看待数据;3视图对重构数据库提供了一定程度的逻辑独立性;视图能对机密数据提供安全保护3所有的视图都可以更新吗?为什么?并不是所有的视图都可以更新,因为有些视图的更新不能惟一地有意义地转换成相对应的基本表的更新。4叙述SQL语言支持的三级逻辑结构。5叙述使用SQL语言实现各种关系运算的方法。由Visual FoxPro支持的SQL语言没有提供关系的迪卡尔积、交和差运算。其他关系运算对应的SQL语句是:RS SELECT语句(生成R)UNIONSELECT语句(生成S)选择 SELECT* FROM表 WHERE指定选择的文件投影 SELECT 投影字段列表 FROM 表连接 SELECT 连接的字段列表 FROM 连接的两个表名 WHERE连接条件6设有图书登记表TS,具有属性:BNO(图书类别)、BNA(书名)、AU(著者)、 PUB(出版社)。按下列要求用SQL语言进行设计:(1) 按图书编号BNA建立TS表的索引ITS。(2) 查询按出版社统计其出版图书总数。(3) 删除索引ITS。*7、三个关系R、S和T如图3.3所示。R S T A B CA D E D F1 1 20 11 15 2 12 1 2 22 22 183 132 1 18 12 24 2 32 图3.3关系R、S和T试用SQL语句实现如下操作:(1) 将R 、S和T三个关系按关联属性建立一个视图R-S-T;(2) 对视图R-S-T按属性A 分组后,求属性C和E的平均值。8、有关系R 和S 如图3.4所示RS A BA C 1 1 1 402 2 2 503 3 3 55图3.4 关系R和S试用SQL语句实现:(1) 查询属性C50时,R中与相关联的属性B之值。(2) 当属性C=40时,将R 中与之相关联的属性B值修改为4。*9、知R和S两个关系如图3.5所示:RS A B C C D E 11 1 1 11 22 2222 33 2 3 32图3.5 关系R和S执行如下SQL语句:(1) CREATE SQL VIEW H(A,BC,C,D,E)AS SELECT A, B, R.C, D, EFEOM R, SWHERE R.C=S.C;(2) SELECT B , D, EFROM HWHERE C=C2试给出:(1)视图H;(2)对视图H的查询结果10已知学生表S和学生选课表SC。其关系模式如下:S(SNO,SN,SD,PROV)SC(SNO,CN,GR)其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语句实现下列操作:(1) 查询“信息系”的学生来自哪些省区。(2) 按分数降序排列,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。*四 综合题1. 用SQL为供销数据库(图2_17)创建四个表:供应商,零件,工程项目,供应情况.2. 请为三建工程项目建立一个供应商情况的视图,包括供应商号Sno,零件号Pno,数量号Qty.针对该视图完成如下查询:(1) 找出三建工程项目使用各种零件代码及数量;(2) 找出供应商S1的供应情况.3. 根据本章习题四中的第一小题建立的表,用SQL语言完成以下操作:(1) 把对S的INSERT权限授予用户张勇,并允许他将此权限授予其他用户;(2) 把对SPJ表和修改QTY属性的权限授予用户李天明.4. 对本章习题四中的第一小题用SQL语言完成以下操作:(1) 找出所有供应商的姓名和所在城市;(2) 找出所有零件的名称,颜色和重量;(3) 找出使用供应商S1所供应零件的工程号码;(4) 找出工程项目J2使用的各种零件的名称及其数量;(5) 找出上海厂商供应的所有零件号码;(6) 找出使用上海产的零件的工程的名称;(7) 找出没有使用天津产的零件的工程号码;(8) 把全部红色零件的颜色改为蓝色;(9) 有S5供给J4的零件P6改为由S3供应,请做必要的修改;(10)从供应商关系中删除S2记录,并从供应情况关系中删除相应的记录;(11) 请将(S2,J6,P4,200)插入供应情况关系.、答案4答:SQL语言支持的三级逻辑结构如图3.1所示 :用户 SQL- 视图1 视图2外层 - 基本表1 基本表2 基本表3 基本表4 概念层- 存储文件1 存储文件2 存储文件3 存储文件4 内层图 3.1 SQL语言支持的三级结构 在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual FoxPro 中没个表在存储中可用一个存储文件来表示(在ORACLE中多个表存储在一个文件中),一个基本表就是一个关系,它不是由其他表导出的表。基本表是使用CREATE TABLE语句建立的。 在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表
收藏
- 资源描述:
-
-`
第一章 绪论
Ⅰ、学习要点
1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念;
2、数据独立性的概念、分类及实现途径;
3、数据模型的概念、分类、要素及作用;
4、数据库三级模式体系结构的含义及作用;
5、关系数据模型的三要素内容。
Ⅱ、习题
一、选择题:
1、使用二维表格结构表达数据和数据间联系的数据模型是(C )
A、层次模型 B、网状模型 C、关系模型 D、实体—联系模型
2、DB、DBS、DBMS间的关系是(C )
A、DB包括DBMS和DBS B、DBMS包括DB和DBS
C、DBS包括DB和DBMS D、DBS与DB和DBMS无关
3、在数据库中存储的是( C)
A、数据 B、数据模型 C、数据及数据之间的联系 D、信息
4、数据库系统中,用( B)描述全部数据的整体逻辑结构。
A、外模式 B、模式 C、内模式 D、数据模式
5、数据库中,导致数据不一致的根本原因是(C )
A、数据量太大 B、数据安全性不高
C、数据冗余 D、数据完整性约束不强
6、划分层次型、网状型和关系型数据库的原则是( D)
A、记录的长度 B、文件的大小
C、联系的复杂程度 D、数据及联系的表示方式
7、数据库三级模式体系结构的划分,主要有利于保持数据库的(B )
A、数据安全性 B、数据独立性 C、结构规范化 D、操作可行性
8、数据库系统中,用(A)描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。
A、外模式 B、模式 C、内模式 D、数据模式
9、数据库系统中,用( C)描述全部数据的物理存储视图。
A、外模式 B、模式 C、内模式 D、数据模式
10、数据库系统中用于定义和描述数据库逻辑结构的语言是(B )
A、DML B、DDL C、DCL D、SQL
11、数据库系统支持的数据共享指的是(D )
A、同一应用的多个程序共享同一数据集合
B、多个用户、同一语言程序共享同一数据集合
C、多个用户共享同一数据文件
D、多种语言、多个用户、多个应用相互覆盖地使用同一数据集合
12、数据库系统中,当内模式发生变化时,采用( B)来保证数据的物理独立性。
A、修改模式定义
B、修改模式\内模式映像
C、修改应用程序
D、修改外模式定义
二、填空题
1、指出下列缩写的含义:
(1)DML 数据操纵语言 (2)DBMS 数据库管理系统 (3)DDL 数据库系统中用于定义和描述数据库逻辑结构的语言(4)DD (5)DBS 数据库系统
(6)DD (7)DBA 数据库管理员
2、数据管理技术经历了(人工处理)、(文件系统)、(数据库系统)三个阶段。
3、DBS组成部分包括(数据库)、(数据库管理系统)、(应用系统)、(数据库管理员)、(用户)五部分。
4、DBMS是位于(用户)和(操作系统)之间的一层管理软件。
5、数据库和文件系统的根本区别是(数据的整体结构化)。
6、DBMS提供的数据控制功能包括:(数据定义)、(数据操纵)、(数据库的运行管理)、(数据库的建立和维护)。
7、数据库中,数据模型用于(抽象、表示和处理现实世界的数据和信息),数据模型应当满足(能比较真实模拟现实世界)、(能易于为人理解)、(便于在计算机上实现
)三方面要求。
8、数据模型的三要素包括(数据结构)、(数据操作)、(数据的约束条件)。
9、概念模型,也称为(信息模型),是(按用户观点对数据和信息建模),主要用于(数据库设计),与具体的DBMS和机器(无关)。
10、基本数据模型,是(按计算机观点对数据建模),主要用于(DBMS的实现)。
11、数据独立性是指(用户应用程序和存储在存储器中的数据库的数据是相互独立的),可以分为(数据逻辑独立性)和(数据物理独立性)。
12、(数据结构)用于对系统静态特性的描述,(数据操作)用于对系统动态特性的描述
13、数据库系统中人员主要包括(数据库管理员)、(系统分析和数据库设计员)、(应用程序员)和用户,其中用户可分为(偶然用户)、(简单用户)、(复杂用户)三类。
14、数据库系统的软件包括(DBMS)、(OS)、(具有与数据库接口的高级语言及其编译系统,便于开发应用程序)、(以DBMS为核心的应用开发工具)、(为特定应用环境开发的数据库应用系统)五部分。
三、简答题
1、什么是数据、数据处理、数据管理、数据管理的三个发展阶段是什么?
数据:科学实验、检验、统计等所获得的和用于科学研究、技术设计、查证、决策等的数值
数据处理:利用相应的技术和设备进行各种数据加工的过程。
数据管理:是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程
数据管理的三个阶段:人工管理、文件系统、数据库系统。
2、什么是数据库、数据库系统、数据库管理系统,数据库管理系统的主要功能是什么?
3、什么是数据独立性,数据独立性包括哪两个方面,数据库系统中如何保证数据独立性?
4、什么是数据物理独立性,如何保证?
5、什么是数据逻辑独立性,如何保证?
6、简述关系数据模型的三要素的内容及关系模型的优缺点。
7、文件系统和数据库系统的区别和联系,以及数据库系统的优点?
*8、简述现实世界的事物抽象、组织为某一具体DBMS支持的数据模型的过程。
第二章 关系数据库
Ⅰ、学习要点
1、掌握关系数据模型的三要素的内容,即数据结构、关系操作和完整性约束的具体内容;
2、掌握关系、关系模式等基本概念,理解基本关系的性质;
3、理解实体完整性约束、参照完整性约束的概念和含义;
4、熟练掌握关系代数的运算;
*5、掌握简单的利用关系代数表达式表示实际查询要求的方法。
Ⅱ、习题
一、 选择题
1、当关系有多个侯选码时,则选定一个作为主码,但若主码为全码时应包含 D 。
A、单个属性 B、两个属性 C、多个属性 D、全部属性
2、在基本的关系中,下列说法正确的 C 。
A、行类列序有关 B、属性名允许重名
C、任意两个元组不允许重复 D、列是非同质的]
3、关系代数的五个基本操作是 D 。
A、并、交、差、笛卡儿积、除法
B、并、交、选取、笛卡儿积、除法
C、并、交、选取、投影、除法
D、并、交、选取、笛卡儿积、投影
4、关系代数四个组合操作是 A 。
A、并、连接、自然连接、除法
B、投影、连接、选取、除法
C、投影、自然连接、选取、除法
D、投影、自然连接、选取、连接
5、关系R为R(A,B,C,D),则 C 。
A、πA,C(R)为取属性值为A,C的两列组成
B、π1,3(R)为取属性值为1,3的两列组成
C、π1,3(R)与πA,C(R)是等价的
D、π1,3(R)与πA,C(R)是不等价的
6、б3<‘2’(S)表示 B 。
A、表示从S关系挑选3的值小于第二个分量的元组
B、表示从S关系挑选第三个分量小于2的元组
C、表示从S关系挑选第三个分量小于第二个分量的元组
D、 б3<‘2’(S)是向关系垂直方向运算
7、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),RS构成的结果集为 C 元关系。
A、4 B、 3 C、 7 D、 6
8、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),R∞S构成的结果集为 A 元关系。
A、4 B、 3 C、 7 D、 6
*9、关系模式S(A,B,C,D),代数中的б3<‘2’(S)等价于如下的( A )语句。
A、SEKECT * FORM S WHERE C〈 ‘2’
B、SEKECT B,C FORM S WHERE C〈 ‘2’
C、SEKECT B,C FORM S HAVING C〈 ‘2’
D、SEKECT * FORM S WHERE ‘3’〈 B
10、笛卡尔积是( B )进行运算。
A、向关系的垂直方向
B、向关系的水平方向
C、既向关系的垂直方向也向关系的水平方向
D、先向关系的垂直方向,然后再向关系的水平方向
11、自然连接是( C )进行运算。
A、向关系的垂直方向
B、向关系的水平方向
C、既向关系的垂直方向也向关系的水平方向
D、先向关系的垂直方向,然后再向关系的水平方向
12、同一个关系模型的任两个元组值___A____。
A、不能全同 B、可全同
C、必须全同 D、以上都不是
13、关系模型的任何属性___A____。
A、不可再分 B、可再分
C、命名在该关系模型式中可以不惟一 D、以上都不是
14、自然连接是构成新关系的有效方法。一般情况下,对关系R和S使用自然连接时,要求R和S含有一个或多个共有的_____D___。
A、元组 B、行 C、记录 D、属性
二、填空题
1、关系模型由关系的数据结构、关系操作集合、关系的完整性约束三部分组成。
2、关系的完整性分为实体完整性、参照完整性、用户定义完整性三类。
3、关系代数运算中并、差、笛卡尔积、投影和选择五个基本运算,其他运算可以从基本的运算中导出。
4、关系代数的连接运算中当θ为“=”的连接称之为等差链接,且当比较的分量是相同的属性时,则称为自然连接。
5、在元组演算中,如果φ1 φ2是公式,φ1 ∨φ2 、→φ1也是公式。
6、关系运算主要有关系代数运算、元组演算、域演算三种,在关系的表达能力上是 可以相互转换。
7、关系操作的特点是集合操作。
8、关系数据库中的可命名的最小数据单位是属性名。
9、在一个实体表示的信息中,称能惟一标识实体的属性或属性组为关键字。
10、传统的集合“并,交,差”运算施加于两个关系时,这两个关系的属性个数必须相等,相对应的属性值必须去取同一个域、
11、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是系编号,系关系的外关键字是无,学生关系的主关键字是学号,外关键字是系编号、
三、问答题
1、关系运算的基本运算有那些?如何用这些基本运算来表示其他的运算?
关系代数的五个基本操作为:并 差 笛卡儿积 投影 选择。其他的操作都可以由5个基本的操作导出,因此它们构成了关系代数完备的操作集。
① 两个关系R与S的交运算等价于:
R∩S=R-(R-S)或 R∩S=S-(S-R)
② 两个关系R与S的F(条件)连接运算等价于:
R∞S=бF(R*S)
③ 两个关系R与S的自然连接运算等价于:
设R与S的公共属性为:A1,…AK,从R*中挑选出R、A1=S、A1, …R、AK=S、AK的元组,再去掉S、A1…S、AK,、即可写出等价的表达式如下:
R∞S=лi1…im(бR、A1=S、A1…R、AK=S、AK)
④ 两个关系R与S的除法运算等价于:
R/S=лX((лX(R)*S)-R)
2、试述笛卡儿积、F连接、等值连接与自然连接有什么区别?
答:笛卡尔积是一个基本操作,相当于将两个关系R,S进行无条件的连接操作。而θ连接一个基本操作,相当于将两个关系R,S进行条件的连接操作。既从R*S中选取满足θ条件的元组作为新关系的元组。当连接运算符“θ”为“=”时,称为等值连接。而自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量具有相同的属性组,并且去掉重复属性列
3、叙述等值连接与自然连接的区别和联系.
答:等值连接表示为R∞S,自然连接表示为R∞S;自然连接是除去重复属性的等值连接.两者之间的区别和联系如下:
自然连接一定是等值连接,但等值连接不一定是自然连接
等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性.
等值连接不把重复的属性除去;而自然连接要把重复的属性除去.
4、设有如图2.1所示的关系R,S和T,计算:
⑴ R1=R∪S
⑵ R2=R-S
⑶ R3=R∞T
⑷ R4=R∞TA<C
⑸ R5=πA(R)
⑹ R6=σA=C(RT)
R S
A
B
a
b
c
d
e
c
A
B
d
b
d
a
a
c
T
B
C
b
c
b
b
c
d
图2.1 关系R,S和T
5、设有如图2.2所示的关系R,S,计算:
⑴ R1=R∞S
⑵ R2=
⑶ R3=σB=d(RS)
R S
A
B
C
3
4
7
4
6
5
2
4
7
7
3
3
C
D
E
3
7
4
2
5
3
图2.2 关系R和S
6、设有如图2.3所示的关系R,W和D,计算:
(1) R1=πY,T(R)
(2) R2=σp>5∧T=e(R)
(3) R3=R∞W
(4) R4=π[2],[1],[6]( σ[3]=[5](RD))
(5) R5=RD
R W D
T
Y
B
c
c
d
d
d
f
m
n
n
P
Q
T
Y
2
9
2
9
7
7
b
a
b
a
g
g
c
e
e
d
e
c
d
f
f
e
f
d
T
Y
C
C
d
f
图2.3 关系R,W和D
*四、综合题
1、设有一个供应商、零件、工程项目数据库SPJ,并有如下关系:
S(Sno,Sname,Status,City)
J(Jno,Jname,City)
P(Pno,Pname,Color,Weight)
SPJ(Sno,Pno,Jno,Qty)
其中:
S(Sno,Sname,Status,City)分别表示:供应商代码、供应商名、供应商状态、供应上所在城市:
J(Jno,Jname,City)分别表示:工程号、工程名、工程项目所在城市:
P(Pno,Pname,Color,Weight)分别表示:零件代码、零件名称、零件的颜色、零件的重量:
SPJ(Sno,Pno,Jno,Qty)表示供应的情况,由:供应商代码、零件代码、工程号及数量组成。
今有具体的关系如图2.4所示:
S SPJ
Sno
Sname
Status
City
S1
S2
S3
S4
S5
精 益
盛 锡
东方红
金 叶
泰 达
20
10
30
10
20
天津
北京
北京
天津
上海
Sno
Pno
Jno
Qty
S1
S1
S1
S1
S2
S2
S2
S2
S2
S2
S3
S3
S4
S4
S4
S5
S5
S5
S5
P1
P1
P1
P2
P3
P3
P3
P3
P5
P5
P1
P3
P5
P6
P6
P2
P3
P6
P6
J1
J3
J4
J2
J1
J1
J3
J4
J2
J1
J1
J3
J4
J1
J3
J4
J1
J3
J4
200
100
700
100
400
200
500
400
400
100
200
200
100
300
200
100
200
200
500
P
Pno
Pname
Color
Weight
P1
P2
P3
P4
P5
P6
螺 母
螺 栓
螺丝刀
螺丝刀
凸 轮
齿 轮
红
绿
蓝
红
蓝
红
20
12
18
18
16
23
J
Jno
Jname
City
J1
J2
J3
J4
J5
三 建
一 汽
造船厂
机车厂
弹簧厂
天 津
长 春
北 京
南 京
上 海
图2.4
试用关系代数、**ALPHA语言、**元组演算语言完成如下查询:
⑴ 求供应工程J1零件的供应商的号码Sno;
⑵ 求供应工程J1零件P1的供应商的号码Sno;
⑶ 求供应工程J1零件为“红”的供应商的号码Sno;
⑷ 求没有使用天津供应商生产”红”色零件的工程号Jno;
⑸ 求至少使用了供应商S1所供应的全部零件的工程号Jno。
4、解:本题个小题的结果如图2.5所示.
R1 R2
A
B
a
b
c
d
b
d
d
e
c
a
a
e
A
B
a
b
c
D
e
c
R3
R5
A
B
C
c
c
c
A
a
b
c
A
B
B
C
b
c
c
c
b
c
b
c
R4 R6
A
B
B
C
a
a
a
b
b
c
d
d
d
e
e
c
b
c
b
c
b
b
c
c
d
c
d
d
5、解:本题个小题的结果如图2.6所示.
A
B
C
C
D
E
7
2
3
3
4
5
R2 R1
A
B
C
D
E
3
4
7
4
6
5
2
4
7
7
3
3
2
2
4
4
3
3
5
5
R3
A
B
C
C
D
E
7
4
2
4
3
3
7
3
2
4
3
5
2.6 计算结果
6、解:本题个小题的结果如图2.7所示.
R1 R2
Y
T
d
f
e
c
e
d
P
Q
T
Y
9
7
a
g
e
e
f
f
R3 R4 R5
P
Q
T
Y
B
2
2
7
7
b
b
g
g
c
c
c
c
d
d
d
d
m
n
m
n
P
Q
Y
B
a
b
g
g
2
9
2
7
7
d
f
f
f
d
P
Q
2
7
b
g
图2.7 计算结果
四、综合题
解:⑴ 关系代数:πSNO(πSNO=‘J1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’
元组演算表达式:{t|(u)(SPJ(u) U[3]=’J1’ t[1]=u[1])}
⑵ 关系代数:πSNO(SNO=‘J1Pno=’p1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’SPJ.Pno=’P1’
元组演算表达式:{t|(u)(SPJ(u)U[3]=’J1’U[2]=’P1’ t[1]=u[1])}
⑶ 关系代数:πSNO(sno=’p1‘color=‘红’(P)∞SPJ))
ALPHA语言:RANGE P X
GET W (SPJ.Sno): X(X.Pno=SPJ.Snox、color=’红’ SPJ.Jno=’J1’
元组演算表达式:{t|(U)(u)(SPJ(u) P(V)U[2]=V[1] V[3]= ’红’ U[3]=’J1’ t[1]=u[1])}
⑷ 关系代数
π(SPJ)-πJNO(CITY=‘天津’Color=‘红’(S∞SPJ∞P ))
ALPHA语言:RANGE P X
S SX
P PX
GET W (SPJ.Sno): X SXPX(X.Pno=SX.SnoSX.CITY≠’天津’ X.PNO=PX.Pno=PX.PNOPX.COLOR≠’红’)
元组演算表达式:
{t|(U)(u)(ww)(SPJ(u) P(V)s(w) U[2]=V[1] u[1]= w[1]
w[4] ≠ ’天津’ V[3] ≠’红’ T[1]=u[3])}
⑸关系代数:πJno.pno(SPJ) πPNO(SNO=‘S1’(SPJ))
ALPHA语言:
RANGE SPJ SPJY
SPJ SPJY
P PX
GET W (SPJ.Sno): PX (SPJY(SPJY.Sno=‘S1’ SPJT.Pno=PX.PNO)ЕSPJY(SPJY.JNO=SPJ.JNOSPJY.PNO=PX.PNO ))
元组演算表达式:
{t|(U)(u)(w)(PU) SPJ(v) SPJ(W)V(1) =’S1’ U[1]=V[2]
w[2] =U[1] w[3]= v[3])t[1]=u[3]}
第三章 关系数据库标准语言SQL
Ⅰ、学习要点
1、掌握 SQL的功能特点和体系结构;
2、熟练掌握SQL定义、修改和删除表、建立视图、定义索引的方法;
3、熟练掌握利用SQL的SELECT语句表达数据查询要求的方法;
4、掌握如何利用SQL语句表达数据的修改、删除操作。
Ⅱ、习题
一、 选择题
1、SQL属于 A 数据库语言。
A.关系型 B.网状型 C.层次型 D.面向对象型
2、当两个子查询的结果 B 时,可以执行并,交,差操作.
A.结构完全不一致 B.结构完全一致
C.结构部分一致 D.主键一致
3、SQL中创建基本表应使用 B 语句.
A.CEARTE SCHEMA B.CEARTE TABLE
C.CEARTE VIEW D.CEARTE DATEBASE
4、SQL中创建视图应使用(C )语句.
A. CEARTE SCHEMA B.CEARTE TABLE
C. CEARTE VIEW D.CEARTE DATABASE
*5、视图创建完毕后,数据字典中存放的是( C ).
A. 查询语句 B.查询结果
C. 视图定义 D.所引用的基本表的定义
6、关系代数中的л运算符对应SELECT语句中的( A )子句.
A.SELECT B.FROM C.WHERE D.GROUP BY
7、关系代数中的σ运算符对应SELECT语句中的( C )子句.
A.SELECT B.FROM C.WHERE D.GROUP BY
8、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( B ).
A. * B. % C. - D. ?
9、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( C ).
A. * B. % C. - D. ?
10、SELECT语句中与HAVING子句同时使用的是( C )子句.
A.ORDER BY B.WHERE C.GROUP BY D.无需配合
11、与WHERE G BETWEEN 60 AND 100语句等价的子句是(D ).
A. WHERE G>60 AND G<100
B. WHERE G>=60 AND G<100
C. WHERE G>60 AND G<=100
D. WHERE G>=60 AND G<=100
12、SELECT语句执行的结果是( C).
A.数据项 B.元组 C.表 D.视图
13、SQL语言具有__B__的功能。
A.关系规范化,数据操纵,数据控制 B。数据定义,数据操纵,数据控制
C.数据定义,关系规范化,数据控制 D。数据定义,关系规范化,数据操纵
14、SQL语言中,实现数据检索的语句是__A__。
A、SELECT B、INSERT C、UPDATE D、DELETE
15、下列SQL语句中,修改表结构的是__A__
A.ALTER B.CREATE C.UPDATE D.INSERT
二、填空题
1. 非关系数据模型的数据操纵语言是面向對象的,而关系数据库的标准语言SQL是面向集合的语言.
2. SQL语言的功能包括数据查询,数据操纵,数据定义和数据控制.
3. SQL以同一种语法格式,提供自含式和自定义两种使用方式.
4. SELECT语句中, WHERE子句用于选择满足给定条件的元组,使用_ GROUP BY子句可按指定列的值分组,同时使用HAVING子句可提取满足条件的组.
5. 在SQL中,如果希望将查询结果排序,应在SELECT语句中使用ORDER BY子句,其中ASC选项表示升序, DESC选项表示将序.
6. SELECT语句中进行查询,若希望查询的结果不出现重复元组,应在SELECT子句中使用DESTINCT保留字.
7. 在SQL中,WHERE子句的条件表达式中,字符串匹配的操作符是LIKE;与0个或多个字符匹配的通配符是 % 与单个字符匹配的通配符是 - .
8. 如果外连接符出现在连接条件的右边称之为右连接符,出现在连接条件的左边称之为左连接符.
9. 子查询的条件不依赖与父查询,这类查询称之为不相干子查询,否则称之为相干子查询.
10. 若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为列子集视图.
11.SQL是结构化查询语言。
12.SQL语言的数据定义功能包括数据查询、数据操纵、数据定义和数据控制。
13.视图是一个虚表,它是从.一个或几个基本表中导出的表。在数据库中,只存放视图的定义 不存放视图的视图对应的数据。
三.简答题
1. 什么是基本表?什么是视图?两者的区别是什么?
答:基本表是独立存在的表,在SQL中,一个关系对应于一个表,一个表对应与一个存储文件。视图是在创建时,将其定义存放在存放在数据字典中,并不存放视图对应的数据,因此视图是从一个或几个基本表中导出来的,它本身不独立存储在数据库中,是一个虚表。两者的区别是基本表是独立存于数据库中,而视图存放的只是视图的定义
2. 试述试图的优点.
视图的优点主要有四个方面:
1能够简化用户的操作;
2用户可以从多种角度看待数据;
3视图对重构数据库提供了一定程度的逻辑独立性;
视图能对机密数据提供安全保护
3.所有的视图都可以更新吗?为什么?
并不是所有的视图都可以更新,因为有些视图的更新不能惟一地有意义地转换成相对应的基本表的更新。
4.叙述SQL语言支持的三级逻辑结构。
5.叙述使用SQL语言实现各种关系运算的方法。
由Visual FoxPro支持的SQL语言没有提供关系的迪卡尔积、交和差运算。其他关系运算对应的SQL语句是:
R∪S SELECT语句(生成R)
UNION
SELECT语句(生成S)
选择 SELECT*
FROM〈表〉
WHERE〈指定选择的文件〉
投影 SELECT 〈投影字段列表〉
FROM 〈表〉
连接 SELECT 〈连接的字段列表〉
FROM 〈连接的两个表名〉
WHERE〈连接条件〉
6.设有图书登记表TS,具有属性:BNO(图书类别)、BNA(书名)、AU(著者)、
PUB(出版社)。按下列要求用SQL语言进行设计:
(1) 按图书编号BNA建立TS表的索引ITS。
(2) 查询按出版社统计其出版图书总数。
(3) 删除索引ITS。
*7、三个关系R、S和T如图3.3所示。
R S T
A B C A D E D F
a1 b1 20 a1d1 15 d2 12
a1 b2 22 a2d2 18 d3 13
a2 b1 18 a1d2 24
a2 b3a2
图3.3关系R、S和T
试用SQL语句实现如下操作:
(1) 将R 、S和T三个关系按关联属性建立一个视图R-S-T;
(2) 对视图R-S-T按属性A 分组后,求属性C和E的平均值。
8、有关系R 和S 如图3.4所示
R S
A B A C
a1 b1 a1 40
a2 b2 a2 50
a3 b3 a3 55
图3.4 关系R和S
试用SQL语句实现:
(1) 查询属性C>50时,R中与相关联的属性B之值。
(2) 当属性C=40时,将R 中与之相关联的属性B值修改为b4。
*9、知R和S两个关系如图3.5所示:
R S
A B C C D E
a1b1 c1 c1 d1e1
a2b2 c2 c2d2e2
a3b3 c2 c3 d3e2
图3.5 关系R和S
执行如下SQL语句:
(1) CREATE SQL VIEW H(A,BC,C,D,E)
AS SELECT A, B, R.C, D, E
FEOM R, S
WHERE R.C=S.C;
(2) SELECT B , D, E
FROM H
WHERE C=’C2’
试给出:(1)视图H;
(2)对视图H的查询结果
10.已知学生表S和学生选课表SC。其关系模式如下:
S(SNO,SN,SD,PROV)
SC(SNO,CN,GR)
其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。
试用SQL语句实现下列操作:
(1) 查询“信息系”的学生来自哪些省区。
(2) 按分数降序排列,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。
*四. 综合题
1. 用SQL为供销数据库(图2_17)创建四个表:供应商,零件,工程项目,供应情况.
2. 请为三建工程项目建立一个供应商情况的视图,包括供应商号Sno,零件号Pno,数量号Qty.针对该视图完成如下查询:
(1) 找出三建工程项目使用各种零件代码及数量;
(2) 找出供应商S1的供应情况.
3. 根据本章习题四中的第一小题建立的表,用SQL语言完成以下操作:
(1) 把对S的INSERT权限授予用户张勇,并允许他将此权限授予其他用户;
(2) 把对SPJ表和修改QTY属性的权限授予用户李天明.
4. 对本章习题四中的第一小题用SQL语言完成以下操作:
(1) 找出所有供应商的姓名和所在城市;
(2) 找出所有零件的名称,颜色和重量;
(3) 找出使用供应商S1所供应零件的工程号码;
(4) 找出工程项目J2使用的各种零件的名称及其数量;
(5) 找出上海厂商供应的所有零件号码;
(6) 找出使用上海产的零件的工程的名称;
(7) 找出没有使用天津产的零件的工程号码;
(8) 把全部红色零件的颜色改为蓝色;
(9) 有S5供给J4的零件P6改为由S3供应,请做必要的修改;
(10)从供应商关系中删除S2记录,并从供应情况关系中删除相应的记录;
(11) 请将(S2,J6,P4,200)插入供应情况关系.
Ⅲ、答案
4.答:SQL语言支持的三级逻辑结构如图3.1所示 :
用户
SQL
-
视图1 视图2 外层
-------------------------------------------------------------------------------------------------------------
基本表1 基本表2 基本表3 基本表4 概念层
---------------------------------------------------------------------------------------------------------
存储文件s1 存储文件s2 存储文件s3 存储文件s4 内层
图 3.1 SQL语言支持的三级结构
在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual FoxPro 中没个表在存储中可用一个存储文件来表示(在ORACLE中多个表存储在一个文件中),一个基本表就是一个关系,它不是由其他表导出的表。基本表是使用CREATE TABLE语句建立的。
在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表
展开阅读全文