一、选择题60(选择一个最合适的答案,在答题纸上涂黑)1.一个事务中的一组更新操作是一个整体,要么全部执行,要么全部不执行。
这是事务的:A.原子性B.一致性 C.隔离性 D.持久性2.在数据库的三级模式结构中,描述一个数据库中全体数据的全局逻辑结构和特性的是:A.外模式 B.模式 C.存储模式D.模式3.关于联系的多重性,下面哪种说法不正确?A.一个多对多的联系中允许多对一的情形。
B.一个多对多的联系中允许一对一的情形。
C.一个多对一的联系中允许一对一的情形。
D.一个多对一的联系中允许多对多的情形。
4.考虑学校里的"学生"和"课程"之间的联系,该联系的多重性应该是:A. 一对一B. 多对一C. 一对多D. 多对多5.下面哪种约束要求一组属性在同一实体集任意两个不同实体上的取值不同。
A. 键(key)约束。
B. 单值约束。
C. 参照完整性。
D. 域(domain)约束6.关系模型要求各元组的每个分量的值必须是原子性的。
对原子性,下面哪种解释不正确:A.每个属性都没有部结构。
B.每个属性都不可再分解。
C.各属性值应属于某种基本数据类型。
D.属性值不允许为NULL。
7.对于一个关系的属性(列)集合和元组(行)集合,下面哪种说法不正确:A.改变属性的排列次序不影响该关系。
B.改变元组的排列次序不影响该关系。
C.改变元组的排列次序会改变该关系。
D.关系的模式包括其名称及其属性集合。
8.若R是实体集R1与R2间的一个多对多联系,将其转换为关系R',哪种说法不正确:A.R'属性应包括R1与R2的所有属性。
B.R'属性应包括R1与R2的键属性。
C.R1与R2的键属性共同构成R'的键。
D.R'的属性应包括R自身定义的属性。
9.关于函数依赖的判断,下面哪种说法不正确?A.若任意两元组在属性A上一致,在B上也一致,则有A → B成立。
B.若任意两元组在属性A上一致,在B上不一致,则A → B不成立。
C.若任意两元组在属性A上不可能一致,则不管在B上是否一致,有A → B成立。
D.若任意两元组在属性A上不可能一致,则A → B不成立。
10.若某关系R的属性集A函数决定R中所有其它属性,则A为关系R的一个:A.键。
B.主键。
C.超键。
D.外键。
11.当且仅当函数依赖A→BC,则有A→B和A→C。
此规则是A.分解/合并规则。
B.平凡依赖规则。
C.传递规则。
D.增长规则。
12.对于某关系R的某个属性集A,下面哪种说法不正确:A.若属性集A是R的键,则闭包A+是R中所有属性集合。
B.若闭包A+是R中所有属性集合,则属性集A是R的键。
C.若闭包A+是R中所有属性集合,则属性集A是R的超键。
D.当且仅当属性集A是R的超键,闭包A+是R中所有属性集合。
13.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,R总共有几个超键?A.3B.4C.6D.714.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,下面哪个函数依赖不蕴含于已知依赖?A. D→BB. AC→BDC. BC→ADD. BD→AC15.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,该关系若违背BCNF,则应分解成几个关系才能满足BCNF:A.符合BCNF,无需分解B.2个关系C.3个关系D.4个关系16.关系product(prodid,prodname,type,factory)表示所销售的每一种商品的货号、品名、种类及生产厂家,一种商品有唯一货号。
该关系所满足下列最高式是:A 2NF。
B 3NF。
C BCNF。
D 4NF。
17.关系prodsales(salesman,prodid,prodname,quantity,amount)表示销售员销售商品情况:销售员、货号、品名、销售数量及销售金额。
一名销售员可销售多种商品,一种商品可由多名销售员销售。
该关系违背下列最低式是:A.1NF。
B.2NF。
C.3NF。
D.BCNF。
18.关系代数运算中,下面哪种计算可等价表示为其它几种计算的复合形式:A.投影∏B.选择σC.笛卡尔积×D.自然连接∞19.设有关系R(A,B,C)和S(C,D,E),其元组如下所示:πB,E (R ∞A=D S)的值是:20.在学生选课表studentcourse(stdno,courseno,grade)中,查询选修3号课程、且成绩在70和80分之间的学生的学号(stdno)及其成绩(grade)。
实现该功能的SQL 语句是: A .SELECT stdno,grade FROM studentcourse WHERE courseno='3' AND BETWEEN 70<grade<80; B .SELECT stdno,grade FROM studentcourse WHERE courseno='3' AND grade BETWEEN 70 AND 80; C .SELECT stdno,grade FROM studentcourse WHERE courseno='3' AND grade BETWEEN 70,80; D .SELECT stdno,grade FROM studentcourse WHERE courseno='3' AND grade IN(70,80); 21.已知关系R 和S :Select * From RWhere a<>ALL(Select b From S) 结果是;D.语法错22.学生成绩表R 如下Select (score/10)*10 as ScoreLevel, count(no) as num From RGroup by (score/10)*10 Order by ScoreLevel desc; 结果是:23.关于视图view ,下面哪种说法不正确? A.基于一条Select 语句可定义一个视图。
D.语法错B.Create View viewName AS...命令可定义视图。
C.查询视图与查询表在语法上是一样的。
D.Select 语句中的From 子句中视图和表不能同时出现。
24.关系R 如下Select * From R Where a>no*2 OR (a>no*2)is Unknown 结果为25.已知关系如下Select empname,amountFrom salesman Natural Left Outer Join salesorder; 结果为:D.语法错语法错26.关于表的主键约束,下面哪种说法不正确:A.select命令不可能违背主键约束。
B.insert命令可能违背主键约束。
C.delete命令不可能违背主键约束。
D.update命令不可能违背主键约束。
27.关于数据库表中的外键,下面哪种说法不正确:A.表R1到R2有外键,R2到R1同时也能定义外键。
B.同一个表中属性A1到主键属性之间也能定义外键。
C.外键所关联的双方属性应属同种数据类型。
D.一个外键只能在单个属性上定义。
28.在并发性事务环境中,事务1先读取某行数据,随后事务2修改了此行数据并提交,造成事务1再读此行时先后结果不一致。
这种现象被称为:A.(Dirty Reads)脏读B.(Non-repeatable Reads)不可重复读C.(Phantom Rows)幻像行D.事务冲突。
29.关于事务控制,下面哪种说法不正确?mit提交当前事务,并结束当前事务。
B.Rollback退回当前事务,取消本事务已做的数据更新,并结束当前事务。
mit提交当前事务,并释放本事务施加的锁。
D.Rollback退回当前事务,继续持有本事务施加的锁。
30.下面哪一种指令能为用户授权,使其能以一定的权限访问特定的数据库对象。
A.GrantB.RevokemitD.Privilege二、综合题40一个简化的图书馆信息管理系统。
系统需求如下:1.图书馆有若干管理员librarian,各自有员工号empid、name、号idno等属性。
2.图书馆中备有若干种图书booktype,每种图书有ISBN、名称title、publisher、作者writers、价格price等属性,每种图书有唯一的ISBN号,同种图书可购入多本。
3.每一本图书book有唯一标记bookid和种类booktype。
4.读者reader在办理借书证后方可借阅。
一个读者有唯一的借书证号cardno,还有name、号idno、住址address、注销标记logoff等。
读者在注销之前,须归还所有已借图书或报失。
5.需处理以下基本业务:①借书:在某时刻某读者通过某管理员借阅某一本书。
②还书:在某时刻通过某管理员归还某一本书。
③报失:在某时刻某读者向某管理员报失某一本书;报失之后该书不能再借。
每一次还书和报失记录都须对应某一次借书记录,且可由不同管理员处理。
按次序回答下列问题:1.用E/R图建立该系统的数据库模型。
为每个实体集确定键属性,并确定每个联系的多重性。
(8) 2.由E/R模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。
注意各关系中的函数依赖和多值依赖,并使你的关系能符合更高式。
(8)3.基于以上关系模式,用关系代数表示下面计算:(6)1)计算“清华大学”出版的图书名称及作者。
2)计算借书证号为“A00345”的读者未归还的图书名称。
3)计算未处理过借书手续的管理员的员工号及其。
4.使用SQL语言实现上述计算,并使输出结果不重复。
(6)5.使用SQL语言完成下面的计算:(12)1) 增加借书记录: 借书证号为'A00345',通过管理员'E0035'于当前日期借到图书'B00124'。
(提示:today(*)函数返回当前日期)2)还书记录:通过管理员'E0034'于当前日期归还图书'B00124'。
(提示:还书无需确认借书证)3)计算借书证号为“A00345”的读者已借超过30天而未还的图书数量。
(提示:days(d1,d2)函数返回从日期d1到d2的天数)4)计算借书次数最多的读者的和号。
(注意使用视图)5)计算所有图书的ISBN、书名、借阅次数,并按借阅次数从大到小排列。
(注意使用外连接)参考答案1.ER 图(一些非键属性未列出)2.关系模型Librarian(empid, name, idno)3.关系代数运算1) 计算“清华大学”出版的图书名称及作者πtitle,writers(σpublisher=’清华大学’Booktype)NULL 1=return 2=loseNOT NULL2) 计算借书证号为“A00345”的读者未归还的图书名称πtitle(σcardno=’A00345’AND end=NULL(Record∞Book∞Booktype))3) 计算未处理过借书手续的管理员的员工号及其。