版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
QLServer2016数据库应用实战练习题题库及答案(动手实践)
动手实践与综合实训答案
任务1-1动手实践
请绘出购物车表(Carts)的E-R图。
任务1-2动手实践
利用完整格式创建"天意购物2"数据库,要求数据库有两个数据文件和两个日志文件。
具体要求见表1-8。
表1-8“天意购物3"数据库参数说明
参数参数值参数参数值
数据库名称天意购物2日志文件逻辑名天意购物2,logl
C:\SQL\天意购物
主数据文件逻辑名天意购物2,datal日志文件物理名
2_LOG1.LDF
主数据文件物理名C:\SQL\天意购物2.DATA1.MDF日志文件初始大小50MB
主数据文件初始大小100MB日志文件最大值100MB
主数据文件最大值200MB日志文件增长值10MB
事务日志文件逻辑
主数据文件增长值20MB天意购物2,log2
名
C:\SQL\天意购物
数据文件逻辑名天意购物2_data2日志文件物理名
2_LOG2.LDF
数据文件物理名C:\SQL\天意购物2_DATA2.NDF日志文件初始大小50MB
数据文件初始大小20MB日志文件最大值100MB
数据文件最大值UNLIMITED日志文件增长值10MB
数据文件增长值10%
在查询窗口中输入:
CREATEDATABASE天意购物2
ON
(NAME=,天意购物2_DATA1',--主数据文件属性设置
FILENAME=t:\SQL\天意购物2_DATA1.MDF,,
SIZE=100MB,
MAXSIZE=200MB,
FILEGROWTH=20MB
),
(NAME=,天意购物2_DATA2',一次要数据文件属性设置
FILENAME=,C:\SQL\天意购物2_DATA2.NDF',
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
LOGON
(NAME='天意购物2_LOG1',-日志文件属性设置
FILENAME=,C:\SQL\天意购物2_LOG1.LDF',
SIZE=50MB,
MAXSIZE=100MB,
FILEGROWTH=10MB
),
(NAME=,天意购物2_LOG2',・日志文件属性设置
FILENAME=,C:\SQL\天意购物2_LOG2.LDF',
SIZE=50MB,
MAXSIZE=100MB,
FILEGROWTH=10MB)
32SQLQueiy2.sql-PC-20210120ZVSU.^SI9«1(PC-20210120ZVSU\Admini$tr...快速足动(Ctrk®_P-
文件但费田(©视圉QD项目(E)IS®eC(W)Sfe(H)
O•J3•eia广是MSiS®医Iwa血®&■-0-户二
-:,抗行区:0I'':,」,-I一,Y
图1-30创建两个数据文件和日志文件的运行窗口
任务1-3动手实践
1、将天意购物数据库名称改写为TYGW。
ALTERDATABASE天意购物MODIFYNAMETYGW
2、给TYGW数据库添加一个日志文件:
名称:TYGWJog日志文件,存放在D盘根目录下,初始大小5MB,文件最大值为
无限制,文件增长值为5%。
ALTERDATABASETYGW
ADDLOGFILE
(NAME=TYGW_log,
FILENAME」D:\TYGW_log.LDF',
SIZE=5MB.
MAXSIZEUNLIMITED,
FILEGR0WTH=5%)
3、修改上面添加日志文件TYGWJog,初始大小10MB,文件最大值为100MB,
文件增长值为2MB。
ALTERDATABASETYGW
MODIFYFILE
(NAMETYGW_log,
SIZE10MB,
MAXSIZE100MB,
FILEGROWTH2^fB)
项目二
任务一
_动手实践
L请使用SSMS方式和T-SQL方式完成
Orders(订购信息)表、Carts(购物车信息)的表结构创建。表结构信息如表2-4和表
2-5。
表2-4Orders(订购信息)表
表2-5Carts(购物车信息)表
方法一:使用ssms方式:
(1)Orders(订购信息)表结构的创建
步骤一启动SQLServer2016中的SQLServerManagementStudio工具以Windows
身份验证或SQLServer身份验证登录。
字段名描述数据类型是否为空是否为主键
CustomerlD客户编号char(9)否
ProductID商品编号Varchar(9)否
OrderlD订单编号Varchar(lO)否
OrderDate订单日期datatime否
PaidDate付款日期datatime否
Oquantity订购数量Int否
步骤二:在"对象资源管理器"中,展开"数据库”列表,展开创建的天意购物数据库,
字段名描述数据类型是否为空是否为主键
CustomerlD客户编号char(9)否
ProductID商品编号Varchar(9)否
CartID购物车编号Varchar(lO)否
Cquantity商品数量Int否
右单击"表",在弹出的快捷菜单中选择“新建表"命令。
步骤三:打开"表设计器"窗口,定义表的结构。显示表基本属性一一列名、数据
类型和允许Null值。输入完毕。
步骤四:保存创建的表:单击“保存"按钮,弹出"选择名称"对话框,输入新建的表名
称:Orders,即完成了数据表的创建。
方法二:使用T-SQL方式:
CREATETABLEOrders
CustomerldCHAR(9)NOTNULL,
ProductldVARCHAR(9)NOTNULL,
OrderIdVARCIIAR(IO)NOTNULL,
OrderDateDATETIMENOTNULL,
PaidDateDATETIMENOTNULL,
OquantityINTNOTNULL
)
任务二
动手实践
____________
1、要求向"天意购物”数据库中的。rders(订购信息)表添加记录。数据如表2-8所示。
(请使用SSMS方式完成)
表2-8订购信息表(Orders)
客户编号商品编号订单编号订单日期付款日期商品数量
202000198293269110225678902016-1-262016-1-301
578102356173889123331234562016-1-282016-1-281
301119782121882122552345622016-2-282016-3-23
678123456118041512116592472016-1-72016-1-820
212345678121882122472984512016-3-22016-3-25
142258847169669624671480612019-4-262019-4-263
387487455173889123428226202020-6-182020-6-181
387487455286966166129854302019-2-252019-2-262
649471323195117281787688012018-11-112018-11-113
212345678351174235317896652017-9-42017-9-81
步骤一:选择"开始"一"所有程序"一"MicrosoftSQLServer2016”-SQLServer
ManagementStudio命令,使用"Windows身份验证”建立连接,进入SQLServer
ManagementStudio窗口(简称SSMS窗口)。
步骤二:在“对象资源管理器”窗格中依次展开数据库“天意购物”,选择Orders表,
右击,在弹出的快捷菜单中选择“编辑前200行”命令。
步骤三:在相应列分别输入表中信息,然后按【Enter】键即可。
步骤四:添加每条记录都重复步骤三。
步骤五:全部数据输入完毕后,直接关闭编辑窗口即可。
2、要求向“天意购物"数据库中的Carts(购物车)表添加记录。数据如表2-9所示。
(请使用T-SQL方式完成)
表2-9购物车信息表(Carts)
客户编号商品编号购物车编号商品数量
20200019829326911010001122
20200019817388902510001121
57810235617388902520012343
30111978212188212212345015
67812345611804151223123482
21234567812188212211223456
67383382516966962414567848
67383382516452452515882725
38863093228696616625995022
14225884716966962413938889
38748745521596497328850704
92995706926221480415964487
INSERTCartsVALUESC2020001987293269110'.,1000112'.2)
INSERTCartsVALUES('202000198'.,173889025','1000112',1)
INSERTCartsVALUES(:578102356','173889025':2001234'.3)
INSERTCartsVALUESC301119782'.,121882122','1234501'.5)
INSERTCartsVALUES('678123456';118041512','2312348',2)
INSERTCartsVALUESC212345678'.,121882122','1122345'.6)
INSERTCartsVALUESC673833825','169669624','1456784',8)
INSERTCartsVALUESC673833825',,164524525'.,1588272'.5)
INSERTCartsVALUES(,388630932':286966166','2599502,,2)
INSERTCartsVALUES('142258847',,169669624,,,1393888'.9)
INSERTCartsVALUES(,387487455','215964973\'2885070'.4)
INSERTCartsVALUES('929957069',,262214804'.,1596448',7)
任务三
动手实践
使用T-SQL语句将“天意购物”数据库中的订购信息表(Orders)表更名为Orders'
在查询分析器中运行以下命令:
SP_RENAMEProd,Products
项目三任务实践标准答案
任务一动手实践
1、使用三种修改列标题的方式显示‘Products'表中的"ProductldType
ProductName”的信息。
USE天意购物
SELECTProductld'商品编号',
TypeAS类型,商品名称=ProductName
FROMProducts
2、查询在数据库天意购物中商品信息表Products中查找,食品,类的商品,价格在100
元以内的商品信息。查询窗口中输入命令如下:
USE天意购物
SELECT*FROMProducts
WHEREType='食品'ANDPrice>0ANDPrice<100
3、查询数据库天意购物的商品信息表Products中图书价格在10元到50元的商品信息。
查询窗口中输入命令如下:
方法一:
USE天意购物
SELECT*FROMProducts
WHEREType='图书,ANDPrice>=10ANDPrice<=50
方法二:
USE天意购物
SELECT*FROMProducts
WHEREType=,图书,ANDPriceBETWEEN10AND50
4、查询数据库天意购物的商品信息表Products中咖啡价格不在100元到200元的商品
信息。查询窗口中输入命令如下:
USE天意购物
SELECT*FROMProducts
WHEREProductName='咖啡'
ANDPriceNOTBETWEEN100AND200
任务二动手实践
查询显示天意购物数据库商品信息表Products的商品类型,商品名称,商品价格,订单
表。rders付款时间等信息,要求商品类型包含"电"字,付款时间在2020-1-1以前的信息。
USE天意购物
SELECTP.Type'商品类型',P.ProductName'商品名称
P.Price'商品价格',0.PaidDate'付款时间'
FROMProductsPINNERJOINOrders0ONP.ProductId=0.Productld
WHERETypeLIKE'%电%'ANDPaidDate<=,2020-1-1,
项目4视图与索引
动手实践:
1、要求使用T-SQL语言创建视图,名称为"ViewJDP",包含Orders和Products表,要求
在该视图中输出以下字段:
Customerld,Productld,ProductName,Priceo
CREATEVIEWView_OP
AS
SELECTO.Customerld,0.Productld,P.ProductName,P.Price
fromOrdersOINNERJOINProductsP
ON0.ProductId=P.Productld
2、要求使用T-SQL语言修改视图“ViewJDP",输出以下字段:Customerld,Productld,
ProductName,Price,要求输出电视机商品信息。
USE天意购物
GO
ALTERVIEWView_0P
AS
SELECT0・Customer工d,0.Productld,P.ProductName,P.Price
fromOrders0INNERJOINProductsP
ON0.ProductId=P.Productld
WHEREProductName=,电视机,
3、要求使用T-SQL语言为视图“ViewjDP”进行重命名,新的视图名称为“View_OrdPro”。
USE天意购物
GO
SP_RENAMEView_0PzView_OrdPro
4、要求使用T-SQL语言查询视图“View_OrdPro”。
USE天意购物
GO
SELECT*FROMView_0rdPro
5、要求使用T-SQL语言删除视图"View_OrdPro\
USE天意购物
GO
DROPVIEWView_0rdPro
GO
知识巩固:
1、C2、C3、C4、A
1、要求在"Customers"表中的"Address”列上创建名为〃unique_Address〃
的唯一非聚集索引。
USE天意购物
CREATEUNIQUENONCLUSTERED
INDEXUnique_Address
ONCustomers(Address)
2、要求使用T-SQL命令查看〃天意购物”数据库中Customers表所建立的索引。
USE天意购物
GO
SP_HELPINDEXCustomers
3、要求使用T-SQL命令将〃天意购物〃数据库中Customers表所建立的索引
unique_Address重命名为unique_Addo
USE天意购物
GO
SP_RENAME'Customers.unique_Addressz,'unique_Addz
4、要求使用T・SQL命令重建Customers表所建立的索引unique_Addo
USE天意购物
GO
ALTERINDEXunique_Add
ONCustomers
REBUILD
GO
5、要求使用T-SQL命令删除Customers表所建立的索引unique_Add0
USE天意购物
GO
DROPINDEXCustomers.unique_Add
GO
知识巩固:
1>D2、D3>B4、聚集索引非聚集索引
项目五动手实践答案
任务一
动手实践
在''天意购物”数据库carts表中添加一个折扣字段(discountint),要求将客户号为'202000198'
的客户所购商品的折扣信息通过以下方式写入:商品数量3件的可以打7折,3件以上可以打5折,5件
以上打4折(使用case语句完成)。
DECLARE©QUAINT
SET@QUA=(SELECTSUM(Cquantity)FROMCartsWHERECustomerld=*2020001981)
UPDATECartsSETDiscount=
CASE
WHEN@QUA>5THEN4
WHEN@QUA>3THEN5
WHEN@QUA=3THEN7
END
WHERECustomerld='202000198,
执行结果如图5・10所示。
jiSQLQueryl.tql-WIN-20210113;NX.7^S»»(WIN-20210113JNX\Adminittr«tcw(52))•-Mic2V..俣3劭(Ctrl+Q)
文件(F)"(E)®H(V)«9(0)或目⑻工B(T)BQ(W)
O-a••"mjawttiiWN)强国&而后乂用图9•0
耳天盒盟利•I>RfrOO✓益自回|尸跪好品园。,飞-♦♦-»:
图5-10执行结果
任务二
禺动手实践
(1)要求创建一个存储过程,在"天意购物"数据库carts表中添加一个折扣字段(discount
int),要求将客户号为‘202000198'的客户所购商品的折扣信息通过以下方式写入:
商品数量3件的可以打7折,3件以上可以打5折,5件以上打4折(使用if语句完成).
createprocedurepro_carts(Qcardvarchar(15))
as
DECLARE@QUAINT
SET@QUA=(SELECTSUM(Cquantity)FROMCartsWHERECustomerId=@card)
IF@QUA>5
UPDATECartsSETDiscount=4WHERECustomerId=@card
else
IF@QUA>3
UPDATECartsSETDiscount=5WHERECustomerId=@card
ELSE
IF@QUA=3
UPDATECartsSETDiscount=7WHERECustomerId=@card
执行结果如图5-29所示。
SQLQuery7.sql-W...ministrator(53))*
createprocedurepro_carts©cardvarchar(15))
as
DECLARE©3UAINT
SET咙UA=(SELECTSUM(CQUANTITY)FROMCartsWHERECUSTOKERID=@card)
-IF®3UA5
UPDATECARTSSETDISCOUNT4WHERECUSTOMERIDScard
else
IF©QUA?3
UPDATECARTSSETDISCOUNT=5WHERECUSTOMERID=@card
ELSE
BIFCQUA-3
UPDATECARTSSETDISCOUNT=7WHERECUSTOMERID-@card
100%▼.:
南消息
命令已成功完成.
完成时闾:2021-01-14T19:24:30.4183798+08:00
100%
QWIN-20210113JNX(13.0RTM)WIN-20210113JNX\Admini...00:00:00。行
图5-29执行结果
(2)要求创建一个存储过程,在“天意购物"数据库carts表中添加一个折扣字段(discount
int),要求将客户号为'202000198'的客户所购商品的折扣信息通过以下方式写入:
商品数量3件的可以打7折,3件以上可以打5折,5件以上打4折(使用case语句完
成)。
ALTERPROCEDUREpro_carts(@cardvarchar(15))
AS
DECLARE@QUAINT
SETmQUA=(SELECTSUM(Cquantity)FROMCartsWHERECustomerId=0card)
UPDATECartsSETDiscount=
CASE
WHEN@QUA>5THEN4
WHEN@QUA>3THEN5
WHEN@QUA=3THEN7
END
WHERECustomer工d=@card
执行结果如图5-30所示。
QSQLQuery7.sql-WIN-2O21O113JNXJ^S19WS(WIN-20210113)NX\Administrator(53))*-Micros...关速启司(Ctri+Q)P
文林㈤百⑻视图(V)查询<Q)项目(P)8fD(W)WgD(H)
o•G-HJ-ja新星查询(N)㈤w国帛0X印由2二比1a
7号贼J•|»M(x)y器同回|萨跪即同画勘M冬-♦♦-•通;
图5-30执行结果
任务三
.动手实践
使用T_SQL语言为表customers创建DML触发器名为trig_禁止插入,使得当向表中插入
数据时,显示该事务不能被处理,不能插入数据!1
方法一:
1、创建触发器:
CREATETRIGGERtrig_禁止插入1
ONCustomers
FORINSERT
AS
BEGIN
PRINT,该事务不能被处理,不能插入数据!,
ROLLBACKTRANSACTION
END
执行上述代码结果如图5-48所示。
SQLQueryl^ql-W1N-2O21OH3JNX^B99V(WIN-202101ISJNXVMiministratoc(52»*-Microi...云子,。小6Q-口X
文件(F)g(E)»RB(V)面8(Q)凄目(P)Ifl(n®D(W)»RJ(H)
076♦;e94国Wr3ffiS(N)国苏'髭日畲区印曲*?•附-P
〉执行伽彩总圆片鸵呼用画0
石侬awr理舞SQLQueryl.sql-W...ministrator(52))**X
createTRIGGERtng_堂止插入I
ONCUStOIMCS
-i£W1N-20210113JNX(SQLServer13.0,1601.5人FORinsert
sI.数gAS
BEGIN
GBI装统数病片
PRIK7或事务不就襁处遵•不就住入砂枢!’
lHIJ5®S«5EROLLBACKTRANSA3TION
Ul■ReportServerEND
.•iaReportServerTempDB
m6租*
StJ53K岸关案网
国・表
田・极里
S■:外部费港
S一同义词
ffi.可装程也100%-*c=
.消息
:•:«ServiceBroker
出,存储"e0%板
S«安全性
完的用:2021-01-16109:46:10.0324877*08:00
SM
ffiI
aa
S■PolyBase
&IAlwaysOn耐用性
田0曾耍100%
OWIN-20210113JNX(13.0RTM)WIN-20210113JNX\Adrnini...00KXHX)Of?
om知1
图5-48创建触发器trig_禁止插入1
2、触发操作
INSERTCustomersVALUES('578102352李红','1310151310156789天津')
SELECT*FROMCustomers
执行上述代码结果和进行插入操作结果,如图5-49所示。
3eSQLQMMW-WIN-202101UJNX.^SStt(WIN-20210113/NX\Ad»wro«rato«(54))e-Micw.„3超5)(CM-QP
文件&)«H(E)«!B(v)mi(p)ixnBa(w)3fHi
o•H,-HJ-值新i由(N)⑨q国0却&S-i
In'"X'>':«•I•s
图5-49执行结果
方法二:
1、创建触发器:
CREATETRIGGERtrig_禁止插入2
ONCustomers
INSTEADOFINSERT
AS
BEGIN
PRINT,该事务不能被处理,不能插入数据!
END
执行上述代码结果如图5-50所示。
3?SQLQuerylAql-WIN-20210113)KXJtBIWB<WIN-20210113JNX\AdminijtritOf(S2)r-Micros...'Q-UX
文WF)«fi(E)®H(V)gQ)«@(P)Iflm«D(W)
o•y--H3»»««KN)Aiq&wm晶-0P
”由《弗•AMOOy器且回IrKtf3用四。m左-•♦-他;
图5-50创建触发器trig一禁止插入2
2、触发操作
INSERTCustomersVALUES('578102352李红','1310151310156789'天津')
SELECT*FROMCustomers
执行上述代码结果和进行插入操作结果,如图5-51所示。
SQ4.Qucry1.sql-WIN-20210113JNX.^gtW»(WlN-20210113JNX\Administrotor(5Z)),-Micros-礴后劲(Clri+Q)_P
文用F)郦WE)税曲明好(Q)项目(P)Iftm®C(W)
o•!3••eia声星I新建直甸(N)金会◎念,介品印由•的H-
7天E♦IA蛇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30162-2013纺织机械 卷布辊 术语和主要尺寸》
- 深度解析(2026)《GBT 30042-2013个体防护装备 眼面部防护 名词术语》
- 《GBT 5662-2013轴向吸入离心泵(16bar) 标记、性能和尺寸》(2026年)合规红线与避坑实操手册
- 《GBT 1954-2008铬镍奥氏体不锈钢焊缝铁素体含量测量方法》(2026年)合规红线与避坑实操手册
- 2026年食品加工厂安全生产责任协议(豆制品)
- 广东省汕头市2025届高三下学期一模英语试题(含答案)
- 中药材物流、冷链、仓储、切片深加工项目可行性研究报告模板-立项拿地
- 2025北京二中高二(上)第一次月考生物试题及答案
- 智慧病房ICU重症监护多模态生命体征高质量时序数据集详细设计方案
- 植物类职业发展路径
- 2026年院感标准防护试题及答案
- 2025年揭阳市揭西县招聘卫生健康事业单位人员考试试卷真题
- 2026年国家电网招聘《公共与行业知识》考试题库附完整答案详解(历年真题)
- 养老院动火审批制度及流程
- 2026年西安石油大学辅导员招聘(10人)笔试参考题库及答案解析
- 中百邻里购线上运营
- 2026年高考作文复习:多则材料作文审题立意方法指导
- 2026年春人教版(2024)八年级下册英语期中复习Unit 1~4+期中共5套测试卷(含答案)
- 2026秋招:天津食品集团面试题及答案
- 2026年中国化工经济技术发展中心招聘备考题库完整参考答案详解
- (正式版)DB23∕T 2716-2020 《黑龙江省城镇供水经营服务标准》
评论
0/150
提交评论