数据库系统概论试题(附答案)

更新时间:2024-06-01 02:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库系统概论试题

一、(每小题4分,共8分)

商店销售商品的数据库,涉及如下数据: 商店号、商店名、地址; 商品号、商品名、单价;

某商店销售某商品的数量和日期。 要求:(1)设计E/R图;

(2)转换成关系模型(注明函数依赖)。 —、(每小题4分,共8分) (1)

(2)商店(商店号,商店名,地址) 商店号→商店名,地址 商店(商品号,商品名,单价) 商品号→商品名,单价

销售(商店号,商品号,数量,日期) 商店号,商品号,日期→数量

二、(每小题4分,共12分) 用SQL的有关语句定义

(1)学生关系S(或Student),包括学号SNo、姓名SN、年龄SA、系别SD; (2)课程关系C,包括课程号CNo、课程名CN、任课教师TN; (3)学生选课关系SC,包括SNo、CNo和成绩G。

注意:说明主键码和外键码(如果有的话). 二、(每小题4分,共12分) (1)CREATETABLE S{

SNo INT PRIMARY KEY, SN CHAR(30), SA INT, SD CHAR(20) };

(2)CREATE TABLE C{

CNo INT PRIMARY KEY, CN CHAR(20), TN CHAR(20) };

(3)CREATE TADLE SC{ SNO INT, CNo INT, G INT,

PRIMARY KEY(5No,CNo),

FOREIGN KEY(SNo)REFERENCES S(SNo), FOREIGN KEY(CNo)REFERENCES C(CNo) };

三、(每小题4分,共8分)

按题2的关系模式,用SQL的有关语句实现

(1)对于学生选课关系SC,授予王小兰查询权限以及对SNo和CNo的插入权限;

(2)从学生选课关系SC中,删除李小冬(学生关系中可能有重名)的所有选课。

三、(每小题4分,共8分)

(1)CRANT SELECT,INSERT(SNo,CNo)ON SCTO王小兰; (2)DELETE FROM SC WHERE SNo IN (SELECT SNo FROM S

WHERE SN=‘李小冬’

);

四、(共6分)

结合题2的关系模式,用SQL语句查询郑老师讲的每门课的学生平均成绩,输出课程号和平均成绩。四、(共6分) SELECT CNo,AVG(G) FROM SC,C

WHERESC.CNo=C.CNoANDTN LIKE‘郑%’ GROUP BY CNo;

五、(共12分)

有关图书发行的关系模型如下:

书店s(书店号SNo,书店名SN,地址A) 图书u(书号BNo,书名T,作者N,价格P) 图书馆L(馆号LNo,馆名LN,城市C) 图书发行SBL(SNo,LNo,BNo,发行量Q) 分别用关系代数和sQL语言表达如下查询:

“松鹤图书馆”(馆名)收藏图书的书名和出售该书的书店名。 五、(共12分)

(2)SELECT T,SN

FROM L,SBL,B,S

WHERE L.LNo=SBL.LNo AND SBL.BNo=B.BNo AND SBL.SNo=5.SNo

AND L.LN=‘松鹤图书馆’

六、(每小题2分,共6分)

按嵌入式SQL的格式插入任一本书的书号BNo、书名T、作者N。

六、(每小题2分,共6分)

(1)说明:EXECSQLBEGIN DECLARESECTION; int bno; chart[30]; char n[20];

char SQLSTATEC6);

EXEC SQL END DECLARE SECTION; (2)赋值:bno:=10001; t:=‘数据库’; n:=‘文敏’;

(3)插入;EXECSQLINSERT INTO B

VALUES(;bno,:t,:n);

七、(每小题4分,共12分)

按题2的关系模式,找出计算机系有不及格课程的学生名单。 (1)用关系代数表达式表达查询; (2)用元组关系演算表达查询;

(3)用数据逻辑规则表达查询。 七、(每小题4分,共12分)

八、(每小题6分,共12分)

涉及到学生、教师和课程的关系模式STC(SNo,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名,年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设教师无重名,且每个教师只教一门课,但一门课可有几个教师同时开设。当某个学生选定某门课后,其上课教师就固定了。要求: (1)写出键码和函数依较(部分依赖可不写);

(2)分解关系模式使之属于BC范式。 八、(每小题6分,共12分)

(1)键码;{SNo,CN}和{SNo,TN}

函数依赖:SNo→SN,SA(BC范式违例) TN→CN(BC范式违例) SNo,CN→TN,G a) SNo,CN→SN,SA SNo,TN→G b) SNo,TN→CN

c) SNo,TN→SN,SA(a,b,c为部分依赖,可不写) (2)STC1(SNo,SN,SA) STC2(TN,CN) STC3(SNo,TN,G)

九、(每小题6分,共12分) 电影数据库涉及如下数据:

电影类包括电影名、制作年份等属性; 演员类包括姓名、性别等属性;

每部电影都可能有多个演员出演,而每个演员都可能出演多部电影。要求: (1)用ODL给出类的说明(包括范围名);

(2)用OQL查询演员魏小华所出演电影的电影名。 九、(每小题6分,共12分) (1)interface Movie (extent Movies)

{ attribute string title; attribute integer year; relationship Setarcs inverse Ad::starredIn; };

interface Act (extent Acts)

{ attribute string name; attribute char sex;

relationship SetstarredIn inverse Movie::acts; };

(2)SELECT m.title

FROM Acts a,a. starredIn m WHERE a. name=‘魏小华’;

十、(每小题6分,共12分)

图书管理数据库关系模型如下:

图书B(书号BN,书名T,作者A,出版社P) 学生S(姓名N,班级C,借书证号LN) 借书L(LN,BN,日期D)

查询:2002.1.1(20020101)}2前借书的学生姓名和书名。 要求:(1)以笛卡尔积为基础表达查询;

(2)画出优化的查询表达树。

十、(每小题6分,共12分)

答案

数据库系统概论模拟试题1

一、(每小题6分,共12分)

(1)用E/R图来描述:由关系模式电影Movie(Title,Year,Type,Length)和演员Actor

(Name,Dinhday)表示的数据库;

(2)在上述E/R图中增加谋杀片(Murder)实体,谋杀片实体属于电影实体,并包含凶器

(Weapon)属性。

一、(每小题6分,共12分) (1)

(2)

二、(共8分)

对于关系模式PrOduce,(name,address,tel)和Prodl:cI(brand,mOdel,price)表示白勺数据库,计算机产品类有了一个笔记本电脑子类,该子类的本身拥有尺寸(长、宽、厚度)、电池型号等属性,试将增加的部分用ODL描述。

二、(共8分)

答: Interface NoteBookPC: Product {

Attribute float Long; Attribute float Width; Attribute float High;

Attribute string Battery--model }

三、(每小题4分,共12分)

针对关系模式Product(PNo,maker,model,type,price) 查询价格大于5000元的产品 要求:

(1)用关系代数进行查询; (2)用域关系演算进行查询; (3)用数据逻辑规则进行查询。

三、(每小题4分,共12分)

四、(共12分)

对于关系Movie(Title,Length,Type,Year),按嵌入式SQL的格式插入任一部电影的电影名、长度、类型、拍摄年代。

四、(共12分)

1)说明:EXEC SQL BEGIN DECLARE SECTION; char title[-30-]; int length; char type[10-] int year;

char SQLSTATE[6];

2)赋值:EXEC SQL END DECLARE SECTION; title: ='手机'; length:=120; type:='color; year: =2004;

3)插入:EXEC SQL INSERT INTO Movie VALUES( :title, :length, :type, :year);

五、(每小题6分,共12分)

假设学生一课程数据库关系模式如下: Student (Sno, Sname, Sage, Ssex); Course(Cno, Cname, Teacher); SC(Sno, Cno, Grade) 。 用SQL语句表达下列查询:

(1) 求林老师讲的每门课的学生平均成绩。

(2) 统计选修各门课的学生认输。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。 五、(每小题6分,共12分) (1) SELECT Cno, AVG(Grade) FROM SC, Course

WHERE SC. Cno=Course. Cno AND 'reacher LIKE '林%' GROUP BY Cno;

(2) SELECT Cno,COUNT( * ) FROM SC

GROUP BY Cno

ORDER BY COUNT( * ) DESC,Cno;

六、(每小题4分,共8分) 已知关系R和S如下:

六、(每小题4分,共8分) 答案:

七、(每小题6分,共12分) 关系模式如下:

商品P(PNO,PN,COLOR,PRlCE) 商店S(SNO,SN,CITY) 销售SP(PNO,SNO,QTY) 用SQL写出查询程序:

(1)查询与商品“TV”颜色相同的商品名PN; (2)不销售商品P2(商品号)的商店名SN。

八、(第一小题4分,第二小题8分,共12分)

1.设某航班某日尚有余票50张,甲预订10张,乙预订20张,若按如下顺序执行有何问题?如何实现并发控制?

九、(每小题6分,共12分)

有关产品类(Product)及其子类PC机(PC)的ODI。描述如下:Product类有四个属性:型

号model、制造商maker、类型type(PC、便携式电脑)、价格price。假设型号对于所有制造商和产品类型都是唯一的。

PC机子类有四个属性:速度speed(指处理器的速度,以兆赫计算)、内存ram容量(以兆字节计算)、硬盘hd容量(以千兆字节计算)和屏幕尺寸screen(以英寸计算)。 要求:

(1)用ODL给出类的说明;

(2)用OQL写出下列查询:

1)找出价格在9000元以上的所有PC机型号。

2)找出内存至少128M字节、屏幕15英寸的所有PC机的型号。

试题答案及评分标准 (供参考)

数据库系统概论模拟试题2

一、请为顾客定购零件设计一个数据库,要求包括零件和顾客的信息。(共12分)

零件的信息包括零件名、零件号、重量、颜色、单价、供应商; 顾客的信息包括顾客名、顾客号、地址、电话; 定购需要记录数量和价格。

要求:将数据库用E/R图来描述。

一、(共12分)

二、用SQL的有关语句定义(每小6分,共18分)

1)图书Book,包括图书编号Book ID、图书名称Title、图书作者Author、出版社Publisher;

2)学生Student,包括学生编号ID、学生姓名Name、系Dept;

3)学生借书关系Lend,包括学生编号ID、图书编号Book ID、借阅时间L Date。 注意:说明主键码和外键码(如果有的话)。 二、(每小题6分,共l2分) 1) CREATE TABLE BOOK

Book ID varchar(20) PRIMARY KEY, Title varchar($0), Author varchar($0), Publisher varchar(50)

};

2) CREATE TABLE Student{

ID CHAR(10) PRIMARY KEY, Name varehar (20), Dept varchar (20)

3) CREATE TABLE Lend{ Std ID CHAR(6),

Book ID varehar (20 ) , L Date date time,

PRIMARY KEY (Std ID,BooklD),

FOREIGN KEY (Std ID) REFERENCES Student (ID),

FOREIGN KEY (Book ID) REFERENCES Book (Book ID)

};

三、(每小题7分,共14分)

按题2的关系模式,用SQL的有关语句

1)增加学生张京京,编号是100200036,化学系; 2)从学生借书关系Lend中,删除苏明所借的所有书。 四、(共8分)

结合题2的关系模式,用SQL语句查询借阅《数据库基础》的学生的姓名和编号并输出。

五、(每小6分,共12分) 关系模式如下:

学生S(SNO,SN,SEX,AGE);

课程C(CNO,CN,PCNO)PCNO为直接先行课号 选课SC(SNO,CNO,GR);GR为课程考试成绩 用SQL写出查询程序;

1)选修课程DB的学生姓名SN, 2)所有学生都选修的课程名CN。

六、(共12分)

对于关系Movie(Title,Length,Type, Year),按嵌入式SQL的格式插入任一部电影的电影名、长度、类型,拍摄年代。

七、(共12分)

设某航班某日尚有余票50张,甲预订10张,乙预订20张,若按如下顺序执行有何问题?如何实现并发控制? 八、(每小6分,共12分)

对于电影关系Movie(title,year,length,in Color,studio Name)中的属性,写出下列约束:

1)年份不能在1895年以前;

2)电影长度不能短于60,也不能长于240。 七。(共12分)

若按上述顺序执行,则最后的余票为30,显然不对,因为正确结果应为20。这种错误属于“丢失修改”,即把甲写回的数据丢失了。应采用封锁机制实现并发控制,具体修改如下:

试题答案及评分标准 (供参考)

数据库系统概论模拟试题3

一、请为顾客定购零件设计一个数据库,要求包括零件和顾客的信息。(共12分) 零件的信息包括零件名、零件号、重量、颜色、单价、供应商; 顾客的信息包括顾客名、顾客号、地址、电话; 定购需要记录数量和价格。

要求:将数据库用E/R图来描述。 一、(共12分)

二、用SQL的有关语句定义(每小题s分,共18分)

1)商店关系(S),包括商店号SNo、商店名SName、地址SAdd;

2)商品关系(P),包括商品号PNo、商品名PName、单价PPrice;

3)商店销售商品关系(scll),包括某商店销售某商品的数量Sell_Number、日期Sell_Date。

注意:说明主键码和外键码(如果有的话)。 二、(每小题6分,共18分) 1)

CREATETABLE S{

SNo INT PRIMARY KEY, SName CHAR(30), SAdd CHAR(20)

}; 2)

CREATE TAHLE P(

PNo INT PRIMARY KEY, PName CHAR(30), PPrice CHAR(30) }; 3)

CREATE TABLE Sell( SNo INT, PNo INT,

Sell—Number CHAR(30), SellDate DATE,

PRIMARY KEY(SNo,PNo),

POREIGN KEY(SNo)REFERENCES S(SNo), FORElGN KEY(PNo)REFERENCES P(PNo) };

三、结合题2的数据库,用SQL的有关语句(每小题6分,共18分)

1)针对商店销售商品关系Sell,授予“大中电器商店”查询权限以及对SNo和PNo的插入权限;

2)在商品关系P的键码属性上建立索引;

3)删除编号为1200236的商品所有的有关数据。 三、(每小题6分,共18分)

1)GRANTSELECT,lNSERT(SNo,PNo)ON Sell TO大中电器商店; 2)CREATE INDEX PNOIndex ON P(PNO); 3)DELETE FROM Sell WHERE PNo=1200236; DELETE FROM P

WHERE PNo=1200236;

四、(共12分) 设T1、T2、T3是如下三个事务;T1:A=A+2,T2:A=A*2,T3:A=A**2,A的初值为1。设T1、TZ和T3可以并发执行,并对其操作的顺序不加限制,则它们的并发执行可能产生哪几种结果(写出最后的A值)。

四、(共12分)

答:T1、T2和T3并发执行可能产生如下6种结果: 操作顺序 最后的A值 T1 T2 T3 36 T1 T3 T2 18 T2 T1 T3 16 T2 T3 T1 6 T3 T1 T2 6 T3 T2 T1 4 五、关系模式如下: (共6分) 学生S(SNO,SN,SEX,AGE) 用SQL写出查询程序,

查询年龄(AGE)大于“张三”年龄的学生姓名和年龄。

五、(共6分)

答: SELECT S.SN,S.AGE FROM S,S AS SX

WHERE S.AGE>SX.AGE ANDSX.SN=‘张三’;

六、(第一小题8分,第二小题10分,共18分) 从学生选课数据库中查询选修“JAVA程序设计”课并且成绩在90分以上的学生名单,

SQL语句序列如下: SELECT StudentName

FROM Student,Course,StudentCourse

WHERE Student.StudentNo=StudentCourse.StudentNo AND Course。CourseNo=StudentCourse.CourseNo

ANDCourse.CourseName='JAVA程序设计'ANDStudentCourse.Score>90, (1)画出这个查询的关系代数语法树;

(2)对该语法树进行优化。

六、(第一小题8分,第二小题lo分,共18分) 答: 1)

2) a)

Course-CourseName=’JAVA

程序设计’

ANDStudentCourse.Score>90

Course.CourseName=’JAVA程序设计’

和StudentCourse.Score>90

b)

c)

七、(每小题8分,共16分)

结合题2的关系模式,按如下要求找出编号为3052089商品的商品名和单价。 1)用关系代数表达式表达查询; 2)用数据逻辑规则表达查询。

七、(每小题8分,共16分) 1) 2)

数据库系统概论模拟试题4

一、(每小题6分,共12分)

请为图书馆设计一个数据库,要求包括图书和借书人的信息。图书的信息包

括书号、书名、作者、定价、位置;借书人的信息包括姓名、借书证号、单位;借书需要记录借书日期。

要求:1.将数据库用E/R图来描述;2.转换成关系模型并注明函数依赖。 一、(每小题6分,共12分)

2.

图书(书号,书名、作者,定价,位置) 书号一一→书名、作者、定价、位置

借书人(借书证号,姓名,单位) 借书证号一→姓名、单位

借书(书号,借书证号,借书日期) 书号,借书证号一→借书日期

二、用SQL语言定义(每小题6分,共24分)

1.学生关系S,包括学号SNo、姓名SN、年龄SA、系别引)。 2.课程关系C,包括课程号CNo、课程名CN、学分CC。 3.学生选课关系SC,包括SNo、CN。和成绩C。 注意:说明主键码和外键码(如果有的话)。

4.用SQL语句查向每个学生的总成绩,输出学号和总成绩,按总成绩排序(降序),若总成绩相同,冉按学号排序(升序)。 二、(每小题6分,共24分) 1.CREATE TABLES{

SNo INT PRIMARY KEY, SN CHAR(30), SA INT, SD CHAR(20) };

2.CREATE TAHLEC{

CNO INT PRIMARY KEY, CN CHAR(20), CC INT

};

3.CREATE TABLE SC{ SNO INT, CNo INT, G INT,

PRIMARY KEY(SNo,CNo),

FOREIGN KEY(SNo)REFERENCES S(SNo), FOREIGN KEY(CNo)REFER正NCES C(CNO) }; 4.

SELECT SNo,SUM(G) FRUM SC

GROUP BY SNo

ORDER BY SUM(G) DESC,SNO

三、(每小题6分,共12分)

假设学生一课程数据库关系模式如下: Student(Sno,Sname,Sage,Ssex); Course(Cno,Cname,Teacher); SC(Sno,Cno,Grade)。 用SQL语句表达下列查询:

1.求张老师讲的每门课的学生平均成绩。

2.统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。 三、(每小题6分,共12分) 1.

SELECT Cno,AVG(Grade) FROM SC,Course

WIIERE SC.Cno=Course.Cno AND Teacher LIKE‘张%’ GROUP BY Cno; 2.

SELECT Cno,COUNT(·) FROM SC

GROUP BY Cno

ORDER BY COUNT(·)DESC,Cno; 四、(每小题8分,共1G分)

四、(每小题8分,共16分)

假设学生选课数据库关系模式如下: Student(SNo,SName,SAge,SDept); Course(CNo,CName); SC(SNo,CNo,Score);

1.用关系代数进行如下查询:学生王芳的“计算机组成原理”课成绩。 2.用数据逻辑规则进行如厂查询:学号为20020202的学生的系别和年龄。

五、(共18分)

设T1、T2、T3是如下三个事务:

T1:A=A+2,T2:A=A X 2,T3:A=A XX 2,A的初值为1。

设T1、T2和T3可以并发执行,并对其操作的顺序不加限制,则它们的并发执行可能产生哪几种结果(写出最后的A值)。 五、(共18分)

答:Tl、T2和T3并发执行可能产生如下6结果:

六、(第l小题10分,第2小题日分,共18分)

电影数据库涉及如下数据:

电影类(Movie)包括电影名(Title)、制作年份(Year)等属性;

制片公司类(Studio)包括制片公司名称(Pname)、地址(Add)、电话(Tel)等属性;

每部电影都可能山多个制片公司多次制作,而每个制片公司都可能制作多部电影。

1.用ODL给出类的说明(包括范围名);

2.用OQL查询\上海电影制片公司”所制作电影的基本情况。 六、(第1小题10分,第2小题8分,共18分)

答:1. interface Moive (extent Movies)

{ attribute string Title; attribute Inteeer Year;

relationship Setownedby inverse Studio::owns; };

interface Studio (extent Studios)

{ attribute string Pname; attnbute string Add;

attribute string Tel;

relationship Setowns inverse Movie::ownedby; );

2.SELECT m

FROM Studios a,a.owns m

WHERE a.Pname=‘上海电影制片公司’;

本文来源:https://www.bwwdw.com/article/56s6.html

Top