SQLSEREVER测试题(下)

SQLSEREVER测试题(下)

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)       创建触发器,当删除雇员表Employees中的记录时,同时删除雇员工资表wage和工资税表tax中的有关该雇员的所有记录

(5)       创建触发器,当修改工资税表taxTax列的值时,检查交税情况是否符合(2)的交税比例

(6)       测试上面创建的触发器

 

实践9:使用SQL Server数据库的游标

(1)      使用游标获取雇员表Employees中的记录

(2)      使用游标检查雇员工资税的交纳是否正确

 

实践10:使用SQL Server数据库的用户字定义函数

(1)      编写函数,按男、女雇员分类计算平均工资和合计工资

(2)      编写函数,查找雇员表EmployeesSexPhone与指定值相匹配的雇员

(3)      编写函数,查找雇员表EmployeesBirthDate在指定两个日期之间的雇员

(4)      定义数据类型mytext,向雇员表Employees中添加列Remark,其类型为mytext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值