数据库系统原理设计题和综合体

1、设教学数据库中有三个关系:
学生关系 S(S#,SNAME ,AGE,SEX,DEPT),其属性分别表示学号、姓名、年龄、性别、所在系。
课程关系 C(C# ,CNAME ,TEACHER) ,其属性分别表示课程号、课程名、任课教师名。
选课关系 SC(S#,C#,GRADE} ,其中 GRADE 表示成绩。
请用关系代数表达式表达下面的查询。
检索选修课程号为“ C2”的学生的学号和姓名。
在这里插入图片描述

2、在 36 题的基本表中,试用 SQL 语句完成下面操作:
查询与张明同一个系的学生信息。
在这里插入图片描述

3、在 36 题的基本表中,试用 SQL 语句完成下面操作:
删除学号为“ 95002”的学生选修的课程号为“ C2”的记录。
在这里插入图片描述

4、在 36 题的基本表中,试用 SQL 语句完成下面的操作:
建立数学系学生的视图 C_STUDENT ,并要求进行修改和插入数据时, 仍需保证该视图只有数学系的学生。视图的属性名为: S#,SNAME ,AGE ,DEPT。
在这里插入图片描述

5、在 36 题的基本表中,试用 SQL 语句查询每个学生已选修课程的门数及平均成绩。
在这里插入图片描述

6、设某工厂数据库中有四个实体集。一是“仓库”实体集,属性有仓库号、仓库面积等;

二是“零件”实体集,属性有零件号、零件名、规格、单价等;三是“供应商”实体集,
属性有供应商号、供应商名、地址等;四是“保管员”实体集,属性有职工号、姓名等。
设仓库与零件之间有 “存放”联系, 每个仓库可存放多种零件,每种零件可存放于若
干仓库中,每个仓库存放每种零件要记录库存量;供应商与零件之间有“供应”联系,一
个供应商可供应多种零件, 每种零件也可由多个供应商提供, 每个供应商每提供一种零件要记录供应量;仓库与保管员之间有“工作”联系,一个仓库可以有多名保管员,但一名
保管员只能在一个仓库工作。
(1)试为该工厂的数据库设计一个 ER 模型,要求标注联系类型,可省略实体属性。
(2)根据转换规则,将 ER 模型转换成关系模型,要求标明每个关系模式的主键和外键。

在这里插入#图片描述

7、设有一个反映职工每月超额完成生产任务的关系模式:

R(日期,职工号,姓名,工种,额定工作量,本月超额)
如果规定: 每个职工只隶属于一个工种, 每个工种的额定工作量惟一, 每个工种的职工有多人。
( 1)根据上述规定,写出模式 R 的基本 FD 和关键码。
( 2)R 最高属于第几范式,并说明理由。
( 3)将 R 规范到 3NF。

在这里插入图片描述

8、设有学生表 S(SNO,SN)(SNO为学生号,SN为姓名 )和学生选修课程表 SC(SNO,CNO,CN,G)(CNO
为课程号, CN为课程名, G为成绩 ),试用 SQL语言完成以下各题:
(1) 建立一个视图 V-SSC(SNO,SN,CNO,CN,G),并按 CNO升序排序;
(2) 从视图 V-SSC上查询平均成绩在 90分以上的 SN、CN和 G。
1: 参考答案: (1)CREATE SQL VIEW V-SSC(SNO ,SN,CNO,CN,G)

AS SELECT S.SNO,S.SN,CNO,SC,SC.G
FROM S,SC
WHERE S.SNO=SC.SNO
ORDER BY CNO
(2)SELECT SN,CN,G
FROM V-SSC
GROUP BY SNO
HAVING AVG(G)>90

9、数据模型如下:
商店 S(SNO, SNAME , CITY)
商品 P(PNO, PNAME , COLOR)
销售 SP(SNO, PNO, DATE, QTY)
用 SQL完成查询:只销售红色商品的商店名。
1: 参考答案: 数据模型如下:
商店 S(SNO, SNAME, CITY)
商品 P(PNO, PNAME, COLOR)
销售 SP(SNO, PNO,DATE, QTY)
用 SQL完成查询:
只销售红色商品的商店名:
SELECTSNAME
FROMS
WHERESNOIN
(SELECTSNO
FROMSP
WHERE NOT EXISTS
(SELECT*
FROMP
WHERECOLO ″RED″
ANDPNO =SP.PNO))

10、试用 SQL更新语句表达对教学数据库中三个基本表 S、SC、C的各个更新操作:
(1) 往基本表 S中插入一个学生元组 ( ‘S9’,‘WU’,18)。
(2) 在基本表 S中检索每一门课程成绩都大于等于 80分的学生学号、姓名和性别,并把检索到的值送
到另一个已存在的基本表 STUDENT (S#,SNAME,SEC) 。
(3) 在基本表 SC中删除尚无成绩的选课元组。
(4) 把 WANG 同学的学习选课和成绩全部删除。
(5) 把选修 MATHS课不及格的成绩全改为空值。
(6) 把低于总平均成绩的女同学成绩提高 5%。
(7) 在基本表 SC中修改 C4课程的成绩,若成绩小于等于 75分时提高 5%,若成绩大于 75分时提高 4%(用
两个 UPDATE语句实现 ) 。
1: 参考答案: (1)INSERT INTO S(S#,SNAME,AGE,SEX)
VALUES(′S9′, ′WU′,18, ′F′);
(2)INSERT INTO STUDENT(S#,SNAME,SEX)
第 11 页
SELECT S.S#,SNAME,SEX
FROM S,SC
WHERE S.S#=SC.S# AND GRADE>=80;
(3)DELETE FROM SC
WHERE GRADE IS NULL
(4)DELETE FROM SC
WHERE S# IN(SELECT S#)
FROM S
WHERE SNAME= ′WANG ′)
(5)UPDATE SC
SET GRADE=NULL
WHERE GRADE<60;
(6)UPDATE SC
SET GRADE=GRADE1.05
SET GRADE<(SELECT AVG(GRADE)
FROM SC
WHERE S# IN(SELECT S#
FROM S
WHERE SEX= ′F′));
(7)UPDATE SC
SET RAGE=GRADE
1.04
WHERE 75<=(SELECT AVG(GRADE)
FROM SC);
UPDATE SC
SET GRADE=GRADE*1.05
WHERE 75>=(SELECT AVG(GRADE)
FROM SC);

11、
在这里插入图片描述

一个已存在的表 STUDENT(S#,SNAME,SEX)在基本表 S中检索每一门课程成绩都大于 80分的学生学号、 姓名和性别, 并把检索到的值送到另
在这里插入图片描述

12、在基本表 SC中删除尚无成绩的选课元组
在这里插入图片描述

把 WANG 同学的学习选课和成绩全部删去。
在这里插入图片描述

13、把选修 MATHS课不及格的成绩全改为空值。
在这里插入图片描述

14、把低于总平均成绩的女同学成绩提高 5%。
在这里插入图片描述

15、在基本表 SC中修改 C4课程的成绩,若成绩小于等于 75分时提高 5%,若成绩大于 75分时提高 4%(用两个 UPDATE语句实现 )。
在这里插入图片描述

16、

在这里插入图片描述

17、
在这里插入图片描述

在这里插入图片描述

18、在这里插入图片描述

在这里插入图片描述

19、
在这里插入图片描述

在这里插入图片描述

20、
在这里插入图片描述

在这里插入图片描述

21、设关系模式 R(A,B,C,D,E,G),
F={ABC,CA,BCD,ACDB ,DEG,BEC,CGBD ,CEAG}
求F的最小覆盖。
(1).
答案:
在这里插入图片描述

22、设有学生表 S(SNO,SN)(SNO为学生号, SN为姓名 ) 和学生选修课程表
SC(SNO ,CNO,CN,G)(CNO为课程号, CN为课程名, G为成绩 ) ,试用 SQL语言完成以下各题:
(1) 建立一个视图 V-SSC(SNO ,SN,CNO,CN,G),并按 CNO升序排序;
(2) 从视图 V-SSC上查询平均成绩在 90分以上的 SN、CN和G。

答案: (1)CREATE SQL VIEW V-SSC(SNO ,SN,CNO,CN,G)
AS SELECT S.SNO ,S.SN,CNO,SC.CN,SC.G
FROM S ,SC
WHERE S.SNO=SC.SNO
ORDER BY CNO
(2)SELECT SN,CN,G
FROM V-SSC
GROUP BY SNO
HAVING AVG(G)>90

23、
在这里插入图片描述
在这里插入图片描述

24、37.依据 36 题的关系模式, 建立一个包含 Sno、Sname、Aname和 Date
的视图 ST。
在这里插入图片描述

25、38.依据 36 题的关系模式,试用 SQL语言查询每个协会的协会编号
和学生数,并按人数降序排列。
在这里插入图片描述

26、39.依据 36 题的关系模式,试用 SQL语言查询没有参加任何协会的
学生姓名和所在系
在这里插入图片描述

27、40.依据 36 题的关系模式,试用关系代数查询计算机系的学生姓名
和年龄
在这里插入图片描述

28、41.设某家电公司售后服务系统中有一个记录安装工人日工作量的关
系模式:
R(员工编号,姓名,电话,产品型号,日期,安装数量 )
如果规定:员工每天可安装多种产品, 并按不同产品型号统计安装数
量。
(1) 写出关系模式 R的基本 FD和关键码。
(2)R 最高属于第几范式。
(3) 将 R规范到 3NF。
42.某商业集团的商品进销存系统中,涉及的部分信息如下:
(1) 商品:商品号、商品名、规格、计量单位。
(2) 供应商:供应商号、供应商名、地址。
(3) 商店:商店号、商店名、地址。
(4) 客户:客户号、客户名、地址。
其中,每个供应商可供应多种商品, 每种商品也可向多个供应商订购,
订购时要记录订购单价和订购数量; 每个商店可向多个客户销售多种
商品,每个客户可以从多个商店购买多种商品, 每种商品也可在多个
商店销售给多个客户, 商品销售时要记录销售单价、 销售数量和销售
日期。
(1) 建立一个反映上述局部应用的 ER模型,要求标注联系类型 ( 可省
略实体属性 )。
(2) 根据转换规则,将 ER模型转换为关系模型。
在这里插入图片描述

29、42.某商业集团的商品进销存系统中,涉及的部分信息如下:
(1) 商品:商品号、商品名、规格、计量单位。
(2) 供应商:供应商号、供应商名、地址。
(3) 商店:商店号、商店名、地址。
(4) 客户:客户号、客户名、地址。
其中,每个供应商可供应多种商品, 每种商品也可向多个供应商订购,
订购时要记录订购单价和订购数量; 每个商店可向多个客户销售多种
商品,每个客户可以从多个商店购买多种商品, 每种商品也可在多个
商店销售给多个客户, 商品销售时要记录销售单价、 销售数量和销售
日期。
(1) 建立一个反映上述局部应用的 ER模型,要求标注联系类型 ( 可省
略实体属性 )。
(2) 根据转换规则,将 ER模型转换为关系模型。
在这里插入图片描述

30、
在这里插入图片描述
31、
在这里插入图片描述
32、
在这里插入图片描述
33、
在这里插入图片描述

34、
在这里插入图片描述

35、
在这里插入图片描述

36、
在这里插入图片描述

37、
在这里插入图片描述

38、
在这里插入图片描述
在这里插入图片描述

39、四、设计题(本大题共 5 小题,每小题 4 分,共 20 分)

设一个图书借阅管理数据库中包括三个关系模式:
图书(图书编号,书名,作者,出版社,单价)
读者(借书证号,姓名,性别,单位,地址)
借阅(借书证号,图书编号,借阅日期,归还日期,备注)
用 SQL 语句完成下面 36-39 题。
36.查询价格在 50 到 60 元之间的图书,结果按出版社及单价升序排列。
SELECT * FROM FORM 图书
WHERE 单价 BETWEEN 50 AND 60;
37.查询王明所借阅的所有图书的书名及借阅日期。
SELECT 图名 ,借阅日期
FROM 读者 ,借阅 ,图书
WHERE 读者 .姓名 =’王明 ’
AND 图书 .图书编号 =借阅 .图书编号
AND 读者 .借书证号 =借阅 .借书证号 ;
38.查询各个出版社图书的最高价格、最低价格和平均价格。
39.建立“红星汽车厂”读者的视图 RST。
40.依据 36 题的关系模式,用关系代数表达式检索借阅“高等数学”的读者姓名。
在这里插入图片描述
40、设有一个记录职工历次体检情况的关系模式:
R(职工号,姓名,部门号,体检日期,体检医院,总检结果,体检项目,分项结果)
说明:体检医院不固定,总检结果是指对体检结果的总体评价。
(1)写出模式 R 的基本 FD 和关键码。
职工号 姓名;
职工号 部门号;
职工号,体检日期 体检医院;
职工号,体检日期 总检结果
职工号,体检项目,体检日期 分项结果;
(2)R 最高属于第几范式?
1NF
(3)将 R 规范到 3NF。
职工信息表 (职工号,姓名,部门号)
职工体检结果总表 (职工号,体检日期,体检医院,总检结果)
职工体检分项结果表 (职工号,体检日期,体检项目,分项结果)
在这里插入图片描述

41、
某课程的计算机模拟考试系统涉及的部分信息如下:
用户:用户号、姓名、密码。
试题:试题编号、试题内容、知识点、难度系数、选项 A、选项 B、选项 C、选项 D、
答案。
试卷:试卷编号、生成时间。
说明:允许用户多次登录系统进行模拟测试;每次登录后,测试试卷由系统自动抽题随机生成,即每次生
成试卷均不相同;每份试卷由若干试题组成;系统要记录每次测试的起始和结束时间,以及测试成绩。
(1)建立一个反映上述局部应用的 ER 模型,要求标注联系类型(可省略实体属性) 。
(2)根据转换规则,将 ER 模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在) 。
在这里插入图片描述
42、
在这里插入图片描述
在这里插入图片描述
43、
在这里插入图片描述
44、
在这里插入图片描述
45、
在这里插入图片描述
在这里插入图片描述

46、41.为体育部门建立数据库,其中包含如下信息:
(1) 运动队:队名、主教练,其中队名惟一标识运动队。
(2) 运动员:运动员编号、姓名、性别、年龄。
(3) 运动项目:项目编号、项目名、所属类别。
其中:每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加
多个项目,每个项目可以有多个运动员参加。系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。
(1) 根据以上叙述,建立 ER模型,要求标注联系类型。 ( 实体的属性可以省略 )
(2) 根据转换规则,将 ER模型转换成关系模型,要求标明每个关系模式的主键和外键(如果存在) 。
在这里插入图片描述
在这里插入图片描述
47、42.设有一个反映工程及其所使用相关材料信息的关系模式:
R(工程号,工程名,工程地址,开工日期,完工日期,材料号,材料名称,使用数量 )
如果规定:
每个工程的地址、开工日期、完工日期惟一;不同工程的地址、开工和完工日期可能相同;
工程名与材料名称均有重名;
每个工程使用若干种材料,每种材料可应用于若干工程中。
(1) 根据上述规定,写出模式 R的基本 FD和关键码。
(2)R 最高达到第几范式,并说明理由。
(3) 将 R规范到 3NF。
在这里插入图片描述
48、
在这里插入图片描述
在这里插入图片描述
49、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

50、
四、设计题 ( 本大题共 5 小题,每小题 4 分,共 20 分)
已知有如下三个关系:
学生 (学号,姓名,系别号 )
项目 (项目号,项目名称,报酬 )
参加 (学号,项目号,工时 )
其中,报酬是指参加该项目每个工时所得报酬。
依据此关系回答下面 36~40 题。
全国自考数据库系统原理历年试题及答案 (2008–2013)
3 / 56
36.试用关系代数表达式写出下列查询:
列出“王明”同学所参加项目的名称。
答:π项目名称 ( б姓名 =’ 王明 ’ (学生∞参加∞项目) )
37.试用 SQL语句写出下列查询:
列出报酬最高的项目编号。
答: select 项目编号
from 项目,
Where 报酬 =(SELECT MAX (报酬) FROM 项目)
38.试用 SQL语句写出下列查询:
列出每个系所有学生参加项目所获得的总报酬。
答: SELECT 系别号, SUM(报酬 *工时)
FROM 学生,项目,参加
WHERE 学生 .学号 =参加 . 学号 AND
项目 . 项目号 =参加 . 项目号
GROUP BY 系别号
39. 试用 SQL语句查询报酬大于 800 元(包括 800 元)的项目名称。
答: SELECT 项目名称
FROM 项目
WHERE 报酬 >=800
40.试用 SQL命令创建一个学生 _项目视图,该视图包含的属性名称为:学号,姓名和项目名称。
答: CREATE VIEW 学生项目(学号,姓名,项目名称)
AS
SELECT 学生 . 学号,姓名,项目名称
FROM 学生,项目,参加
WHERE 学生 . 学号 =参加 . 学号 AND
项目 . 项目号 =参加 . 项目号

51、
在这里插入图片描述
在这里插入图片描述
52、
在这里插入图片描述
在这里插入图片描述
53、
在这里插入图片描述
54、
在这里插入图片描述
在这里插入图片描述
55、
在这里插入图片描述
答 :
在这里插入图片描述
56、
在这里插入图片描述
在这里插入图片描述
57、
在这里插入图片描述
在这里插入图片描述
58、
在这里插入图片描述
在这里插入图片描述
59、
在这里插入图片描述
答 :
在这里插入图片描述
60、
在这里插入图片描述
答:
在这里插入图片描述
在这里插入图片描述
61、
在这里插入图片描述
答 :
在这里插入图片描述

62、
在这里插入图片描述
答 :
在这里插入图片描述
63、
在这里插入图片描述
答 :
在这里插入图片描述
64、
在这里插入图片描述
65、
在这里插入图片描述
66、
在这里插入图片描述
67、
在这里插入图片描述
在这里插入图片描述
68、
在这里插入图片描述
69、
在这里插入图片描述
70、
在这里插入图片描述
答 :
在这里插入图片描述
71、
在这里插入图片描述
答 :
在这里插入图片描述
72、
在这里插入图片描述
73、
在这里插入图片描述
在这里插入图片描述
74、
在这里插入图片描述
在这里插入图片描述
75、
在这里插入图片描述
答 :
在这里插入图片描述
76、
41.假设有一关系模式 R(学号,姓名,系名,系主任,课程号,课程名,成绩 ) 其中:每个
系只有一位系主任; 每个学生学习多门课程, 每个课程多个同学选修, 每个同学的每门课程
只有一个成绩。
(1) 根据上述条件,写出关系模式 R的关键码。
(2)R 最高属于第几范式,为什么 ?
(3) 将 R规范到 3NF。
42.设有如下实体:
读者:读者编号,姓名,身份证号
单位:单位号,单位名称
图书:图书号,图书名,定价
出版社:出版社名,电话,邮政编码,地址
其中, 每个读者可以借阅多本图书, 每本图书可以由多名读者借阅, 读者借阅图书要记
录借阅日期及还书目期, 图书可以重复借阅, 但每个读者每本图书每天最多借一次: 每个单
4 / 7
位有多个读者, 每个读者只属于一个单位; 每个出版社可以出版多种图书, 每本图书只属予
一个出版社。
(1) 试画出反映上述实体关系的 E-R 图 ( 不必画实体的属性 ) 。
(2) 转换成关系模式,并指出每个关系模式的主码和外码 (如果有外码指出来 ) ,在主码
下画直线 ______,在外码下画波浪线 ______。
在这里插入图片描述
在这里插入图片描述
77、

在这里插入图片描述

78、
在这里插入图片描述
79、
在这里插入图片描述
在这里插入图片描述

80、
在这里插入图片描述
在这里插入图片描述
81、
41.某学校图书借阅管理系统应提供如下功能:
(1)查询书库中现有图书信息,包括书号、书名、作者、单价、出版社;
(2)查询读者信息,包括读者的借书证号、姓名、性别、单位;
(3)查询读者的借阅情况,包括读者的借书证号、书号、借书日期、还书日期等;
(4)不同类别的读者有不同的借阅权限,读者类别由类别编号、名称、最大允许借书量、借
书期限等描述。
根据以上叙述,回答下列问题:
(1)试为该图书借阅系统设计一个 ER 模型,要求标注联系类型,可省略实体属性。
(2)根据转换规则,将 ER 模型转换成关系模型,要求标注每个关系模式的主键和外键 (如果
存在 )。

42.设有一个反映教师参加科研项目的关系模式:
R(教师号,项目名称,科研工作量,项目类别,项目金额,负责人 )
如果规定: 每个项目可有多人参加, 每名教师每参加一个项目有一个科研工作量; 每个项目
只属于一种类别,只有一名负责人。
(1)根据上述规定,写出模式 R 的基本 FD 和关键码。
(2)说明 R 不是 2NF 的理由。
(3)将 R 规范到 3NF
在这里插入图片描述

82、现有如下关系:学生(学号,姓名,性别,专业,出生年月)
教师(教师编号,姓名,所在部门,职称)
授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)
1.查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号;
1、 SELECT 学号,教师编号
FROM 授课
WHERE 课程名称 ='数据库原理 ’ AND 成绩 <60;

2.查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩;
2、SELECT 学号,姓名,成绩
FROM 授课,学生
WHERE 学生 .学号 =授课 .学号 AND 专业 ='计算机应用 ’ AND 课程名称 ='英语 ';

3.查找教师“李洪”所教过的学生成绩为 90 分以上(包括 90)的学生学号,姓名和专业;
3、 SELECT 授课 .学号 ,学生 .姓名 ,专业
FROM 学生,教师,授课
WHERE 学生 .学号 =授课 .学号 AND 教师 .教师编号 =授课 .教师编号 AND 教师 .姓名 =’
李洪 ’ AND 成绩 >=90;

4.删除学生表中学号为“ 9903016”的记录;
4、DELETE
FROM 学生
WHERE 学号 =‘9903016’;

5.将编号为“ 60016”的教师所在的部门该为“计算机” ;
5、UPDATE 教师
SET 所在部门 ='计算机系 ’
WHERE 教师编号 =‘60016’;

6.建立“计算机应用”专业成绩有过不及格的学生的视图;
6、 CREATE VIEW 成绩
AS SELECT 学生 .学号 ,姓名,成绩
FROM 学生,授课
WHERE 学生 .学号 =授课 .学号 AND 专业 ='计算机应用 ’ AND 成绩 <60;

综合体

1.假设学生——课程数据库关系模式如下:
S(Sno,Sname ,Sage,Ssex)
C(Cno,Cname ,Teacher)
SC(Sno,Cno,Grade)
用 SQL语句表达下列查询:

(1) 找出刘老师所授课程的课程号和课程名;
SELECT Cno ,Cname
FROM C
WHERE Teacher LIKE ‘刘%’;

(2) 找出年龄小于 22 岁的女学生的学号和姓名。
SELECT Sno ,Sname
FROM S
WHERE Sage 22 AND Ssex= ‘F’

1.用 SQL的有关语句定义:
(1)学生关系 Student ,包括学号 Sno、姓名 SN、年龄 SA;
CREATE TABLE Student(
Sno INT PRIMARY KEY
SN CHAR (30),
SA INT
);

(2 )课程关系 Course,包括课程号 Cno、课程名 CN、任课教师 CT;
CREATE TABLE Course(
Cno INT PRIMARY KEY ,
CN CNAR (30),
CT CHAR (30)
);

(3)学生选课关系 SC,包括 Sno,Cno和成绩 G。
CREATE TABLE SC (
Sno INT ,
Cno INT ,
G INT ,
PRIMARY KEY(Sno ,Cno),
FOREIGN KEY(Sno )REFERENCES Student (Sno),
FOREIGN KEY(Cno )REFERENCES Course(Cno)
);

2 .按题 1 的学生关系模式,用 SQL的有关语句。
(1)授予赵华对学生关系 Student 的插入和修改权限;
GRANT INSERT ,UPDATE ON Student TO‘赵华’;

(2)插入任意 3 个学生的完整信息;
INSERT INTO Student
(TABLE (01001,‘赵华’,19),
(01002,‘李芳’,18),
(01003 ,‘刘红’,20),
);

(3)修改所有学生的年龄。
UPDATE Student
SET SA =SA+1;

3.结合题 1 定义的学生选课数据库,用 SQL语句查询学生数据库课程的成绩,输出
学生姓名和成绩,按成绩排序(降序) ;若成绩相同,再按学号排序(升序) 。
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;

设计题

  1. 设教学数据库的模式如下:
    S(S#,SNAME,AGE,SEX)
    SC(S#,C#,GRADE)
    C(C#,CNAME,TEACHER)
    试用多种方式定义下列完整性约束:
    (1) 在关系 S中插入学生年龄值应在 16~ 25 岁之间
    (2) 在关系 SC中插入元组时,其 S#值和 C#值必须分别在 S和 C中出现。
    (3) 在关系 SC中修改 GRADE值时,必须仍在 0~100 之间。
    (4) 在删除关系 C中一个元组时,首先要把关系 SC中具有同样 C#的元组全部删去。
    (5) 在关系 S中把某个 S#值修改为新值时,必须同时把关系 SC中那些同样的 S#值也修改为新值。

解:
(1) CREATE TABLE S(
S# CHAR(4),
SNAME CHAR(10) NOT NULL ,
AGE SMALLINT,
PRIMARY KEY(S#),
CHECK (AGE>=16 AND AGE<=25))

(2) 采用外键子句约束
CREATE TABLE SC
(
S# CHAR(4),
C# CHAR(4),
GRADE SMALLINT,
FOREIGN KEY(S#) REFERENCE S(S#),
FOREIGN KEY(C#) REFERENCE C(C#)
)

(3) 采用元组检查
CREATE TABLE SC(
S# CHAR(4),
C# CHAR(4),
GRADE SMALLINT,
FOREIGN KEY(S#) REFERENCE S(S#),
FOREIGN KEY(C#) REFERENCE C(C#),
CHECK (GRADE>=0 and AGE<=100))

(4) 采用外键约束
CREATE TABLE SC(
S# CHAR(4),
C# CHAR(4),
GRADE SMALLINT,
FOREIGN KEY(S#) REFERENCE S(S#),
FOREIGN KEY(C#) REFERENCE C(C#) ON DELETE CASCADE
)

(5) 采用外键约束
CREATE TABLE SC(
S# CHAR(4),
C# CHAR(4),
GRADE SMALLINT,
FOREIGN KEY(S#) REFERENCE S(S#) ON UPDATE CASCADE ,
FOREIGN KEY(C#) REFERENCE C(C#)
)

  1. 在教学数据库的关系 S、SC、 C中,试用 SQL2的断言机制定义下列两个完整性约束:
    (1) 学生必须在选修 Maths 课后,才能选修其他课程。
    (2) 每个男学生最多选修 20 门课程。
    解: (1)
    CREATE ASSERTION ASS1 CHECK
    ( NOT EXISTS
    ( SELECT S FROM SC
    WHERE C# IN
    (SELECT C#
    FROM C
    WHERE CNAME<>‘MATHS’)
    AND S# NOT IN
    (SELECT S# FROM SC
    WHERE C# IN
    (SELECT C#
    FROM C
    WHERE CNAME=‘MATHS’)));

(2)CREATE ASSERTION ASS2 CHECK
( 20>=ALL(SELECT COUNT #)
FROM S,SC
WHERE #= AND SEX=‘M’
GROUP BY S#));

3、设有 3个关系:
职工表; EMP(ENO ,ENAME ,AGE,SEX,ECITY)
工作表: WORKS(ENO ,CNO,SALARY)
公司表: COMP(CNO ,CNAME ,CITY)
CREATE TABLE COMP
(
CNO CHAR(4) NOT NULL,
CNAME CHAR(20) NOT NULL,
CITY CHAR(8),
ECITY CHAR(8),
PRIMARY KEY(CNO)
)
试用 SQL的语句、子句或触发器完成下列问题:
(1) 要求男职工年龄在 20~50 岁之间,女职工年龄在 18~40 岁之间;
(2) 在 WORKS 表中的职工号 (ENO值) 必须在 EMP表中存在 ( 用三种方法 ) ;
(3) 职工的工资不能低于 1500 元;
(4) 把对 WORKS 关系的查询、 修改工资的权限 授予用户 HE且 HE拥有转授权
(5) 把对 EMP表、 COMP表的查询权限授给 全体用户 。
解:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
36.设有关系 S(S#,NAME ,AGE, SEX),其属性分别表示:学号,姓名,年龄和性别;
关系 SC(S#,C#,GRADE ),其属性分别表示:学号,课号和成绩。
试用 SQL 语句完成统计每一年龄选修课程的学生人数。

37.设有学生表 S(S#,NAME , AGE ,SEX),其属性分别表示:学号,姓名,年龄和性
别;选课表 SC(S#,C#,GRADE ),其属性分别表示:学号,课号和成绩。试用关系代数
表达式表达下面查询:检索学习课号为 C2 课程的学号和姓名。

38.设有职工基本表 EMP (ENO,ENAME ,AGE ,SEX,SALARY ),其属性分别表示:
职工号,姓名,年龄,性别,工资。试用 SQL 语句写出为每个工资低于 1000 元的女职工加
薪 200 元。

39.设有科研项目表 PROJ(项目编号,项目名称,金额,教师编号) 。试用 SQL 语句写出
下面查询:列出金额最高的项目编号和项目名称。

40.设有学生关系 STU(SNO,SNAME ,AGE, SEX)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、综合题 (本大题共 2 小题,每小题 5 分,共 10 分)
41.设某家电公司售后服务系统中有一个记录安装工人日工作量的关
系模式:
R(员工编号,姓名,电话,产品型号,日期,安装数量 )
如果规定:员工每天可安装多种产品, 并按不同产品型号统计安装数量。
(1) 写出关系模式 R的基本 FD和关键码。

(2)R 最高属于第几范式。
(3) 将 R规范到 3NF。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 11
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
软件工程与数据库 课程设计 任务 学院名称: 数学与计算机学院 课程代码:_6014419_ 专 业: 年 级: 一、设计图书管理系统 二、主要内容 一个简单的图书管理系统包括图书馆内籍的信息学校在校学生的信息以及学生的 借阅信息。此系统功能分为面向学生和面向管理员两部分,其学生可以进行借阅、续 借、归还和查询籍等操作,管理员可以完成籍和学生的增加,删除和修改以及对学 生,借阅、续借、归还的确认。如: 图书室有各种图书一万多册。 每种图书都有名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容 简介。 借证记录有借阅者的姓名、所在单位、职业等。 凭借证借,每次最多能借8本。借期限最长为30天。 实现新进图书的数据录入。 实现对所有购进图书的分类查询和分类统计。 能够按名、作者等分类查询现有图书的数量。 记录借阅者的个人资料和所借图书名、书号数据等。 三、具体要求 1、完成系统的需求分析 通过需求分析确定系统需要处理的数据的需求,要求使用数据库的辅助设计工具( PowerDesigner等),建立业务处理模型。 2、完成系统概念结构设计 概念数据模型(CDM)用于完成数据库的设计,与人和数据库平台和具体数据存储结构和 工具无关。首先选择局部用画出分E-R图,最终形成系统的E-R图 3、完成系统逻辑结构设计 按照E- R图转换成关系模式的规则,将CDM转换成逻辑数据模型,并为每个关系模式设计主键、 外键。分析关系模式的依赖关系,对关系模式规范化处理 4、完成系统物理结构设计 为每个关系分配存储长度,建立数据库的索引和视图,定义关系的主码和外码,写 出关系创建和查询的SQL语句。 5、编码 选择你自己熟悉的开发工具完成一个DBS系统的编码工作。 源代码格式规范,注释不少于三分之一 四、主要技术路线提示 1.仔细阅读设计指导内容,认真掌握任务要求(2. 需求分析( 3.概念结构设计( 4.逻辑结构设计(5.物理结构设计(6.编码. 2.后台推荐采用SQL server或Oracle;前台开发环境不限制。可采用ADO,ODBC,OLE DB或JDBC连接数据库, 并调用系统存储过程、自定义存储过程、函数等。 五、进度安排 第1周: 数据库系统概念模型、数据模型设计,创建数据库以及相关对象; 第2周: 前台程序开发,撰写报告,接受检查。 六、完成后上交的材料 1. 源程序一份(包含数据库) 2. 课程设计报告一份 七、推荐参考资料 1.王珊.数据库系统概论(第四版). 高等教育出版社 2.闪四清.数据库系统原理用教程.清华大学出版社 3.周龙骧.数据库管理系统实现技术.国地质大学出版社 4.张海藩.软件工程概论.清华大学出版社 5.陈明 编著.实用软件工程基础.清华大学出版社 6.成先海.数据库基础与用-SQL SERVER2000. 机械工业出版社出版 指导教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 ----------------------- 数据库课程设计--图书管理系统全文共3页,当前为第1页。 数据库课程设计--图书管理系统全文共3页,当前为第2页。 数据库课程设计--图书管理系统全文共3页,当前为第3页。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值