2021年电大数据库应用技术综合应用题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合应用题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)查询所有课程授课状况,列出课程名、学时数、教师名和授学时数。删除没人讲授课程。
答:
1)SELECT 教师名,所在部门
FROM 教师
WHERE 职称= '专家'
2)SELECT 开课学期,COUNT(*) 课程门数
FROM 课程
WHERE 学时数> 40
GROUP BY 开课学期
3)SELECT 课程名,学时数,教师名,授学时数