【www.tuzhexing.com--计算机类】
1.用SQL的有关语句定义(12分)
1)学生关系Student,包括学号Sno、姓名SN、年龄SA;
2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT;
3)学生选课关系,包括Sno、Cno和成绩G。
注意:说明主键码和外键码(如果有的话),并在键码属性上建立索引。
2.按题1的学生关系模式,用SQL的有关语句(12分)
1)授予赵华对学生关系Student的插入和修改权限;
2)插入任意3个学生的完整信息;
3)修改所有学生的年龄(加1)。
3.结合题1定义的学生选课数据库,用SQL语句查询计算机系学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序),若成绩相同,再按学号排序(升序)。(6分)
4.已知关系R、S如下所示,求域演算表达式的结果。(4分)
R S
A B C D E F
a c 5 4 d 8
b d 3 5 a 1
m e 4 3 e 2
6.商店销售商品的数据库,涉及如下数据:(12分)
商店号、商店名、地址
商品号、商品名、单价。
某商店销售某商品的数量和日期。
1)设计E/R图(属性名用中、英文均可);
2)转换成关系模型(注明键码和函数依赖)。
7.有关图书发行的关系模型如下:(12分)
书店S(书店号SNo,书店名SN,地址A)
图书B(书号BNo,书名BN,价格P)
图书馆L(馆号LNo,馆名LN,城市C)
图书发行LBS(LNo,BNo,SNo,发行量Q)
分别用关系代数和SQL语言表达如下查询:
图书馆L4(馆号)收藏图书的书名和出售该书的书店名。
8.图书管理数据库关系模型如下:(12分)
图书B(书号BN,书名T,作者A,出版社P)
学生S(姓名N,班级C,借书证号LN)
借书L(LN,BN,日期D)
查询:2001.1.1(20010101)以前借书的学生姓名和书名。
求:1)以笛卡尔积为基础表达查询要求;
2)画出原始语法树;
3)画出优化语法树。
9.写出3个关系模式分别满足:(12分)
1)是1NF,不是2NF;
2)是2NF,不是3NF;
3)是3NF,也是BCNF;
各用两句话分别说明你所写的关系模式是前者,不是(或也是)后者。
10.电影数据库涉及如下数据:电影类包括电影名、制作年份、电影长度等属性,演员类包括姓名、年龄、地址等属性,每部电影都可能有多个演员出演,而每个演员都可能出演多部电影。(12分)
1)用ODL给出类的说明;
2)用OQL查询演员张晓丽所出演的电影的电影名和制作年份。
1.1) CREATE TABLE Student(
Sno INT PRIMARY KEY,
SN CHAR(30),
SA INT
);
2) CREATE TABEL Course(
Cno INT PRIMARY KEY,
CN CHAR(30),
CT CHAR(30)
);
3) CREATE TABEL SC(
Sno INT,
Cno INT,
G INT,
PRIMAYR KEY(S Sno,Cno),
FOREIGN KEY(Sno) REFERENCES Student(Sno),
FOREIGN KEY(Cno) REFERENCES Course(Cno)
);
2.1) GRANT INSERT, UPDATE, ON Student TO 赵华;
2) INSERT INTO Student
(TABLE (01001,‘赵华"",19),
(01002,’李芳‘,18),
(01003,’刘红‘,20),
);
3) UPDATE Student
SET SA=SA+1;
3.SELECT SN,G
FROM Student,Course,SC
WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno
AND Course.CN=’数据库‘
ORDER BY G DESC,Sno;
4.R1 X Y Z
a c 5
b d 3
m e 4
4 d 8
5.1) 说明:EXEC SQL BEGIN DECLARE SECTION;
int sno;
char sname[30];
int sage;
char SQLSTATE[6];
EXEC SQL END DECLARE SECTION;
2) 赋值:sno:=01001;
sname:=’赵华‘;
sage:=19;
3) 插入:EXEC SQL INSERT
INTO Student
VALUES(:sno,:sname,:sage);
6.1)
2) 商店(商店号,商店名,地址)商店号→商店名,地址
商品(商品号,商品名,单价)商品号→商品名,单价
销售(商店号,商品号,数量,日期)商店号,商品号→数量,日期
7.1) π BN,SN(σ LNo=L4(BLBSS))
2) SELECT BN,SN
FROM B,LBS,S
WHERE B.BNo=LBS.BNo AND LBS.SNo=S.SNo
AND LBS.LNo=L4;
8.1) π N,T(σ D=20010101(S × L × B))
2)
9.1) 学生选课(学号,姓名,课程号,成绩)
属性不可分,是1NF;存在非主属性对键码的部分依赖(学号,课程号姓名),不是2NF。
2) 学生(学号,姓名,系别,系主任)
键码为单属性,不存在部分依赖,是2NF;存在非主属性对键码的传递依赖(学号→姓名,系别;系别学号;系别→系主任;学号系主任),不是3NF。
3) 学生(学号,姓名,年龄)
非主属性(姓名,年龄)对键码不存在部分依赖和传递依赖,是3NF;
主属性(学号)对键码也不存在部分依赖和传递依赖,是BCNF。
10.1) interface Movie{
attribute string title;
attribute integer year;
attribute integer length;
relationship Set (Act) acts
inverse Act::starredIn;
};
interface Act{
attribute st ring name;
attribute integer age;
attribute string address;
relationship Set
inverse Movie::acts;
};
2) SELECt m.title m.year
FROM Act a, a.starredIn m
WHERE a.name=“张晓丽”;