数据库原理实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理实验报告

《数据库原理》

实验一报告

学生姓名

学号

学院

专业班级

完成时间 2013/10/30

实验1:创建表和实施数据完整性

一、实验目的:

1、了解DBMS的工作环境和系统构架。

2、熟悉通过SQL对数据库进行操作。

二、实验内容(附代码):

1.创建表、更新表和实施数据完整性

(1)运行给定的SQL Script,建立数据库GlobalToyz。

(2)了解表的结构,建立所有表的关系图。

(3)利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。

(4)查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)。

(5)对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。

alter table toys

add check(siToyQoh>0 and siToyQoh<200);

2.查询数据库

(1)显示属于California和Illinoi州的顾客的名、姓和emailID

select vFirstName,vLastName,vEmailId

from dbo.Shopper

where cState IN ('California','Illinoi');

(2)显示定单号码、顾客ID,定单的总价值,并以定单的总价值的升序排列。

select cOrderNo,cShopperId,mTotalCost

from dbo.Orders

ORDER BY mTotalCost ASC;

(3)显示在orderDetail表中vMessage为空值的行。

select *

From dbo.OrderDetail

where vMessage IS NULL;

(4)显示玩具名字中有“Racer”字样的所有玩具的基本资料。

select *

From dbo.Toys

Where vToyName LIKE '%Racer%';

(5)列出表PickofMonth中的所有记录,并显示中文列标题。

select cToyId as '玩具ID',siMonth as'月份',iYear as'年份',iTotalSold as '总销量'

from PickOfMonth

(6)根据2000年的玩具销售总数,显示“Pick of the Month”玩具的前五名玩具的ID。

select top 5 cToyId,SUM(iTotalSold) as total from PickOfMonth where iYear='2000' group by cToyId

Order By total DESC;

(7)根据OrderDetail表,显示玩具总价值大于¥50的定单的号码和玩具总价值。

select cOrderNo,mToyCost

From dbo.OrderDetail

Where mToyCost>50;

(8)显示一份包含所有装运信息的报表,包括:Order Number, Shipment Date, Actual Delivery Date, Days in Transit. (提示:Days in Transit = Actual Delivery Date – Shipment Date) Selectc

OrderNumber,ShipmentDate,dActualDeliveryDate,datediff(

dd,dShipmentDate,dActualDeliveryDate) DaysInTransit, from shipment

(9)显示所有玩具的名称、商标和种类(Toy Name, Brand, Category)。

select vToyName,cBrandName,cCategory

from Category,Toys,ToyBrand

where ategoryId=ategoryId and

Toys.cBrandId=ToyBrand.cBrandId

order by cBrandName

(10)以下列格式显示所有购物者的名字和他们的简称:(Initials, vFirstName, vLastName),例如Angela Smith的Initials为A.S。

select left(vFirstName,1)+'.'+left(vLastName,1)

Initials,vFirstName,vLastName

from shopper

(11)显示所有玩具的平均价格,并舍入到整数。

select ROUND(avg(mtoyrate),0) averagerate

from toys

(12)显示所有购买者和收货人的名、姓、地址和所在城市,要求显示结果中的重复记录。

select vFirstName,vLastName,vAddress,cCity

from Shopper

union

select vFirstName,vLastName,vAddress,cCity

from Recipient

(13)显示没有包装的所有玩具的名称。(要求用子查询实现)select vToyName

from toys

where cToyId IN

(select cToyId

from OrderDetail

where cWrapperId is null)

(14)显示已收货定单的定单号码以及下定单的时间。(要求用子查询实现)

select cOrderNo,dOrderDate

相关文档
最新文档