SQLSERVER数据库实验分析和总结.docxVIP

  • 7
  • 0
  • 约7.83千字
  • 约 15页
  • 2024-01-22 发布于上海
  • 举报

...

.

..

.s..

.

s

..

SQLSERVER 数据库应用技术

实验报告

选课序号:班 级:

学 号:

姓 名:指导教师:

成 绩:

目 录

实验目的 1

实验内容 1

创建数据库OrderDB(杂志订购数据库) 1

T-SQL查询 1

存储过程、自定义函数和触发器编程 2

实验步骤 2

创建数据库OrderDB(杂志订购数据库) 2

T-SQL查询 5

存储过程、自定义函数和触发器编程 5

总结与体会 8

实验目的

创建与使用数据库。了解数据库及其各类逻辑对象、数据库的文件与文件组的概念;实践数据库的设计、创建、查看和维护等的操作,。

T-SQL查询。掌握SELECT查询命令,INSERT、UPDATE和DELETE等更新命令,及T-SQL对查询与更新命令的增强功能操作。

自定义函数、存储过程与触发器。实践练习自定义函数、存储过程和触发

器的使用方法。

实验内容

创建数据库OrderDB(杂志订购数据库)

以下各表中的代码或编号列为char(6),名称或类别列为varchar(20),单价或金额列为

numeric(10,2),数量列为int,订购日期为日期类型datetime,所在城市列为varchar(16)。

杂志表Magazine(杂志代码Mno,杂志名称Mname,杂志类别Mtype,出版商所在城市Mcity,进货单价Miprice,订购单价Moprice),其中,订购价格进货价格,杂志类别:文学类、历史类、科技类。主键为(杂志代码Mno)。

客户(杂志的订购单位信息)表Customer(客户代码Cno,客户名称Cname,客户所在城市Ccity,上级主管单位代码Sno,客户类别Ctype),客户(单位)类别:政府单位、事业单位、企业单位。主键为(客户代码Cno)。

杂志订购情况主表OrderH(订单编号Ono,客户代码Cno,订购日期Odate,订单货款金额合计OMsum,订单盈利金额合计OPsum),主键为订单编号Ono。

杂志订购情况明细表OrderList(订单编号Ono,杂志代码Mno,订购数量Onum,进货单价Miprice,订购单价Moprice,订购金额Omoney,盈利金额Oprofit),主键为(订单编号Ono,杂志代码Mno),订购金额=订购单价×订购数量,盈利金额=(订购单价-进货单价)×订购数量。

T-SQL查询

实现如下查询功能前,请向所有数据表添加足够多的演示数据。求年份的函数为year(),返回类型为int,年份=year(订购日期Odate)。

使用WITH公用表表达式查看客户名称为’珠江航运公司’在广州市的所有上级主管单

位代码和单位名称。

查询客户名称为’天空网络公司’在2011年所订购的大于其最小订购数量的2倍的杂志代码、杂志名称及订购数量。

使用COMPUTEBY、COMPUTE,求客户类别为’事业单位’在2011年订购的杂志类别为’历史类’的客户代码、客户名称、订购数量、订购金额,要求同时输出按客户计算的订购数量和订购金额的合计、所有客户的订购数量和订购金额的总计。

使用TOP和查询结果集别名表达式,查询杂志名称为’读者’、2011年订购数量为第4-10名的客户代码、客户名称和订购数量(设’读者’的订购客户数=10)。

用游标编程,求大连市的杂志在2013年的平均订购数量和总订购数量的功能,不能用COUNT、AVG和SUM函数。

存储过程、自定义函数和触发器编程

设计自定义函数fGetProfit,实现统计某年份给定杂志类别的盈利金额合计的功能,输入参数是统计年份和杂志类别,输出参数是盈利金额合计。

设计存储过程pGetMoney,实现统计某年份给定客户类别的订购金额合计的功能,输入参数是统计年份和客户类别,输出参数是订购金额合计。

编写一段T-SQL程序调用函数fGetProfit,输出2012年杂志类别为’科技类’的盈利金额合计。

编写一段T-SQL程序调用存储过程pGetMoney,输出2013年客户类别为’企业单位’的订购金额合计。

为杂志订购情况明细表OrderList定义一个【AFTER】触发器tr_after_OrderList,每

插入一条订购情况明细记录(订单编号Ono,杂志代码Mno,订购数量Onum,进货单价Miprice,订购单价Moprice),自动计算其订购金额Omoney和盈利金额Oprofit,同时自动计算订购情况主表OrderH的订单货款金额合计OMsum和订单盈利金额合计OP

文档评论(0)

1亿VIP精品文档

相关文档