《数据库系统概论》作业2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库系统概论》作业2

第三章 关系模式和关系运算

一、假设学生选课数据库如下:

Student (Sno ,Sname ,Age ,Dept )

Couse (Cno ,Cname ,Teacher )

SC (Sno ,Cno ,Score )

用关系代数分别进行如下查询:

(1)学号为9900111的学生的系别和年龄;

(2)有不及格(成绩《60》学生的课程名;

(3)计算机系有不及格课程的学生名单;

(4)学生张林的“数据库原理”课成绩。

答案:

(1)πDept ,Sage (σSno=9900111(Student ))

(2)πCname (σscore<60(SC

Course )

(3)π

Sname (σscore<60(SC σDept =‘计算机系’(Student )

(4)πScore (σsname=‘张林’(Stident SC σCname=‘数据库原理’(Course ))

二、分别用元组关系运算表示习题一中的查询。。

(1)学号为9900111的学生的系别和年龄;

(2)有不及格(成绩《60》学生的课程名;

(3)计算机系有不及格课程的学生名单;

(4)学生张林的“数据库原理”课成绩。

答案:

(1){

}9900111]1[]3[]2[]4[]1[))()(()2(=∧=∧=∧∃s s t s t s Student s t (2){})60]3[]1[]2[]2[]1[)()()(()3()2()1(<∧=∧=∧∧∃∃u c u c t u SC c Course u c t

(3)

{}

)计算机系'']4[60]3[]1[]1[]2[]1[)()()()(()3()4()1(=∧<∧=∧=∧∧∃∃s u s u s t u SC s Student u s t (4)]1[]1[]3[]1[)(()()()()()(({)2()3()4()1(u s u t c Course u SC s Student c u s t

=∧=∧∧∧∃∃∃ }'']2['']2[]1[]2[)数据库原理张林=∧=∧=∧c s c u

三、用数据库逻辑规则表示习题一中的查询。

(1)学号为9900111的学生的系别和年龄;

(2)有不及格(成绩《60》学生的课程名;

(3)计算机系有不及格课程的学生名单;

(4)学生张林的“数据库原理”课成绩。

答案:

(1)S (D,A ←Student(SNo,SN,A,D) AND SNO=9900111

(2)C (CN) ← Course (CNo,CN) AND SC (SNo,CNo,S) AND S<60

(3)S (S,N) ← Student(SNo,SN,A,D) AND SC (SNo,CNo,S) AND D=’计算机系’ AND S<60

(4)U (S) ← Student(SNo,SN,A,D) AND SC (SNo,CNo,S) AND Course (CNo,CN)

AND SN=’张林’ AND CN=’数据库原理’

四、画出习题一中查询(4)的关系代数表达树。

答案:

第四章 数据库语言SQL

五、一个电影资料数据库有三个基本表:电影表Movie (含电影名、制作年份、长度、是否彩色、

制片商)、演员表Actor (含演员姓名、地址、性别、出生年月)和电影主演表Acts (电影名、制作年份、演员姓名)。用AQL 的建表语句建立这三个基本表,有注意合理地选择属性的数据类型。

答案:

CREATE TABLE Movie (

Title CHAR (30),

Year INT ,

Length INT

);

CREATE TABLE Actor (

Name CHAR (20),

Gender V ARCHAR (30),

Length CHAR (1)

Birthdate DATE

CREATE TABLE Acts (

MoiveTitle CHAR(30),

MoiveYear INT,

ActorName CHAR(20)

六、在习题五建立的表的基础上,用SQL实现如下查询或更新操作:

(1)统计1999年制作电影的平均长度和最短长度;

(2)在1999年主演过电影的演员姓名;

(3)所有同名电影各自的电影名和制作年份;

(4)往演员关系Actor插入一个演员记录,具体的数据值由你指定;

(5)把电影“我的世界“的长度改为109分钟;

(6)删除1940年以前制作的所有电影记录以及电影主演记录。

答案:

(1)SELECT A VG (Length),MIN(Length)

FROM Movie

WHERE Year=1999;

(2)SELECT ActorName

FROM Acts

WHERE MovieYear=1999;

(3)SELECT M1.Title,M1.Year,M2.Year

FROM Movie AS M1, Movie AS M2

WHERE M1.Title=M2.Title AND M1.Year

(4)INSERT INTO Actor(Name,Gender)

V ALUES(‘秀兰·邓波儿’,’F’);

(5)UPDATE Movie SET Length=109

WHERE Title=’我的世界’;

(6)DELETE FROM Movie

WHERE Year<1940;

DELETE FROM Acts

WHERE MovieYear<1940;

七、在习题五建立的表但是基础上,要求为Movie关系增加一个属性MovieDirector(电影导演)。

用SQL实现这种关系模式的改变。

答案:

ALTER TABLE Movie

ADD MovieDirector CHAR(20)

八、假设学生炫课数据库如下:

Student(Sno,Sname,Sage,Ssex)

Course(Cno,Cname,Teacher)

SC(Sno,Cno,Grade)

用SQL语句表达下列查询:

(1)找出刘老师所授课程的课程号和课程名。

(2)找出年龄小于22岁女学生的学号和姓名。

(3)找出至少选修刘老师讲的一门课的学生姓名。

相关文档
最新文档