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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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(教师号,课程号,授课年份),

相关文档
最新文档