




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数据库系统及应用第二版课后上机答案实验章节:第一,二,三,四,五,七实验一、实验目的:熟悉数据库的基本操作,会运用sql处理问题二、实验内容:1.建立数据库 ,2.建立表和数据完整性,3.SQL数据操作,4.SQL数据查询,5视图的定义和操作,7.存储过程三.、程序源代码:实验一:1. create database test1on(name=test1_dat,filename='d:lydatatest1dat.mdf',size=5MB)log on(name=test1_log,filename='d:lydatatest1log.ld
2、f')2.create database test2onprimary(name=test2_dat1,filename='d:lydatatest2dat1.mdf'),(name=test2_dat2,filename='d:lydatatest2dat2.ndf'),(name=test2_dat3,filename='d:lydatatest2dat3.ndf')log on(name=test2_log1,filename='d:lydatatest2log1.ldf'),(name=test2_log2,fil
3、ename='d:lydatatest2log2.ldf')3. create database test3onprimary(name=test3_dat,filename='d:lydatatest3dat.mdf'),filegroup w1(name=test3_dat1,filename='d:lydatatest3dat1.ndf'),(name=test3_dat2,filename='d:lydatatest3dat2.ndf'),filegroup w2(name=test3_dat3,filename='
4、;e:lydatatest3dat3.ndf'),(name=test3_dat4,filename='e:lydatatest3dat4.ndf'),filegroup w3(name=test3_dat5,filename='f:lydatatest3dat5.ndf'),(name=test3_dat6,filename='f:lydatatest3dat6.ndf')log on(name=test3_log,filename='d:lydatatest3log.ldf')4. alter database tes
5、t1add file(name=new_dat,filename='d:lydatanewdat.ndf',size=5MB)5. alter database test1modify file(name=test1_dat,size=10 MB )6. Drop database test1Drop database test2Drop database test3实验21建库:CREATE DATABASE 订单管理ON ( NAME = order_dat,FILENAME = 'd:lydataorderdat.mdf',SIZE = 10,MAXSIZ
6、E = 50,FILEGROWTH = 5 )LOG ON( NAME = order_log,FILENAME = 'd:lydataorderlog.ldf',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB ) 建表: 客户号 char(8) primary key check(客户号 like 'A-z%'), 客户名称 varchar(40) not null, 联系人 char(8), 地址 varchar(40), 邮政编码 char(6) check(邮政编码 like '0-90-90-90-90-9
7、0-9'), 电话 char(12) check(电话 like '0-90-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) constraint uni unique,单价 smallmoney constraint dj check(单价>0)create table 订购单(客户号 char(8) not null foreign
8、key references 客户,订单号 char(8) primary key,订购日期 datetime default getdate()create table 订单名细(订单号 char(8) foreign key references 订购单,序号 tinyint,产品号 char(8) not null foreign key references 产品,数量 smallint constraint sl check(数量>0)primary key(订单号,序号)2.1、先取消唯一性约束:alter table 产品 drop constraint unialter
9、table 产品 alter column 规格说明 varchar(40) 2.2 alter table 订购单 add 完成日期 datetime null2.3 先取消约束 alter table 订单名细 drop constraint num;ALTER TABLE 订单名细 ADD CONSTRAINT num CHECK (数量 >= 0 AND 数量 <= 1000)alter table 订单名细 drop constraint num3.1 create index sup_kh_idx on 客户(客户名称)3.2 create unique index c
10、p_idx on 产品(产品名称)3.3由于create table命令中 的primary key 约束将隐式创建聚集索引,且在创建表时已经指定了关键字,则不可以再创建聚集索引3.4create index dd_mx_idx on 订单名细(订单号,序号,数量 desc)四、实验数据、结果分析:实验3客户表:订购单:订单名细:产品:1、insert into 订单名细 values( 'dd16','32','cp56','150')insert 客户(客户号,客户名称 )values ('E20','
11、广西电子')订购单备份:select* into 订购单备份 from 订购单select * from 订购单备份2、delete from 客户 where 客户号='E10'delete from 客户 where 客户号='E10'3、update 订单名细set 数量=225where 订单号='dd13'4、update 订购单set 订购日期='2011-10-11'where 订单号 in (select 订单号 from 订单名细 where 产品号 in (select 产品号 from 产品 wher
12、e 产品名称='MP4')5delete from 订购单where 客户号 in( select 客户号 from 客户 where 客户名称='华中电子厂')由于语句与 REFERENCE 约束"FK_订单名细_订单号_145C0A3F"冲突。该冲突发生于数据库"订单管理",表"dbo.订单名细", column '订单号'。语句已终止。实验41、select * from 客户2 .select distinct 客户号 from 订购单 where 订单号 is not null
13、3、Select * from 产品 where 单价>5004Select * from 产品 where 单价>200 and 产品名称='MP4'5、select * from 产品 where (单价>500)and (产品名称='MP7' or 产品名称='HTC手机')6、select 客户名称 ,联系人 ,电话 ,订单号from 订购单 ,客户where 订购单.客户号=客户.客户号 and 订购日期='2011-10-11 00:00:00.000'7、select 客户名称,联系人,电话from
14、 客户,订购单,订单名细,产品where (客户.客户号=订购单.客户号 and 订购单.订单号=订单名细.订单号 and 订单名细.产品号=产品.产品号) and 产品名称='MP4'8、select * from 订单名细 where 产品号 in (select 产品号 from 产品 where 产品名称='MP3')9、select * from 订购单where 订单号 in (select 订单号 from 订单名细 where 数量>200)10、select * from 产品 where 单价=(select 单价 from 产品 wh
15、ere 产品名称='HTC手机')11、 select* from 产品 where 单价 between 200 and 350 12、 select * from 客户 where 客户名称 like'%公司'13、 select * from 客户 where 客户名称 not like'%电子厂'14、 select * from 产品 order by 单价15、 select * from 产品 order by 产品名称,单价16、 select COUNT (distinct 产品名称) from 产品17. select sum
16、 (数量) from 订单名细 where 产品号 in(select 产品号 from 产品 where 产品名称='MP4')18、 select SUM (数量*单价) from 订单名细,产品 where 订单名细.产品号 =产品.产品号 and 产品名称='MP4'19、 select count(订单号),avg(数量*单价)from 产品,订单名细 where 订单名细.产品号 =产品.产品号20. SELECT 订单号,COUNT(订单名细.产品号) AS 项目数,SUM( 产品.单价 * 订单名细.数量 ) AS 总金额 FROM 订单名细,
17、产品 WHERe 订单名细.产品号 = 产品.产品号 GROUP BY 订单号21、select 客户.客户号,产品.产品号,数量*单价 as 总金额from 客户,订购单,订单名细,产品where 客户.客户号=订购单.客户号 and 订购单.订单号=订单名细.订单号 and 订单名细.产品号=产品.产品号 and 产品名称='MP3'order by 客户号 compute max(数量*单价),min (数量*单价) by 客户号22、select 订单号,avg(数量*单价)as 平均金额,count(产品.产品号)from 订单名细,产品where 订单名细.产品号=
18、产品.产品号group by 订单号 having count(序号)>=223 select 客户名称,联系人,电话,订购单.订单号 from 客户, 订单名细,订购单where(客户.客户号= 订购单.客户号 ) and 订购日期 is null24. select 客户名称,联系人,电话,订单号,订购日期from 客户,订购单where 客户.客户号=订购单.客户号 and 订购日期>'2011-10-1'25. select outa.产品号,outa.产品名称, outa.规格说明, outa.单价from 产品 outawhere 单价= (SELECT
19、 max(单价) FROM 产品 innera WHERE outa.规格说明= innera.规格说明)26. select * from 客户 where not exists ( select* from 订购单 where 客户号=订购单.客户号 ) 27. select * from 客户 where exists ( select* from 订购单 where 客户号=订购单.客户号 ) 28.select * from 产品 where(单价>any(select 单价/2 from 产品 where 产品名称='HTC手机')29.select * fr
20、om 产品 where(单价>all(select 单价 from 产品 where 产品名称='HTC手机')30.1. select *from 客户 cross join 订购单 where 客户.客户号= 订购单.客户号30.2 select *from 客户 inner join 订购单 on 客户.客户号= 订购单.客户号30.3 select 客户.客户号,客户名称, 联系人,地址,邮政编码,电话 ,订单号,订购日期 from 客户 left join 订购单 on 客户.客户号= 订购单.客户号30.4 select 客户.客户号,客户名称, 联系人,地址
21、,邮政编码,电话 ,订单号,订购日期 from 客户 right join 订购单 on 客户.客户号= 订购单.客户号30.5 select 客户.客户号,客户名称, 联系人,地址,邮政编码,电话 ,订单号,订购日期 from 客户 full join 订购单 on 客户.客户号= 订购单.客户号实验51.create view k_hu as select * from 客户 where 客户名称='东方电子厂'查询:select * from k_hu2.create view ke_h as select 客户号,客户名称 from 客户查询: select * fro
22、m ke_h3.create view ke_hu as select 联系人,电话 from 客户 where 客户名称='东方电子厂'查询: select * from ke_hu.4.给出地址在广州有订购产品MP4的客户名称create view k_kehu as select 客户名称 from 客户,订购单,订单名细,产品 where 地址='广州' and 客户.客户号=订购单.客户号 and 订购单.订单号=订单名细.订单号 and 订单名细.产品号=产品.产品号 and 产品名称='MP4'查询 :select * from k
23、_kehu5 确定哪些客户名称目前没有订购单的视图create view dd_gg as select * from 客户 where not exists ( select* from 订购单 where 客户号=订购单.客户号 ) 查询: select * from dd_gg6,定义视图 包含订单号,产品号,数量订单总金额create view d_ming (订单号,产品号,数量,总金额)as select 订单号,订单名细.产品号,数量,单价*数量 from 订单名细,产品 where 订单名细.产品号=产品.产品号 查询:select *from d_ming2.1 删除视图 d
24、rop view <视图名> 例如 drop view dd_gg插入:对第五个视图进行插入insert dd_gg values ('E33','南华电子','李然','南宁','','2') 第六个视图插入 insert d_ming values ('dd23','cp33','160','30000')更新:更新第一个视图:update k_hu set 客户名称='东方电子公司' where 客户号='E12'实验7 CREATE PROCedur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物化学分子基础概念题库及解析
- 珠宝首饰行业设计大赛试题
- 药品进口代理协议
- 2025年经济师备考方法分享试题及答案
- 人员管理与绩效考核试题及答案
- 项目扩展及合作策略试题及答案
- 信阳市学法用法考试试题及答案
- 防钓鱼测试题及答案
- 急诊精神科的合作模式计划
- 购房贷款协议书
- 客货线铁路隧道锚杆施工作业指导书
- 石英矿石购销合同
- 艾滋病快速抗体检测标准操作规程
- 公路养护的高级工复习题
- 三人合伙经营协议书 doc 三人合伙经营协议书实用版(六篇)
- 葡萄酒品尝学第八章-2013
- JJF 1303-2011雾度计校准规范
- t轴重DZ2型转向架
- GB/T 17791-2017空调与制冷设备用铜及铜合金无缝管
- 换热器检修施工综合方案
- 铁路防洪培训课件
评论
0/150
提交评论