SQLSEREVER测试题(下)

博客围绕SQL Server数据库展开实践作业,涵盖数据库的创建与维护、表的创建与修改、视图和索引的创建、信息查询、完整性实现、高级查询,以及存储过程和触发器的创建与使用等内容,作业以*.sql文件存储于指定目录。
18 以下作业皆以*.sql文件存储于c:\homework目录中

实践1:创建和维护SQL Server数据库

(1) 使用下表提供的值,创建数据库ClassNorthwind

数据库名称

ClassNorthwind

数据库文件名

ClassNorthwind_Data

位置

C:\data

初始大小

25MB

文件组

Primary

文件增长

1MB

最大文件长度

100MB

事务日志文件名称

ClassNorthwind_Log

位置

C:\data

初始大小

15MB

文件增长

1MB

最大文件长度

30MB

(2) 使用sp_helpdb存储过程浏览有关数据库ClassNorthwind的信息

(3) 修改数据库属性

l 编写和执行将ClassNorthwind事务日志文件的最大文件长度增加到50MB的语句

l 编写和执行向数据库ClassNorthwind添加一个事务日志文件ClassNorthwind_LogApp,文件属性如下:

位置

C:\dataapp

初始大小

20MB

文件增长

1MB

最大文件长度

40MB

实践2:创建和修改SQL Server数据库的表

(1) 创建数据库ClassNorthwind中的雇员表Employees、雇员工资表wage和工资税表tax

雇员表Employees:

EmployeeID

Intidentity ,初值为1,增量为1

NOT NULL

Name

VarChar(10)

NOT NULL

Sex

Char(2)

NOT NULL

Birthdate

Date

NULL

Address

Varchar(50)

NULL

Phone

Char(13)

NULL

Remark

text

雇员工资表wage:

EmployeeID

Int

NOT NULL

Name

VarChar(10)

NOT NULL

Wage

money

NOT NULL

Putdate

Date

NOT NULL

工资税表tax:

EmployeeID

Int

NOT NULL

Name

VarChar(10)

NOT NULL

Tax

money

NOT NULL

Paydate

Date

NOT NULL

(2) 向雇员表Employees中添加列Department varchar(20) NULL

(3) 修改雇员表Employees中的列Address varchar(60)

(4) 删除雇员表Employees中的列Remark

(5) 用存储过程sp_help查看三个表的信息

(6) 向雇员表Employees中插入十个雇员信息

(7) 向雇员工资表wage中插入十个雇员相应的工资发放情况信息

(8) 向工资税表tax中插入十个雇员相应的交税情况

实践3:创建SQL Server数据库表的视图和索引

(1) 在雇员表Employees中,创建一个namephone列上的合成索引

(2) 使用存储过程sp_helpindex Employees列出表的索引

(3) 分别查询雇员表Employees、雇员工资表wage和工资税表tax中的行数据

(4) 创建一个视图,用于检索雇员工资、税款情况,包括下列字段:

EmployeeIDNameSexWagePutdate TaxPaydate

(5) 创建一个视图,用于检索雇员工资高于1000元的雇员情况表

(6) 创建一个视图,用于检索雇员工资高于5000元的雇员情况表

实践4:查询SQL Server数据库表的信息

(1) 列出每个雇员的工资、税款情况一览表

(2) 列出工资超过1000元,而未交税的雇员

(3) 列出工资在1000元以下,不应该交税的雇员情况一览表

(4) 列出只领工资而未交税的雇员表

(5) 对以上四种情况各作一统计报告

(6) 删除三个表中的所有记录

实践5:实现SQL Server数据库的完整性

(1) 创建雇员表Employees的主关键字,列:EmployeeID

(2) 创建雇员工资表wage的外部关键字,列:EmployeeID,参考Employees的主键

(3) 创建工资税表tax的外部关键字,列:EmployeeID,参考Employees的主键

(4) 向雇员表Employees中添加关于以下列的DEFAULT约束:

nameunknownsex:男,AddressSalt LakePhone(000)00000000

(5) 向雇员表Employees中添加BirthDate列的CHECK约束:在BirthDate列中的值必须早于今天的日期

(6) 定义雇员电话号码Phone的规则:(***)********,其中*0~9之间的数字字符

(7) 执行存储过程sp_helpconstraint浏览上面创建的约束信息

(8) 向雇员表Employees中插入十个雇员信息,并检查约束

(9) 向雇员工资表wage和工资税表tax中添加关于以下列的DEFAULT约束:

Putdate:昨天,Paydate:昨天

实践6SQL Server数据库的高级查询

(1) 分别列出在雇员表Employees中而未领工资和未交税的男、女雇员情况

(2) 查询电话号码区号为(010)、工资大于3000的男雇员情况

(3) 查询交税最多的六名雇员情况

(4) 列出工资在前六名的,而交税并不在前六名的雇员情况

实践7:创建、执行、修改SQL Server数据库的存储过程

(1) 编写存储过程,向雇员表Employees、雇员工资表wage和工资税表tax中各插入两条记录

(2) 编写存储过程,列出工资最高的六名雇员情况

(3) 编写存储过程,查找雇员表EmployeesSexPhone与指定值相匹配的雇员

(4) 编写存储过程,查找雇员表EmployeesBirthDate在指定两个日期之间的雇员

(5) 编写存储过程,用于计算男、女雇员的平均工资,男、女雇员的人数,并输出

(6) 用存储过程sp_helptext查看上面的存储过程定义

实践8:创建和使用SQL Server数据库的触发器

(1) 创建触发器,从雇员表Employees中一次删除的记录数应不超过2

(2) 创建触发器,当向雇员工资表wage中插入记录时,同时向工资税表tax中插入记录,工资税计算为:

Wage1000以下,不交税;1000~5000:交税工资的1%

5000以上:交税工资的3%

(3) 创建触发器,当修改雇员工资表wage中的记录时,同时修改工资税表tax中的记录

(4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值