数据库原理及应用——崔巍-书后上机实验_第1页
数据库原理及应用——崔巍-书后上机实验_第2页
数据库原理及应用——崔巍-书后上机实验_第3页
数据库原理及应用——崔巍-书后上机实验_第4页
数据库原理及应用——崔巍-书后上机实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上数据库 上机实验报告1一、实验目的:理解SQL Server数据库的存储结构,掌握SQL Server数据库的建立方法和维护方法。二、实验内容:在SQL Server环境下建立数据库和维护数据库。三、程序源代码:-1CREATE DATABASE test1ON (NAME=test1_dat,  FILENAME='f:DBdatatest1dat.mdf',  SIZE= 10,  MAXSIZE= 50,  FILEGROWTH

2、= 5 )LOG ON(NAME=order_log,  FILENAME='f:DBdatatest1log.ldf',  SIZE= 5MB,  MAXSIZE= 25MB,  FILEGROWTH= 5MB) -2create database test2onprimary(name=test2_dat1,filename='f:DBdatatest2dat1.mdf'),(name=test2_dat2,filename='f:

3、DBdatatest2dat2.ndf'),(name=test2_dat3,filename='f:DBdatatest2dat3.ndf')log on(name=test2_log1,filename='f:DBdatatest2log1.ldf'),(name=test2_log2,filename='f:DBdatatest2log2.ldf')-3create database test3onprimary(name=test3_dat1,filename='f:DBdatatest3da

4、t1.mdf'),(name=test3_dat2,filename='f:DBdatatest3dat2.mdf'),filegroupg2(name=test3_dat3,filename='d:DBdatatest3dat3.ndf'),(name=test3_dat4,filename='d:DBdatatest3dat4.ndf'),filegroupg3(name=test3_dat5,filename='e:DBdatatest3dat5.ndf'),(name=test3_dat6,filename=

5、9;e:DBdatatest3dat6.ndf')log on(name=test3_log,filename='f:DBdatatest3log.ldf')-4alter database test1add file(name=test1new_dat,filename='f:DBdatatest1newdat.ndf',size=5MB)-5alter database test1modify file(name=test1_dat,size=15MB)-6dropdatabase

6、test3四、实验数据、结果分析:若没有指定size,则默认为1MB,没有指定Maxsize,文件可以增长到磁盘满为止,没有指定Filegrowth,则默认为10%。五、总结:CREATE DATABASE dataname 创建数据库ALTER DATABASE database 修改数据库DROP DATABASE dataname 删除数据库数据库系统及应用 上机实验报告2一、实验目的:掌握表和索引的建立方法及表结构的修改方法,并实践DBMS提供的数据完整性功能,加深对数据完整性的理解。二、实验内容:建立表,修改表结构,建立索引,数据完整性描述。三.、程序源

7、代码: create database 订单管理 create table  客户(客户号  char(8)  primary  key  check(客户号  like  'A-z%'),客户名称  varchar(40)  not  null,联系人  char(8),地址  varchar(40),邮政编码  char(6)  check(邮政编码  like  &

8、#39;0-90-90-90-90-90-9'),电话  char(12)  check(电话  like  '10-90-90-90-90-90-90-90-90-90-90-9') create  table   产品(产品号  char(8)  primary  key  check(产品号  like  'A-ZA-Z%'),产品名称  varchar(40),规格说明  char(40)

9、  constraint  uni  unique,单价  smallmoney  constraint  dj  check(单价>0) create  table 订购单(客户号  char(8)  no  tnull  foreign  key  references 客户,订单号  char(8)  primary  key,订购日期  datetime  def

10、ault  getdate() create  table 订单名细(订单号  char(8)  foreign  key  references 订购单,序号  tinyint,产品号  char(8)  not  null  foreign  key  references 产品,数量  smallin  tconstraint  sl  check(数量>0),primary

11、key(订单号,序号) -修改产品表-1alter  table 产品drop constraint  unialter  table 产品alter column 规格说明  varchar(40)alter  table 产品add  constraint  uni  unique (规格说明)-2alter  table 订购单  add   完成日期  datetime

12、  default  null-3alter  table 订单名细  drop  constraint  slalter  table 订单名细  add  constraint  sl  check(数量>0 and 数量<1000)-建立索引-1create  index  cus_idx  on 客户(客户名称)-2create unique  index  

13、0;gdn_nui  on 产品(产品名称)-3  创建表时,primary key 隐式地创建了聚集索引,而一个表中只能有一个聚集索引。create  clustered  index   oid_clus  on 订购单(订单号)    -失败-4create  index   item_idx   on 订单名细(订单号,序号,数量  desc)数据库系统及应用 上机实验报告3一、实验目的:

14、为实验2建立的表设计一组数据进行插入、删除、修改等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。二、实验内容:数据的插入、更新和删除。三.、程序源代码: -1、部分记录insert into 客户 values('C001','A公司','小明','北京','','7')insert into 客户 values('C002','B公司','小李','上海

15、','','4')insert into 客户(客户号,客户名称) values('C009','J商场') insert into 产品 values('GD001','iphone','4s','5000')insert into 产品 values('GD002','ipad','2g','5500&

16、#39;)insert into 产品(产品号,产品名称) values('GD010','Mac Pro') insert into 订购单(客户号,订单号) values('C001','or01')insert into 订购单(客户号,订单号) values('C001','or02')insert into 订购单(订单号) values('or19&#

17、39;) insert into 订单名细  values('or01','1','GD001','4')insert into 订单名细  values('or01','2','GD001','3')insert into 订单名细  values('or01','3','GD002','6')inser

18、t into 订单名细(订单号,序号,产品号) values('or14','28','GD006')-2delete from 客户 where 客户号='C001' -受参照完整性约束delete from订购单 where 订单号='or01'  -受参照完整性约束-3update 订购单 set 订单号=null where 客户

19、号='C001'  -受实体完整性约束update 订购单 set 客户号='C011' where 订单号='or04'-受参照完整性约束update 订购单 set 客户号='C009' where 订单号='or07'  -更新成功update 订单名细 set 数量=0  where序号='9' -受用户

20、定义完整性约束-4update 订单名细 set 数量=数量+10from 订购单where 订购单.订单号=订单名细.订单号 and 客户号='C002'-5delete from 订单名细from 订购单where 订购单.订单号=订单名细.订单号 and 客户号='C002'四、实验数据、结果分析:-2在删除客户号为“C002”的记录时无法删除,因为客户表被订购单表参照。删除订购单号为“or01”的记录时无法删除,因为订单名细表

21、参照订购单表。-3第一个更新根据实体完整性约束,订单号是主关键字,不能为空值。第二个更新根据参照完整性约束,订购单表参照客户表,而客户表中没有客户号为“C011”的客户。第四个更新根据用户定义完整性约束,数量必须为正整数。-4使客户号为C002的订购单的订购数量增加10.-5删掉客户号为C002的订单名细记录。五、总结:插入:INSERT INTO <表名>(<列名>,<列名>)values(<表达式>,<表达式>)  更新:update <表名> set <列名>=<表达式>,

22、<列名>=<表达式>from<表名> where<逻辑表达式>删除:DELETE FROM <表名>FROM <表名>WHERE <逻辑表达式>完整性约束影响插入、更新和删除等操作数据库系统及应用 上机实验报告4一、实验目的:熟练掌握SQL SELECT语句,能够运用该语句完成各种查询。二、实验内容:用SQL SELECT语句完成各种数据查询。三.、程序源代码:-1select * from 客户-2select 客户号 from 订购单-3select * from 产品 where 单价>=5000-

23、4select * from 产品 where 单价>5000 and 产品名称='Macbook'-5select * from 产品 where 单价>6000 and 产品名称 in('Macbook','ipad')-6select c.客户名称,c.联系人,c.电话,o.订单号from 客户 c,订购单 owhere o.订购日期 between '2011-10-30' and '2011-12-1'and c.客户号=o.客户号 -7select distinct 客户名称,联系

24、人,电话from 客户 c,产品 g,订购单 o,订单名细 dwhere 产品名称='iphone'and g.产品号=d.产品号and d.订单号=o.订单号and o.客户号=c.客户号-8select * from 订单名细where 产品号 in(select 产品号from 产品where 产品名称='Macbook')-9select * from 订购单where 订单号 in(select 订单号from 订单名细where 数量>10)-10select * from 产品 where 单价 =(select 单价 from 产品 whe

25、re 规格说明='4s')-11select * from 产品 where 单价 between 1000 and 5000-12select * from 客户 where 客户名称 like '%集团'-13select * from 客户 where 客户名称 not like '%商场'-14select * from 产品 order by 单价-15select *from 产品order by 产品名称,单价-16select COUNT(产品号)from 产品-17select SUM(数量)from 订单名细where 产品号

26、=(select 产品号from 产品where 产品名称='ipad')-18select SUM(数量*单价) 总金额from 产品,订单名细where 产品.产品号=订单名细.产品号and 产品名称='ipod nano'-19select COUNT(distinct 订单号)as 订购单个数,AVG(数量*单价)as 平均金额from 产品,订单名细where 产品.产品号=订单名细.产品号-20select 订单号,COUNT(订单号) 项目数,SUM(g.单价*o.数量) 总金额from 产品 g,订单名细 owhere g.产品号=o.产品号gr

27、oup by 订单号-21select i.订单号,MAX(数量*单价) 最高金额,MIN(数量*单价) 最低金额from 订购单 o,产品 g,订单名细 iwhere o.订单号=i.订单号and g.产品号=i.产品号and 产品名称='iphone'group by i.订单号-22select 订单号,COUNT(*) 项目数,AVG(数量*单价) 平均金额from 产品 g,订单名细 iwhere g.产品号=i.产品号group by 订单号having COUNT(*)>=2-23select 客户名称,联系人,电话,订单号from 客户 c,订购单 owh

28、ere c.客户号=o.客户号and 订购日期 is null-24select 客户名称,联系人,电话,订单号,订购日期from 客户,订购单where 客户.客户号=订购单.客户号and 订购日期>'2011-10-10'-25select *from 产品 outawhere 单价=(select MAX(单价)from 产品 innerawhere outa.产品名称=innera.产品名称)-26select 客户号from 客户where not exists(select *from 订购单where 客户.客户号=订购单.客户号)-27select *fr

29、om 客户where exists(select *from 订购单where 客户.客户号=订购单.客户号)-28select 产品名称from 产品where 单价= any(select 单价/2 from 产品)-29select 产品名称from 产品where 单价 >all(select max(单价) from 产品)-30-crossselect * from 客户 cross join 订购单where 客户.客户号=订购单.客户号-innerselect * from 客户 inner join 订购单on 客户.客户号=订购单.客户号-leftselec

30、t 客户.*,订单号,订购日期from 客户 left join 订购单on 客户.客户号=订购单.客户号-rightselect 客户.*,订单号,订购日期from 客户 right join 订购单on 客户.客户号=订购单.客户号-fullselect 客户.*,订单号,订购日期from 客户 full join 订购单on 客户.客户号=订购单.客户号数据库系统及应用 上机实验报告5一、实验目的:理解视图的概念,掌握视图的使用方法。二、实验内容:定义视图,并在视图上完成查询、插入、更新和删除操作。三.、程序源代码:  -1-1)、基于单个表按投影操作定义视图create vi

31、ew v_cus asselect 客户号,客户名称from 客户-使用select * from v_cus-2)、基于单个表按选择操作定义视图create view v_order asselect *from 订购单where 客户号='C001'-使用select * from v_order-3)、基于单个表按选择和投影操作定义视图create view v_cuss asselect 客户名称,联系人,电话from 客户where 客户号='C003'-使用select * from v_cuss-4)、基于多个表根据连接操作定义视图create v

32、iew v_join asselect 客户.*,订单号,订购日期from 客户 join 订购单on 客户.客户号=订购单.客户号-使用select * from v_join-5)、基于多个表根据嵌套查询定义视图create view v_item asselect * from 订单名细where 产品号 in(select 产品号from 产品where 产品名称='Macbook')-使用select * from v_item-6)、查定义含有虚字段的视图create view v_items(订单号,序号,产品号,数量,总金额) asselect i.*,i.数量*g.单价from 订单名细 i,产品 gwhere i.产品号=g.产品号-使用select * from v_items-2-在视图上查询select * from v_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论