数据库练习题1.docx
《数据库练习题1.docx》由会员分享,可在线阅读,更多相关《数据库练习题1.docx(15页珍藏版)》请在冰豆网上搜索。
![数据库练习题1.docx](https://file1.bdocx.com/fileroot1/2023-2/22/12484b13-d468-4b9c-84f1-a62d744eac10/12484b13-d468-4b9c-84f1-a62d744eac101.gif)
数据库练习题1
1.DBS是采用了数据库技术的计算机系统。
DBS是一个集合体,包含数据库、计算机硬件、软件和
A.系统分析员B.程序员 C.数据库管理员D.操作员
2.模型是对现实世界的抽象,在数据库技术中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。
表示实体类型及实体间联系的模型称为
A.数据模型B.实体模型 C.逻辑模型D.物理模型
3.关系模型概念中,不含有多余属性的超键称为
A.候选键B.对键 C.内键D.主键
4.设R、S为两个关系,R的元数为4,S的元数为5,则与R
S等价的操作是
A.σ3<6(R×S)B.σ3<2(R×S) C.σ3>6(R×S)D.σ7<2(R×S)
5.分布式数据库存储概念中,数据分配是指数据在计算机网络各场地上的分配策略,一般有四种,分别是集中式、分割式、全复制式和
A.任意方式B.混合式 C.间隔方式D.主题方式
6.数据库系统中,类是指具有相同的消息,使用相同的方法,具有相同的变量名和
A.变量值B.特征C.定义D.类型
8、在数据库系统的三级模式结构中,用来描述数据的全局逻辑结构的是()
(1)子模式
(2)用户模式(3)模式(4)存储模式
9、在下列实体类型的联系中,一对多联系的是()
(1)学校与课程的学习联系
(2)父亲与孩子的父子关系
(3)省与省会的关系(4)顾客与商品的购买关系
10、下列哪种运算不属于关系代数的基本运算()
(1)连接
(2)笛卡尔积(3)相减(4)投影
11.设有关系S(SNO,SNAME,SEX,AGE,DEPT)
检索所以比"王华"年龄大的学生姓名和性别.正确的语句是()
A.SELECE SNAME,AGE,SEXFROMS B.SELECESNAME,AGE,SEX
WHEREAGE>(SELECTAGEFROMSFROMS
WHERESNAME="王华");WHERESNAME="王华;
C.SELECESNAME,AGE,SEX,FROMS D.SELECTSNAME,AGE,SEX
WHEREAGE>(SELECTAGEFROMS
WHERESNAME="王华");WHEREAGE>"王华".AVG
12.假定学生关系是S(学号,姓名,性别,年龄),课程关系是C(课程号,课程名,任课教师),学生选修课程关系是SC(学号,课程号,成绩)。
如要查找选修了课程名为“计算机”的“女”学生姓名,将涉及到关系()
A.SB.SC,C C.S,SC D.S,C,SC
13.在数据库概念设计的E-R方法中,属性在E-R图中用()表示.
A.矩形 B.四边行 C.棱型 D.椭圆形
14、在SQL中,可以用谓词EXISTS来测试一个集合中是否()
(1)有相同元组存在
(2)为空集合
(3)有相同分量存在(4)为非空集合
15、ER图是一种直观表示何种模型的工具()
(1)结构数据模型
(2)关系数据模型
(3)概念数据模型(4)层次和网状模型
16、约束”年龄限制在18—30岁之间”属于DBMS的哪种功能()
(1)安全性
(2)完整性(3)并发控制(4)恢复
17.数据库并发控制概念中,使用X封锁的规则称为
A.PS协议B.PX协议 C.PSC协议D.两段封锁协议
18在数据库操作过程中事务处理是一个操作序列,必须具有以下性质:
原子性、一致性、隔离性和
A.共享性B.继承性C.持久性D.封装性
17.同一关系模型的任意两个元组的值()
A.不能相同B.可部分相同
C.必须全同D.以上都不是
20.SOL语言中,修改表结构所用的谓词是()
A.ALTERB.INSERT
C.UPDATED.CREATE
1.数据库系统是实现有组织地、动态地存储大量(关联)数据,支持多用户访问的计算机软件、(硬件)和数据资源组成的系统。
2.关系模型的主要特征是用(二维表格)结构表达实体集
4.关系演算是基于(数理逻辑)的关系运算。
5.在字符串的匹配操作中,通配符(%)表示与零个或多个字符组成的字符串匹配。
在一个实体表示的信息中,能唯一标志实体的属性或属性组为(实体键)。
6.在数据库设计中,在概念设计阶段可用E—R方法,用其设计出的图称为(实体联系图)。
7.数据的完整性约束包括(域完整性、实体完整性)和(引用完整性)。
8.并发控制的主要方法是采用封锁机制,其类型主要有(X封锁)和(s封锁)。
9.在数据库三级模式中,描述数据库中全体数据的逻辑结构和特征的是(模式)。
10.关系代数运算中,传统的集合运算有笛卡尔积和(并、差、交)四种运算。
11、数据库系统可能发生的故障有:
(事务故障、计算机病毒)、系统故障和介质故障。
1、什么是事务的调度?
如何判断一个调度是不是冲突可串行的?
答:
N个事务的一个调度S是N个事务的所有操作的一个序列,表示这些操作的执行顺序,并且满足对于N个事务中的每个事务T,如果操作i在T中先于操作j执行,则在S中操作i也必须先于操作j执行。
(2分)
构造调度S的前趋图,如果前趋图有回路,则S不是冲突可串行的;如果前趋图不包含回路,则S是冲突可串行的。
(2分)
2、什么是数据库?
什么是数据库管理系统?
答:
数据库是相互关联的数据集合。
(2分)数据库管理系统是一个通用的软件系统,由一组计算机程序构成。
数据库管理系统能够对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等。
(2分)
3、简述数据库的三级模式
模式:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式:
也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
内模式:
也称存储模式(StoragCSChema);一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
4、一个图书借阅数据库系统要求提供下述服务:
可随时查询书库中现有书籍的名称、品种、数量与存放位置,所有各类书籍均可由书号唯一标识;可随时查询书籍借还情况。
包括借书人单位、姓名、借书证号、借书日期和还书日期。
约定:
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性;当需要时,可通过数据库中保存的出版社电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。
约定:
一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
(1)根据上述语义画出ER图,要求在图中画出属性并注明联系的类型。
(2)将ER模型转换成关系模型
书籍(书号,名称,品种,数量,存放位置,出版社名)出版社名为外键
出版社(出版社名,电报编号,电话,邮编,地址)无外键
借书人(借书证号,姓名,单位)无外键
借阅(书号,借书证号,借书日期,还书日期)书号和借书证号都是外键
其中下划线表示主键
(或把出版联系单独形成一个关系模式,即5个关系模式)
5、什么是数据库事务?
什么是数据库事务的原子性?
数据库事务是指作为单个逻辑工作单元执行的一系列操作。
事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
原子性(Atomicity)
事务的原子性是指事务中包含的所有操作要么全做,要么全不做(allornone)。
6、设某商业集团数据库有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品编号、商品名、规格、单价等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每个商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;供应商与商品间存在着“供应”联系,每个供应商供应多种商品,每种商品可以向多个供应商订购。
供应商供应商品给每个商店有月供应量。
(1)试画出E-R图,并在图上注明属性。
(2)将E--R图转换成关系模型。
(6分,其中实体2分、联系2分、属性2分)
(2)此E--R图转换成的关系模型如下
商店(商店编号,商店名,地址)主码为商店编号
供应商(供应商编号,供应商名,地址)主码为供应商编号
商品(商品编号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
主码为(商店编号,商品号),外码为商店编号和商品号
供应(供应商编号,商店编号,月供应量)
主码为(供应商编号,商店编号),外码为供应商编号,商店编号
共6分,由于学生的写法多样,教师根据具体情况给分。
7.数据库阶段的数据管理有些什么特点
(1)采用复杂的数据模型表示数据结构。
(2)有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)。
(3)数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据,也可以用程序方式操作数据库。
(4)系统提供了四个方面的数据控制功能:
数据库的恢复、并发控制、数据完整性和数据安全性,以保证数据库中数据是安全的、正确的和可靠的。
(5)对数据的操作不一定以记录为单位,还可以数据项为单位,增加了系统的灵活性。
解答题
1.设有关系数据:
PART(PART_NO,PART_NAME)
PROJECT(PROJECT_NO,PROJECT_NAME)
SUPPLIER(SUPPLIER_NO,SUPPLIER_NAME,CITY)
SUPPLY(PART_NO,PROJECT_NO,SUPPLIER_NO,QUANTITY)
其中PART,PROJECT,SUPPLIER,SUPPLY分别表示零部件、工程、供货商和供货四个关系,关系中各属性的含义是:
PART_NO(工程编号,主键);PART_NAME(零件名称);PROJECT_NO(工程编号,主键);PROJECT_NAME(工程名称);SUPPLIER_NO(供货商编号,主键);SUPPLIE_NAME(供货商名称);CITY(供货商所在城市);QUANTITY(供货量)
(1)用关系代数表达式表示如下询问:
找出使用了长沙的供货商所供零部件的所有工程的名称。
(2)用SQL语言表示
(1)中的询问
(3)用SQL语言表示
(2)中的询问
2.假设存款余额C=888元,A事务取走存款200元,B事务取走存款100元,其执行时间如下:
(9)
――――― ――――――
A事务 B事务
――――― ――――――
T1读 C
t2 读C
t3更新C=C-200
t4 更新C=C-100
1)以上的操作会带来哪种数据不一致性?
丢失数据
2)如何实现这两个事务的并发控制?
A事务 B事务
――――― ――――――
T1 xlockC
t2 xlockC
t3 更新C=C-200 等待
Commit等待
UnlockC等待
t4 获得xlockC
更新C=C-100
CommitUnlockC
3、学生(学号,姓名,性别,专业,奖学金)
课程(课号,课名,学分)
学习(学号,课号,分数)
用关系代数实现下列查询:
检索“国际贸易”专业中获得奖学金1000元的学生信息,包括学号、姓名、课名和分数;
用SQL语句实现下列查询:
检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;
对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元。
答:
(答案不唯一)
1.Π学号,姓名,课名,分速(σ专业=’国际贸易’奖学金=1000(学生)课程学习)(3分)
2.SELECT学号,姓名,专业
FROM学生
EHERENOTEXITS(SELECT*FROM学习WHERE学习.学号=学生.学号AND学习.分数<80)(3分)
3.UPDATE学生
SET奖学金=1000
WHERE奖学金ISNULLand(EXITSSELECT*FROM学习WHERE分数=100and学习.学号=学生.学号)(2分)
4.设有如下图所示的关S,SC,和C,试用关系代数完成以下查询语句
S:
C:
S#
SNAME
AGE
1
李强
23
2
刘丽
22
3
张友
22
C#
CNAME
TEACHER
K1
C语言
王华
K5
数据库
程军
K8
编译原理
程军
SC:
S#
C#
GRADE
1
K1
83
2
K1
85
5
K1
92
2
K5
90
5
K5
84
5
K8
80
其中,S#为学号,SNAME为学生姓名,AGE为学生年龄,C#为课程号,CNAME为课程名,TEACHER为教师姓名,GRADE为学生成绩。
检索“程军”老师所授课程的课程号和课程名
检索选修了“程军”老师所授全部课程的学生姓名)
检索“李强”同学未学课程的课程号
检索全部学生都选修的课程的课程号和课程名
检索选修课程中只至少包含了一门“程军”老师所授课程的学生学号
检索同时选修了K1和K5两门课程的学生学号
检索选修了全部课程的学生姓名
5、已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY)
P(PNO,PN,COLOR)
J(JNO,JN,CITY)
SPJ(SNO,JNO,PNO,QTY)
其中:
SNO为供应商号,SN为供应商姓名,CITY为所在城市;PNO为零件号,PN为
零件名称,COLOR为颜色;JNO为工程项目号,JN为工程项目名称;QTY为数量。
1、试用关系代数完成下列查询:
求出使用全部零件的工程项目名称。
2、试用SQL语言完成下列查询:
取出1个以上供应商提供的零件号。
1、试用关系代数语言完成下列查询:
求出使用全部零件的工程项目名称。
JN((JNO,PNO(SPJ)÷PNO(P)JNO,JN(J))(4分)
2、试用SQL语言完成下列查询:
把零件号为P2的零件重量增加5,颜色改为黄色。
UPDATEP
SETWEIGHT=WEIGHT+5,COLOR=’黄色’
WHEREPNO=’P2’;(4分)
3、试用SQL语言完成下列查询:
取出1个以上供应商提供的零件号。
SELECTPNO
FROMSPJ
GROUPBYPNO
HAVINGCOUNT(SNO)≥1(4分)
6、有学生表S(SNO、SNAME、AGE、DEPT)(SNO为学生学号,SNAME为姓名,AGE为学生年龄、DEPT为系别)和学生选修课程表SC(SNO,CNO,GRADE)(CNO为课程号,GRADE为成绩)及课程表C(CNO、CNAME、CPNO、CCREDIT)(CPNO为先行课程、CCREDIT为学分)
试用SQL语言完成以下各题
1)查询至少有5个学生选修了的课程号。
2)查询每个学生所选课程的平均成绩且查询结果按成绩的降序进行排序。
3)查询选修了课程名为“信息系统”的学生姓名。
1)selectCNO
FromSC
GroupbyCNOhavingcount(SNO)>=5;
2)seclectavg(GRADE)
FromSC
GroubbySNO
Orderbyavg(GRADE)DESC;
3)selectSNAME
FromS
WhereSNOin(selectSNO
FromSC
WhereCNOin(selectCNO
FromC
WhereCNAME='信息系统'));
4.设有如下图所示的关S,SC,和C,试用关系代数完成以下查询语句
(1).检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2).检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3).检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4).检索”李强”同学不学课程的课程号(C#)。
(5).检索至少选修两门课程的课程号(S#)。
(6).检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7).检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8).检索选修课程号为k1和k5的学生学号(S#)。
(9).检索选修全部课程的学生姓名(SNAME)。
(10).检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11).检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。