admin 管理员组文章数量: 1086019
2024年2月23日发(作者:windows如何安装deb)
综合应用题1 图书销售(本题10分)
题目1
题干
写出创建如下三张数据表的SQL语句。(本题4分)
“图书”表结构:
书号:普通编码定长字符类型,长度为10,主键。
书名:普通编码可变长字符类型,长度为20,非空。
类别:统一字符编码定长字符类型,长度为4,取值为:“高等数学”、“量子力学”、“国学基础”。
出版日期:日期类型。
单价:整型。
“书店”表结构:
书店编号:普通编码定长字符类型,长度为20,主键。
书店名:普通编码可变长字符类型,长度为30,非空。
地址:统一字符编码可变长字符类型,长度为30。
“销售”表结构:
书号:普通编码定长字符类型,长度为10,引用图书表的外键。
书店编号:普通编码定长字符类型,长度为20,引用书店表的外键。
销售时间:日期时间类型。
销售数量:整型。
主键:(书号,书店编号,销售时间)。
答:
CREATE TABLE 图书(
书号 char(10) primary key,
书名 varchar(20) not null,
类别 nchar(4) CHECK (类别 IN('高等数学','量子力学', '国学基础')),
出版日期 date,
单价 int
)
CREATE TABLE 书店(
书店编号 char(20) primary key,
书店名 varchar(30) not null,
地址 nvarchar(30)
)
CREATE TABLE 销售(
书号 char(10),
书店编号 char(20),
销售时间 datetime,
销售数量 int,
Primary key(书号,书店编号,销售时间),
Foreign key(书号) references 图书(书号),
Foreign key(书店编号) references 书店(书店编号)
)
题目2
题干
依据第1题所创建的三张表,写出完成下列操作的SQL语句。(本题4分)
1) 查询“量子力学”类图书的书名与出版日期。
2) 查询单价大于等于60的图书的销售情况,列出书名、类别、销售时间与销售数量。
3) 将“量子力学”类图书的单价降低10。
4) 在书店表中插入一行数据,书店编号:SD100,书店名:新华书店,地址:西单。
答:
1)SELECT 书名,出版日期 FROM 图书 WHERE 类别 = '量子力学'
2)SELECT 书名, 类别, 销售时间, 销售数量
FROM 图书 a JOIN 销售 b ON a、书号 = b、书号
WHERE 单价 >= 60
3)UPDATE 图书
SET 单价 = 单价 - 10
WHERE 类别 = '量子力学'
4)INSERT INTO 书店
VALUES('SD100','新华书店','西单')
题目3
题干
依据第1题所创建的三张表,写出创建满足如下要求的视图的SQL语句:查询销售了“高等数学”类图书的书店名与地址。(本题2分)
答:
CREATE VIEW V1 AS
SELECT 书店名,地址 FROM 书店 a
JOIN 销售 b ON a、书店编号 = b、书店编号
JOIN 图书 c ON c、书号 = b、书号
WHERE 类别 = '高等数学'
综合应用题2 教师授课(本题10分)
题目4
题干
写出创建如下三张数据表的SQL语句。(本题4分)
“教师”表结构:
教师号:普通编码定长字符类型,长度为10,主键。
教师名:普通编码可变长字符类型,长度为20,非空。
所在部门:普通编码可变长字符类型,长度为30。
职称:普通编码定长字符类型,长度为6,取值为:“教授”、“副教授”、“其她”。
“课程”表结构:
课程号:普通编码定长字符类型,长度为20,主键。
课程名:普通编码可变长字符类型,长度为40,非空。
学时数:微整型。
开课学期:微整型。
“授课”表结构:
教师号:普通编码定长字符类型,长度为10,引用教师表的外键。
课程号:普通编码定长字符类型,长度为20,引用课程表的外键。
授课时数:整型。
授课年份:整型。
主键:(教师号,课程号,授课年份)。
答:
CREATE TABLE 教师(
教师号 char(10) primary key,
教师名 varchar(20) not null,
所在部门 varchar(30),
职称 char(6) CHECK (职称 IN('教授','副教授', '其她'))
)
CREATE TABLE 课程(
课程号 char(20) primary key,
课程名 varchar(40) not null,
学时数 tinyint,
开课学期 tinyint
)
评分要点:共1分。
CREATE TABLE 授课(
教师号 char(10),
课程号 char(20),
授课时数 int,
授课年份 int,
Primary key(教师号,课程号,授课年份),
Foreign key(教师号) references 教师(教师号),
Foreign key(课程号) references 课程(课程号)
)
题目5
题干
依据第1题所创建的三张表,写出完成下列操作的SQL语句。(本题4分)
1) 查询“教授”职称的教师姓名与所在部门。
2) 查询每学期开设的学时数大于40的课程门数。
3) 查询2016年全部课程的授课情况,列出课程名、学时数、教师名与授课时数。
删除没人讲授的课程。
答:
1) SELECT 教师名, 所在部门
FROM 教师
WHERE 职称 = '教授'
2) SELECT 开课学期,COUNT(*) 课程门数
FROM 课程
WHERE 学时数 > 40
GROUP BY 开课学期
3) SELECT 课程名, 学时数, 教师名, 授课时数
FROM 课程 JOIN 授课 ON 课程、课程号 = 授课、课程号
JOIN 教师 ON 教师、教师号 = 授课、教师号
WHERE 授课年份 = 2016
4) DELETE FROM 课程
WHERE 课程号 NOT IN (SELECT 课程号 FROM 授课)
题目6
题干
依据第1题所创建的三张表,写出创建满足如下要求的视图的SQL语句:查询2016授课年份全体授课教师的教师名、所授的课程名与授课时数。(本题2分)
答:
CREATE VIEW V1 AS
SELECT 教师名,课程名,授课时数
FROM 授课 JOIN 教师 ON 授课、教师号 = 教师、教师号
JOIN 课程 ON 课程、课程号 = 授课、课程号
WHERE 授课年份 = 2016
版权声明:本文标题:2018年电大数据库应用技术综合应用题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1708628286a528079.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论