数据库实验第一次实验报告.docx
- 文档编号:11559373
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:13
- 大小:919.48KB
数据库实验第一次实验报告.docx
《数据库实验第一次实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验第一次实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
数据库实验第一次实验报告
《数据库系统概论》实验报告
姓名:
专业班级:
学号:
实验1:
创建表和实施数据完整性
1.运行给定的SQLScript,建立数据库GlobalToyz
2、了解表的结构。
3利用系统预定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等
4.利用系统预定义的存储过程sp_helpconstraint查看所有表中出现的约束(包括Primarykey,Foreignkey,checkconstraint,default,unique)
5.对表Toys实施下面数据完整性规则:
(1)玩具的现有数量应在0到200之间;
(2)玩具适宜的最低年龄缺省为1。
3.执行命令execsp_helpdbGlobalToyz
4.依次执行命令:
execsp_helpconstraintCategory
execsp_helpconstraintCountry
execsp_helpconstraintOrderDetail
execsp_helpconstraintOrders
execsp_helpconstraintPickOfMonth
execsp_helpconstraintRecipient
execsp_helpconstraintShipment
execsp_helpconstraintShippingMode
execsp_helpconstraintShippingRate
execsp_helpconstraintShopper
execsp_helpconstraintShoppingCart
execsp_helpconstraintToyBrand
execsp_helpconstraintToys
execsp_helpconstraintWrapper
5.
(1)altertabletoys
addconstraintsiToyQoh_sizecheck(siToyQoh>0andsiToyQoh<200)
(2)altertabletoys
addconstraintnewsiLowerAge_mincheck(siLowerAge>=1)
查询、更新数据库
1.显示属于California和Illinoi州的顾客的名、姓和emailID。
2.显示定单号码、顾客ID,定单的总价值,并以定单的总价值的升序排列。
3.显示在orderDetail表中vMessage为空值的行。
4.显示玩具名字中有“Racer”字样的所有玩具的基本资料。
5.列出表PickofMonth中的所有记录,并显示中文列标题。
6.根据2000年的玩具销售总数,显示“PickoftheMonth”玩具的前五名玩具的ID。
7.根据OrderDetail表,显示玩具总价值大于¥50的定单的号码和玩具总价值。
8.显示一份包含所有装运信息的报表,包括:
OrderNumber,ShipmentDate,ActualDeliveryDate,DaysinTransit.(提示:
DaysinTransit=ActualDeliveryDate–ShipmentDate)
9.显示所有玩具的名称、商标和种类(ToyName,Brand,Category)。
10.以下列格式显示所有购物者的名字和他们的简称:
(Initials,vFirstName,vLastName),例如AngelaSmith的Initials为A.S。
11.显示所有玩具的平均价格,并舍入到整数。
12.显示所有购买者和收货人的名、姓、地址和所在城市,要求显示结果中的重复记录。
13.显示没有包装的所有玩具的名称。
(要求用子查询实现)
14.显示已收货定单的定单号码以及下定单的时间。
(要求用子查询实现)
15.显示一份基于Orderdetail的报表,包括cOrderNo,cToyId和mToyCost,记录以cOrderNo升序排列,并计算每一笔定单的玩具总价值。
(提示:
使用运算符COMPUTEBY)。
16.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。
17.给id为‘000001’玩具的价格增加$1。
18.删除“Largo”牌的所有玩具。
答
1.selectvfirstname,vlastname,vemailid
fromshopperwherecstate='California'orcstate='Illinoi'
2.selectcOrderNo,cShopperId,mTotalCost
fromOrders
orderbymTotalCost
3.select*
fromorderDetail
wherevmessageisnull
4.selectvToyDescription
fromToys
wherevToyNamelike'Racer'
5、selectcToyIdas'玩具id',siMonthas'出厂月份',iYearas'出厂年份
',iTotalSoldas'出厂总数'
fromPickOfMonth
6.selecttop5cToyId
fromPickOfMonth
whereiyear=2000
orderbyiTotalsolddesc
7.selectcOrderNo,mToyCost
fromOrderDetail
wheremToyCost>50
8.selectcOrderNo,dShipmentDate,dActualDeliveryDate,
dActualDeliveryDate-dShipmentDateasDaysinTransit
fromshipment
9.selectvToyName,cBrandName,cCategory
fromToys,category,toybrand
whereToys.cbrandid=ToyBrand.cbrandid
andCategory.cCategoryid=Toys.cCategoryid
10.selectvFirstName,vLastName,
substring(vFirstName,1,1)+'.'+substring(vLastName,1,1)asInitials
fromshopper
11.selectround(avg(mtoyrate),0)asavgrate
fromtoys
12.selecta.vFirstName,a.vLastName,a.vAddress,a.cCity,
b.vFirstName,b.vLastName,b.vAddress,b.cCity
fromshoppera,Recipientb,orders
whereorders.cShopperId=a.cShopperId
andorders.cOrderNo=b.cOrderNo
13selectvToyName
fromtoys
wherecToyIdin(selectcToyId
fromOrderDetail
wherecWrapperIdisnull)
14..selectcOrderNo,dOrderDate
fromorders
wherecOrderNoin(selectcOrderNo
fromshipment
wheredActualDeliveryDateisnotnull)
15.selectcOrderNo,cToyId,mToyCost
fromorderdetail
orderbycOrderNo
computesum(mToyCost)bycOrderNo
16.ifexists(select*fromsysobjectswhere[name]='PremiumToys')
droptablePremiumToys
go
select*intoPremiumToysfromToys
wheremToyRate>20
select*fromPremiumToys
17.updateToyssetmToyRate=mToyRate+1wherecToyId='000001'
18.delete*
fromToys
whereBrandName=’Largo’
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 第一次 报告