SQL复习题

发布 2021-05-19 00:30:28 阅读 8993

创建数据库、创建表、创建视图、创建触发器的**保存在考试结果文件夹下,文件名为。

1.创建数据库。

为“商品**系统”创建后台数据库:

1)数据库名为spgy。

2)主数据文件逻辑名称为spgy_data,物理名称为spgy_存放在c盘根目录下,初始大小为3mb,文件增长不受限制,增长量为1mb。

3)事务日志文件逻辑名称为spgy_log,物理名称为spgy_存放在c盘根目录下,初始大小为1mb,文件增长最大为5mb,增长量为10%。

2.创建表。

在spgy数据库中创建如下三张表,表结构如下:

1)表名:gys

2)表名:sp

创建名为ck_sp的check约束,设置库存数量字段的值必须大于等于0。

3)表名:jg

创建名为ck_jg的check约束,设置截止时间(jzsj)必须大于等于起始时间(qssj)。

创建名为ck_jg_1的check约束,设置零售价(lsj)必须大于等于会员价(hyj)。

4)表名:gy

创建名为ck_gy的check约束,设置**数量(gysl)字段的值必须大于0。

3.创建视图。

1)视图view1:查询“精品红富士”本年的**情况。

2)视图view2:查询“精品红富士”最近一次进货的进价。提示:可按照进货时间排序。

3)视图view3:查询库存充足的商品基本信息,库存充足指现库存量大于100。该视图定义加密,即带with encryption参数。

4)视图view4:查询统计各商品所有**的**总数量,给查询结果的字段取别名,为:条形码、**总数量。

5)视图view5:查询统计各类商品的商品数目。给查询结果的字段取别名,为:商品类型、商品数目。

4.创建触发器。

创建触发器,实现当有商品**时,该商品的现库存数量自动增加。触发器名为tjgy。提示:在gy表中创建insert触发。不用判断sp表中是否有该商品信息。

create trigger tjgy on [dbo].[gy]

for insert

asdeclare @gysl numeric(10,2),@txm varchar(30)

select @gysl=gysl,@txm=txm from inserted

update sp set kcsl=kcsl+@gysl where txm=@txm

创建触发器scgy,实现当删除某次**信息时(即删除**表的某条记录),库存自动更新。提示:在**表中创建delete触发器。

create trigger scgy on [dbo].[gy]

for delete

asdeclare @gysl numeric(10,2),@txm varchar(30)

select @gysl=gysl,@txm=txm from deleted

update sp set kcsl=kcsl-@gysl where txm=@txm

创建触发器xxgy,实现当修改某次**信息时(修改**数量或者商品条形码),库存自动更新。提示:在**表中创建update触发器。

create trigger xxgy on [dbo].[gy]

for update

asif update(gysl) or update(txm)

begindeclare @yuangysl numeric(10,2), xingysl numeric(10,2),@yuantxm varchar(30), xintxm varchar(30)

select @yuangysl=gysl,@yuantxm=txm from deleted

select @xingysl=gysl,@xintxm=txm from inserted

update sp set kcsl=kcsl-@yuangysl where txm=@yuantxm

update sp set kcsl=kcsl+@xingysl where txm=@xintxm

end5.在查询分析中编写sql脚本,**保存在考生文件夹中。文件名为1. sql

1)往gy表中添加如下记录。

gy表中的数据。

2)查询本月各商品的**情况,查询结果包括gyh、gysh、gysl、gysj。

3)根据实际情况为sp表的spm字段创建索引,索引名为spindex。

4)将“精品红富士”的库存数量增加10。

5)查询所有**信息,结果按照商品条形码降序排列,如果条形码相同,按照**时间升序排列。

完全备份数据库spgy,备份文件名为sjkbf,备份文件保存在考生文件夹中(d:esult文件夹中)。

最后分离spgy数据库,复制该数据库的数据文件和事务日志文件到考生文件夹中(d:esult文件夹中)

sql复习题答案

1 创建一个数据库,数据库名称为自己名字的拼音。该数据库有1个10mb和一个20mb的数据文件和2个20mb的事务日志文件,数据文件分别位于d盘的data,e盘的 data文件夹下,两个数据文件的最大尺寸分别为无限大和100mb,增长速度分别为10 和1mb,事务日志文件都位于f盘的log目录下,最...

sql复习题库

在sql中,建立表用的命令是 indexsql语言中,条件年龄between 15 and 35表示年龄在15至35之间,且 a.包括15岁和35岁b.不包括15岁和35岁。c.包括15岁但不包括35岁d.包括35岁但不包括15岁。在ms sql server中,用来显示数据库信息的系统存储过程是。...

SQL查询复习题

1 有两个关系 c cno,cn,pcno sc sno,cno,g 其中,c为课程表,对应的属性分别是课程号 课程名 选修课号 sc为学生选课表,对应的属性分别是学号 课号和成绩。用sql语言写出 1 对关系sc中课号等于c1的选择运算。2 对关系c的课号 课程名的投影运算。3 两个关系的自然连接...