




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库上机实验报告1一、实验目的:理解SQL Server数据库的存储结构,掌握SQL Server数据库的建立方法和维护方法。二、实验内容:在SQL Server环境下建立数据库和维护数据库。三、程序源代码:-1CREATEDATABASEtest1ON(NAME=test1_dat,FILENAME=f:DBdatatest1dat.mdf,SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 )LOGON(NAME=order_log,FILENAME=f:DBdatatest1log.ldf,SIZE= 5MB,MAXSIZE= 25MB,FILEGROWTH= 5MB)-2createdatabasetest2onprimary(name=test2_dat1,filename=f:DBdatatest2dat1.mdf),(name=test2_dat2,filename=f:DBdatatest2dat2.ndf),(name=test2_dat3,filename=f:DBdatatest2dat3.ndf)logon(name=test2_log1,filename=f:DBdatatest2log1.ldf),(name=test2_log2,filename=f:DBdatatest2log2.ldf)-3createdatabasetest3onprimary(name=test3_dat1,filename=f:DBdatatest3dat1.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=e:DBdatatest3dat6.ndf)logon(name=test3_log,filename=f:DBdatatest3log.ldf)-4alterdatabasetest1addfile(name=test1new_dat,filename=f:DBdatatest1newdat.ndf,size=5MB)-5alterdatabasetest1modifyfile(name=test1_dat,size=15MB)-6dropdatabasetest3四、实验数据、结果分析:若没有指定size,则默认为1MB,没有指定Maxsize,文件可以增长到磁盘满为止,没有指定Filegrowth,则默认为10%。五、总结:CREATE DATABASE dataname创建数据库ALTER DATABASE database修改数据库DROP DATABASE dataname删除数据库数据库系统及应用 上机实验报告2一、实验目的:掌握表和索引的建立方法及表结构的修改方法,并实践DBMS提供的数据完整性功能,加深对数据完整性的理解。二、实验内容:建立表,修改表结构,建立索引,数据完整性描述。三.、程序源代码:createdatabase订单管理createtable 客户(客户号 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-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) constraint uni unique,单价 smallmoney constraint dj check(单价0)create table订购单(客户号 char(8) no tnull foreign key references客户,订单号 char(8) primary key,订购日期 datetime default getdate()create table订单名细(订单号 char(8) foreign key references订购单,序号 tinyint,产品号 char(8) not null foreign key references产品,数量 smallin tconstraint sl check(数量0),primarykey(订单号,序号)-修改产品表-1alter table产品dropconstraint unialter table产品altercolumn规格说明 varchar(40)alter table产品add constraint uni unique(规格说明)-2alter table订购单 add 完成日期 datetime default null-3alter table订单名细 drop constraint slalter table订单名细 add constraint sl check(数量0 and数量1000)-建立索引-1create index cus_idx on客户(客户名称)-2createunique index gdn_nui on产品(产品名称)-3创建表时,primary key隐式地创建了聚集索引,而一个表中只能有一个聚集索引。create clustered index oid_clus on订购单(订单号) -失败-4create index item_idx on订单名细(订单号,序号,数量 desc)数据库系统及应用 上机实验报告3一、实验目的:为实验2建立的表设计一组数据进行插入、删除、修改等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。二、实验内容:数据的插入、更新和删除。三.、程序源代码:-1、部分记录insertinto客户values(C001,A公司,小明,北京,123456,143567568457)insertinto客户values(C002,B公司,小李,上海,234567,146389045634)insertinto客户(客户号,客户名称)values(C009,J商场)insertinto产品values(GD001,iphone,4s,5000)insertinto产品values(GD002,ipad,2g,5500)insertinto产品(产品号,产品名称)values(GD010,Mac Pro)insertinto订购单(客户号,订单号)values(C001,or01)insertinto订购单(客户号,订单号)values(C001,or02)insertinto订购单(订单号)values(or19)insertinto订单名细 values(or01,1,GD001,4)insertinto订单名细 values(or01,2,GD001,3)insertinto订单名细 values(or01,3,GD002,6)insertinto订单名细(订单号,序号,产品号)values(or14,28,GD006)-2deletefrom客户where客户号=C001-受参照完整性约束deletefrom订购单where订单号=or01-受参照完整性约束-3update订购单set订单号=nullwhere客户号=C001-受实体完整性约束update订购单set客户号=C011where订单号=or04-受参照完整性约束update订购单set客户号=C009where订单号=or07-更新成功update订单名细set数量=0 where序号=9-受用户定义完整性约束-4update订单名细set数量=数量+10from订购单where订购单.订单号=订单名细.订单号and客户号=C002-5deletefrom订单名细from订购单where订购单.订单号=订单名细.订单号and客户号=C002四、实验数据、结果分析:-2在删除客户号为“C002”的记录时无法删除,因为客户表被订购单表参照。删除订购单号为“or01”的记录时无法删除,因为订单名细表参照订购单表。-3第一个更新根据实体完整性约束,订单号是主关键字,不能为空值。第二个更新根据参照完整性约束,订购单表参照客户表,而客户表中没有客户号为“C011”的客户。第四个更新根据用户定义完整性约束,数量必须为正整数。-4使客户号为C002的订购单的订购数量增加10.-5删掉客户号为C002的订单名细记录。五、总结:插入:INSERT INTO (,)values(,)更新:update set =,=from where删除:DELETE FROM FROM WHERE 完整性约束影响插入、更新和删除等操作数据库系统及应用 上机实验报告4一、实验目的:熟练掌握SQL SELECT语句,能够运用该语句完成各种查询。二、实验内容:用SQL SELECT语句完成各种数据查询。三.、程序源代码:-1select * from 客户-2select 客户号 from 订购单-3select * from 产品 where 单价=5000-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-1and c.客户号=o.客户号-7select distinct 客户名称,联系人,电话from 客户 c,产品 g,订购单 o,订单名细 dwhere 产品名称=iphoneand 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 产品 where 规格说明=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 产品号=(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.产品号group by 订单号-21select i.订单号,MAX(数量*单价) 最高金额,MIN(数量*单价) 最低金额from 订购单 o,产品 g,订单名细 iwhere o.订单号=i.订单号and g.产品号=i.产品号and 产品名称=iphonegroup by i.订单号-22select 订单号,COUNT(*) 项目数,AVG(数量*单价) 平均金额from 产品 g,订单名细 iwhere g.产品号=i.产品号group by 订单号having COUNT(*)=2-23select 客户名称,联系人,电话,订单号from 客户 c,订购单 owhere 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 *from 客户where exists(select *from 订购单where 客户.客户号=订购单.客户号)-28select 产品名称from 产品where 单价= any(select 单价/2from 产品)-29select 产品名称from 产品where 单价 all(select max(单价) from 产品)-30-crossselect * from 客户 cross join 订购单where 客户.客户号=订购单.客户号-innerselect * from 客户 inner join 订购单on 客户.客户号=订购单.客户号-leftselect 客户.*,订单号,订购日期from 客户 left join 订购单on 客户.客户号=订购单.客户号-rightselect 客户.*,订单号,订购日期from 客户 right join 订购单on 客户.客户号=订购单.客户号-fullselect 客户.*,订单号,订购日期from 客户 full join 订购单on 客户.客户号=订购单.客户号数据库系统及应用 上机实验报告5一、实验目的:理解视图的概念,掌握视图的使用方法。二、实验内容:定义视图,并在视图上完成查询、插入、更新和删除操作。三.、程序源代码: -1-1)、基于单个表按投影操作定义视图create view 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 view 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西南宁市第四十七中学秋季学期招聘4人(教师+工勤)笔试模拟试题及答案解析
- 2025北京市法院系统事业单位第二次招聘2人笔试模拟试题及答案解析
- 2025年合肥滨湖时光空间运营管理有限公司招聘1人考试模拟试题及答案解析
- 2025广东省深圳市翻身实验学校(西校区)诚聘初中数学、初中历史和高中英语教师3人笔试参考题库附答案解析
- 2025年湖南张家界市永定区事业单位人才引进30人笔试模拟试题及答案解析
- 毕业论文答辩首页
- 燃气专业毕业论文范文
- 企业安全生产模拟考试测验卷及答案
- 毕业论文一级二级标题
- 银行业客户体验优化与服务创新方案
- 房建监理平行检查记录表格模板(参考版)
- 计算机操作系统(第四版)-汤小丹-课后习题答案
- 《财务管理》课程教学实施方案
- 露天采矿设计技术规定
- 检验科生物安全风险评估报告
- 12生物分子网络ppt课件
- 手术室护士长工作手册-精品完整版
- 数独比赛六宫练习题96道练习
- 大学体育四——啦啦操的教学设计
- (高清正版)T_CAGHP 006—2018泥石流灾害防治工程勘查规范(试行)
- 电力工程常用数据资料与计算速查手册
评论
0/150
提交评论