《2022年2022年河南理工大学数据库系统原理部分习题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年河南理工大学数据库系统原理部分习题答案 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章一、填空题1.计算机数据管理技术大致经历了_人工管理阶段 _、_文件系统阶段 _和_数据库系统阶段 _三个阶段。2,数据的正确性、有效性和相容性称之为数据的_完整性 _。3.数据库系统一般由_数据库 _、_数据库管理系统_ 及其开发工具、操作系统、应用系统、数据库管理员、用户构成。4.从数据库管理系统的角度划分数据库系统的体系结构,可分为_外模式 _ 、_模式 _和_内模式_ 。5.数据库管理系统在三层结构之间提供的两层映像是_外模式/模式映像 _和_模式/内模式映像_ 。二、选择题1.在数据库技术发展过程中 ,文件系统和数据库系统的本质区别是数据库系统具有()A.数据结构化B.数据无冗
2、余C.数据共享D.数据独立性2.用于描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的符号称为()A.信息B.数据C.记录D.记录集合3.数据库系统阶段 ,数据()A.具有物理独立性 ,没有逻辑独立性B.具有物理独立性和逻辑独立性C.独立性差D.具有高度的物理独立性和一定程度的逻辑独立性4.数据库管理系统DBMS 是()A.一组硬件B.一组系统软件C.一个完整的数据库应用系统D.既包含软件 ,又包含硬件5.有了模式 /内模式映像 ,可以保证数据和应用程序之间的()A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性三、问答题4.什么是数据库 ?数据库中的数据有什么特点?数据库:
3、被长期存放在计算机内,有组织可以表现为多种形式的可共享的数据集合特点:有组织,可共享,较小冗余,较高独立性和易扩展性。5.什么数据库管理系统 ?它的主要功能是什么?数据库管理系统:操纵和管理数据库的系统软件,建立在操作系统的基础上,对数据操纵语句进行统一管理和控制,并维护数据库的安全性、完整性。功能:数据定义、数据操纵、数据库控制、数据库运行维护。6.试述数据库系统三级模式结构及每级模式的作用。三级模式包括外模式、模式、内模式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共
4、 11 页 - - - - - - - - - 外模式: 是数据库用户能看见和使用的局部数据的逻辑结构特征的描述,是数据库用户的数据视图。作用:保证数据库安全性的一个有力措施。模式:是数据库中全体数据的逻辑结构的特性的描述,是所有用户的公共数据视图。作用:是所有用户的公共数据视图。内模式:对数据的物理结构和存储方式的描述。作用:规定了所有数据的物理组织以及优化性能响应时间和存储空间需求等信息。7.试述数据库系统中的二级映像技术及作用。外模式/模式映像:定义了外模式与模式之间的对应关系,可以保持数据的逻辑独立性。模式/内模式映像:定义了数据库全局逻辑结构与存储结构之间的对应关系,可以保持数据的物
5、理独立性。二级映像技术保证了数据有较高的逻辑独立性和物理独立性习题 2一、名词解释域,笛卡儿积 ,关系,关键字,主属性,非主属性 ,关系模型 ,实体完整性 ,参照完整性 ,自然连接。二、问答题1.什么是数据模型?是数据库用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。2.实体-联系模型的主要概念是什么?3.关系模型的三个要素是什么?实体完整性、参照完整性、用户定义的完整性5.某一数据库中有以下关系表:供应商表S 、零件表 P 、工程项目表J、供应情况表SPJ 。J(PNO, PNAME,COLOR,WEIGHT) 表示:零件代码、零件名、颜色、重量。S(SNO,
6、SNAME,STATUS,CITY) 表示:供应商代码、供应商姓名、供应商状态、供应商所在城市。J(JNO,JNAME,CITY) 表示:工程项目代码、工程项目名、工程项目所在城市。SPJ(SNO,PNO,JNO,QTY)表示:供应商代码、零件代码、工程项目代码、供应数量试用关系代数完成如下查询:求供应工程J1 零件的供应商号码SNO;求供应工程J1 零件 P1的供应商号码SNO;求供应工程J1 零件为红色的供应商号码SNO;求没有使用天津供应商生产的红色零件的工程号JNO;求至少用了供应商S1 所供应的全部零件的工程号JNO名师资料总结 - - -精品资料欢迎下载 - - - - - - -
7、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 习题 3一、填空题1.结构化查询语言SQL是一种介乎于_ 关系代数_ _和_关系演算 _之间的语言。2.SQL 是一种一体化的语言 ,它包括了 _ 数据定义 _、数据查询、 _ 数据操纵 _和数据控制等方面的功能。3.非关系数据模型采用的是面向_记录_的操作方式 ,任何一个操作其对象都是一条记录。而 SQL则是面向 _集合 _的。4.SQL 以同一种语法格式 ,提供_ 交互式 _和_嵌入式 _两种使用方式。5.在 SELECT 语句中, _WHE
8、RE _子句用于选择满足给定条件的元组,使用_GROUP BY _子句可按指定列的值分组,同时使用_ HAVING _子句可提取满足条件的组。6.在 SQL中,如果希望将查询结果排序 ,应在SELECT 语句中使用_ ORDER BY _子句,其中_ ASC _选项表示升序,_ DESC_ 选项表示降序。7.在SELECT 语句中进行查询 ,若希望查询的结果不出现重复元组,则应在SELECT 子句中使用_ DISTINCT_保留字。8.在 SQL中, WHERE 子句的条件表达式中 ,字符串匹配的操作符是_LIKE_,与 0 个或多个字符匹配的通配符是_%_ ,与单个字符匹配的通配符是_-(
9、下划线) _9.在 SQL语言中是用 _ CREATETABLE _语句在数据库中创建表的。10.有时候需要根据实际需要对数据表的结构进行修改,这时就要用到SQL的_altertable _语句。11.若一个视图是从单个基本表中导出的,并且只是去掉了基本表的某些行和某些列,但保留了码 ,这类视图称为_行列子集视图 _。12.使用游标的步骤为:_声明(declare)_、_打开(open) _、_读取(fetch)_和_关闭游标 (close)_。13.主语言向SQL语句提供参数是通过 _ 主变量 _,在 SQL语句中应用时 ,必须在主变量前加_:(冒号) _。二、选择题1.SQL 属于_A_
10、数据库语言。A.关系型B.网状型C.层次型D.面向对象型2.SQL 语言中,外模式对应于 _A_A.视图和部分基本表B.基本表C.存储文件D.物理磁盘3.SQL 语言中,模式对应于 _B_A.视图和部分基本表B.基本表C.存储文件D.物理磁盘4.SQL 语言中,内模式对应于( C )A.视图和部分基本表B.基本表C.存储文件D.物理磁盘5.当两个子查询的结果 _B_ 时,可以执行并、交、差操作。A.结构完全不一致名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 -
11、 - - - - - - - - B.结构完全一致C.结构部分一致D.主键一致6.在 SQL中创建视图应使用 _C_ 语句。A CREATESCHEMAB CREATETABLEC.CREATEVIEWD CREATEDATABASE7.视图创建完毕后 ,数据字典中存放的是 _C_A.查询语句B.查询结果C.视图定义D.所引用的基本表的定义8.视图消解的概念是 _D_A.将对视图的查询转换为逻辑查询的过程B.将对视图的查询转换为对具体数据记录查询的过程C.将对视图的查询转换为数据文件的查询的过程D.将对视图的查询转换为基本表的查询的过程9.为防止用户通过视图对数据进行增加、删除、修改时操作不属
12、于视图范围内的基本表数据,可在定义视图时加上_A_ 子句。A. WITH CHECKOPTIONB. WITH CHECKONC. WITH CHECKDISTINCTD. WITH CHECKVIEW10.关系代数中的运算符对应SELECT 语句中的 _A_ 子句。A. SELECTB FROMC. WHERED. GROUP BY11.关系代数中的运算符对应SELECT 语句中的 _D_ 子句。A. SELECTB. FROMC. WHERED. GROUP BY12.与 WHERE G BETWEEN 60 AND100 语句等价的子句是 _D_A. WHERE G60 ANDG=60
13、ANDG60 ANDG=60 ANDG 20 ANDSex= 男;2.查询女学生所学课程的课程号和课程名。SELECTCno ,CnameFROMC,S,SCWHERE S.Sno=Sc.Sno ANDS.sno=C.Cno ANDSex= 女;3.查询女学生所学课程的任课老师的教师号和姓名。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - SELECTTno,TnameFROMS,SC,C,TWHERE S.Sno=SC.Sn
14、o ANDSC.Cno=C.Cno ANDC.Tno=T.Tno AND Sex= 女;4.查询至少选修两门课程的学生学号。SELECT SnoFROMSCGROUP SnoHAVINGCOUNT(Cno)=2;5.查询至少有学号为S3和 S6学生选修课程的课程号SELECTCnoFROMSCWHERE Sno= S3 AND Cno IN (SELECTCnoFROMSCWHERE Sno= S6 );6.查询王珂同学不学的课程的课程号。SELECTCnoFROMCWHERE Cno NOTIN (SELECT CnoFROMSC,SWHERE S.Sno=SC.Sno ANDSname=
15、王珂 );7.查询全部学生都选修的课程号和课程名。SELECT Cno,CnameFROM CWHERE NOT EXISTS(SELECT* FROM SWHERENOT EXISTS(SELECT* FROM SCWHERESC.Sno=S.SnoAND SC.Cno=C.Cno );8.査询选修课程包含刘老师所授全部课程的学生学号。SELECT SnoFROM SWHERE NOT EXISTS(SELECT*FROM CWHERE TnoIN(SELECT TnoFROM TWHERE Tname=刘老师)ANDNOT EXISTS(SELECT*FROM SCWHERE SC.Sno
16、=S.Sno AND SC.Cno=C.Cno);六、依据教学数据库中的4 个基本表 T、C 、S 、SC,写出实现下列功能的SQL语句:1.统计有学生选修的课程门数。SELECTCOUNT(*)FROMSCGROUP BY Cno;2.求选修 C4课程的女学生的平均年龄。SELECTAVG(age)FROMSC,S名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - WHERE S.Sno=SC.Sno ANDCno= C4 AN
17、D Sex= 女;3.求张伟老师所授课程的每门课程的平均成绩。SELECT C.Cno,AVG(GRADE)FROM sc,c,TWHERE SC.Cno=C.CnoAND C.Tno=T.TnoAND Tname=张伟GROUP BYC.Cno;4.统计每门课程的学生选修人数(超过10 人的课程才统计 )。要求显示课程号和人数 ,查询结果按人数降序排列,若人数相同 ,则按课程号升序排列。SELECT Cno,COUNT(*)FROM SCGROUP BYCnoHAVING COUNT(*)10ORDER BY2DESC,Cno5.查询学号比王珂同学大 ,而年龄比他小的学生姓名SELECT S
18、nameFROM S,WHERE SnoALL(SELECT SnoFROM SWHERE Sname= 王珂)ANDAge(SELECT AVG(Age)FROM SWHERE SEX=女);9.求年龄大于所有女同学年龄的男学生姓名和年龄。SELECT Sname,AgeFROM SWHERE SEX=男AND Age ALL(SELECT AgeFROM SWHERESEX=女);七、试用 SQL更新语句实现对教学数据库中4 个基本表 T、C 、S 、SC 的更新操作。1.往关系 C中插入一个课程元组(C8 , JAVA , T2)。INSEERTINTO C VALUES( C8 ,JA
19、VA ,T2);2. 查 询所 授 每门 课 程平 均成 绩 均大 于 80 分 的教 师 姓名 , 并 把查 询 到的 值 送往 另一 个 已存 在 的表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - RESULT(Tname) 中。INSERT INTO FACULTY(Tname)SELECTDISTINCT TnameFROM(SELECTTname, C.Cno,AVG(GRADE)FROMC, Sc, TWHERE
20、 SC.Cno=C.Cno ANDC.Tno=T.TnoGROUP BY Tname, C.Cno )AS RESULT(Tname,Cno, AVGGRADEAS X ,WHERE 80=ALL( SELECTAVGGRADE FROMRESULTAS YWHERE Y.Tname=X. Tname);3.删除 SC中尚无成绩的元组DELETEFROMSCWHERE SCOREISNULL;4.删除选修张伟老师课程的女同学的选课元组DELETE FROM SCWHERE SnoIN(SELECT S.SnoFROMS, Sc,C,TWHERE S.Sno=SC.SnoAND SC.no=C.
21、CnoAND C.Tno=T.TnoAND SEX=女AND Tname=张伟);5.把 Java 课不及格的成绩全改为60 分UPDATE SCSETSCORE=60 .WHERE CnoIN(SELECT CnoFROM CWHERECname=java)AND SCORE ALL( SELECTAge FROMSWHERE SEX= 女);7.在 SC表中修改 C4课程的成绩 ,当成绩小于等于80 分时提高 4%,当成绩大于 80 分时提高 5% 。UPDATESC SET GRADE=GRADE*1.04WHERE Cno=C4ANDGRADE80;8.在表 SC中,当某个成绩低于全部
22、课程的平均成绩时,提高5% 。UPDATESC SET SCORE=SCORE+SCORE*0.05WHERE SCORE55ANDSEX=M ;5.假设每个职工只能在一个公司工作,查询工资超过3000 元的男职工的职工号和姓名。SELECTEMP.E#, ENAMEFROMEMP, WORKSWHERE EMP.E#=WORKS.E# ANDSALARY1000;6.假设每个职工可在多个公司工作,查询至少在公司号为C2和 C3公司兼职的职工的职工号和姓名SELECTA.E#,A.ENAMEFROMEMPA, WORKS B, WORKS CWHERE A.E#=B.E# ANDB.E#=C.
23、E#ANDB.C#=C2ANDC.C#=C3; 7.查询在华为公司工作、工资低于6000 元的男职工的职工号和姓名。SELECTA.E#,A.ENAMEFROMEMPA, WORKS B, COMP CWHERE A.E#=B.E# ANDB.C#=C.C#ANDCNAME= 华为公司ANDSALARY6000ANDSEX=M ;8.假设每个职工可在多个公司工作,查询每个职工的兼职公司数目和工资总数,显示职工号、公司数目、工资总数。SELECTE#, COUNT(C#)AS NUM,SUM(SALARY)AS SUM_SALARYFROMWORKSGROUP BY E# ;9.工号为 E6 的
24、职工在多个公司工作 ,试查询至少在E6职工兼职的所有公司工作的职工号。SELECTX.E# FROMWORKS XWHERE NOTEXISTS (SELECT* FROMWORKS YWHERE E#=E6ANDNOTEXISTS (SELECT* FROMWORKS ZWHERE Z.E#=X.E# ANDZ.C#=Y.C# ) ;10.查询华为公司中低于本公司平均工资的职工号和姓名。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - -
25、 - - SELECTA.E#,A.ENAMEFROMEMPA, WORKS B, COMP CWHERE A.E#=B.E# ANDB.C#=C.C# ANDCNAME = 华为公司ANDSALARY45) ;12.在职工和工作表中删除年龄大于60 岁的职工的有关元组。DELETEFROMWORKS WHERE E# IN (SELECTE# FROMEMPWHERE AGE60) ;DELETEFROMEMPWHERE AGE60;习题 4一、名词解释函数依赖 ,闭包,最小依赖集 ,多值依赖 ,3NF,无损分解 ,保持函数依赖二、已知关系模式R(ABCD,F=(AB CC D,DA求1.F
26、 的所有非平凡函数依赖。2.关系模式 R 的所有候选键 ,并说出理由。三、已知关系模式R(ABC),F=AB,BC, 求F+。五、设有关系模式R(职工编号 ,日期,日营业额 ,部门名称 ,部门经理 ), 该模式统计商店里每个职工的日营业额,以及职工所在部门和经理信息。如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。求下列问题:1.根据上述规定 ,写出模式R的基本函数依赖和关键字;关系模式 R基本的函数依赖集:F = (职工编号,日期 )日营业额,职工编号部门名,部门名部门经理候选键为:(职工编号,日期)2.说明模式 R 不是 2NF的理由,并将其分解为2N
27、F;关系模式 R满足 1NF ,理由: 构成关系模式R的所有属性都是原子的,不可再分的,因而满足 1NF ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 关系模式 R上存在如: (职工编号 ,日期)部门名 ,部门经理的非主属性对候选键的部分函数依赖,因而不满足2NF基于以上 2 点,关系模式R 仅仅满足 1NF3.进而分解为3NF 。六、关系 R具有属性集合 O,I,S,Q,D,B,函数的依赖集体为F=SD,I B,ISQ,BO。求解下列各题1.计算 S+、+、B+、(IS)+、(SB)+、(ISB)+;2.求出 R 的所有候选键;3.求 R的最小函数依赖集;4.把 R分解为 3NF并具有无损连接性和保持函数依赖。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -