好文档 - 专业文书写作范文服务资料分享网站

2018年电大-数据库应用技术-综合应用题

天下 分享 时间: 加入收藏 我要投稿 点赞

综合应用题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

“教师”表结构:

教师号:普通编码定长字符类型,长度为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年电大-数据库应用技术-综合应用题

综合应用题1图书销售(本题10分)题目1题干写出创建如下三张数据表的SQL语句。(本题4分)“图书”表结构:书号:普通编码定长字符类型,长度为10,主键。书名:普通编码可变长字符类型,长度为20,非空。类别:统一字符编码定长字符类型,长度为4,取值为:“高等数学”、“量子力学”、“国学基础”。出版日期:日
推荐度:
点击下载文档文档为doc格式
038gu2vx1r4mu7526k929d31q9p6am00e83
领取福利

微信扫码领取福利

微信扫码分享