1、test3(name=test3_dat1,DBdatatest3dat1.mdf(name=test3_dat2,DBdatatest3dat2.mdffilegroupg2(name=test3_dat3,d:DBdatatest3dat3.ndf(name=test3_dat4,DBdatatest3dat4.ndffilegroupg3(name=test3_dat5,e:DBdatatest3dat5.ndf(name=test3_dat6,DBdatatest3dat6.ndf(name=test3_log,DBdatatest3log.ldf-4alteraddfile(name
2、=test1new_dat,DBdatatest1newdat.ndfsize=5MB)-5modify(name=test1_dat,size=15MB)-6dropdatabasetest3四、实验数据、结果分析:若没有指定size,则默认为1MB,没有指定Maxsize,文件可以增长到磁盘满为止,没有指定Filegrowth,则默认为10%。五、总结:CREATE DATABASE dataname创建数据库ALTER DATABASE database修改数据库DROP DATABASE dataname删除数据库数据库系统及应用 上机实验报告2掌握表和索引的建立方法及表结构的修改方法
3、,并实践DBMS提供的数据完整性功能,加深对数据完整性的理解。建立表,修改表结构,建立索引,数据完整性描述。三.、程序源代码:订单管理table 客户(客户号 char(8) primary key check(客户号 like A-z%客户名称 varchar(40) not null,联系人 char(8),地址 varchar(40),邮政编码 char(6) check(邮政编码 0-90-90-90-90-90-9电话 char(12) check(电话 10-90-90-90-90-90-90-90-90-90-90-9)create 产品(产品号 check(产品号 A-ZA-Z
4、%产品名称 规格说明 char(40) constraint uni unique,单价 smallmoney dj check(单价0)table订购单(no tnull foreign references客户,订单号 key,订购日期 datetime default getdate()订单名细(订购单,序号 tinyint,null 产品,数量 smallin tconstraint sl check(数量0),primarykey(订单号,序号)-修改产品表alter 产品dropuni产品altercolumnvarchar(40)产品add unique(规格说明)订购单 完成日
5、期 null订单名细 drop sladd 0 and数量1000)-建立索引index cus_idx on客户(客户名称)unique gdn_nui 产品(产品名称)-3创建表时,primary key隐式地创建了聚集索引,而一个表中只能有一个聚集索引。clustered oid_clus 订购单(订单号) -失败item_idx 订单名细(订单号,序号,数量 desc)数据库系统及应用 上机实验报告3为实验2建立的表设计一组数据进行插入、删除、修改等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。数据的插入、更新和删除。-1、部分记录insertinto客户value
6、s(C001,A公司小明北京123456143567568457C002B公司小李上海234567146389045634客户(客户号,客户名称)C009J商场产品GD001iphone4s5000GD002ipad2g5500产品(产品号,产品名称)GD010Mac Pro订购单(客户号,订单号)or01or02订购单(订单号)or1914236订单名细(订单号,序号,产品号)or1428GD006deletefromwhere客户号=-受参照完整性约束from订购单订单号=update订购单set订单号=null-受实体完整性约束C011or04or07-更新成功订单名细数量=0 wher
7、e序号=9-受用户定义完整性约束数量=数量+10订购单订购单.订单号=订单名细.订单号and订单名细在删除客户号为“C002”的记录时无法删除,因为客户表被订购单表参照。删除订购单号为“or01”的记录时无法删除,因为订单名细表参照订购单表。第一个更新根据实体完整性约束,订单号是主关键字,不能为空值。第二个更新根据参照完整性约束,订购单表参照客户表,而客户表中没有客户号为“C011”的客户。第四个更新根据用户定义完整性约束,数量必须为正整数。使客户号为C002的订购单的订购数量增加10.删掉客户号为C002的订单名细记录。插入:INSERT INTO (,)values()更新:update
8、set =from where删除:DELETE FROM FROM WHERE =50005000 and 产品名称=Macbook6000 and 产品名称 in(select 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 产品名称=and g.产品号=d.产品号and d.订单号=o.订单号and o.客户号=c.客户
9、号-8select * from 订单名细where 产品号 in(select 产品号from 产品-9select * from 订购单where 订单号 in(select 订单号from 订单名细where 数量10)-10select * from 产品 where 单价 =(select 单价 from 产品 where 规格说明=-11select * from 产品 where 单价 between 1000 and 5000-12select * from 客户 where 客户名称 like %集团-13select * from 客户 where 客户名称 not lik
10、e %商场-14select * from 产品 order by 单价-15select *order by 产品名称,单价-16select COUNT(产品号)-17select SUM(数量)where 产品号=(select 产品号-18select SUM(数量*单价) 总金额from 产品,订单名细where 产品.产品号=订单名细.产品号and 产品名称=ipod nano-19select COUNT(distinct 订单号)as 订购单个数,AVG(数量*单价)as 平均金额-20select 订单号,COUNT(订单号) 项目数,SUM(g.单价*o.数量) 总金额fr
11、om 产品 g,订单名细 owhere g.产品号=o.产品号group by 订单号-21select i.订单号,MAX(数量*单价) 最高金额,MIN(数量*单价) 最低金额from 订购单 o,产品 g,订单名细 iwhere o.订单号=i.订单号and g.产品号=i.产品号group by i.订单号-22select 订单号,COUNT(*) 项目数,AVG(数量*单价) 平均金额from 产品 g,订单名细 iwhere g.产品号=i.产品号having COUNT(*)=2-23select 客户名称,联系人,电话,订单号where c.客户号=o.客户号and 订购日期
12、 is null-24select 客户名称,联系人,电话,订单号,订购日期from 客户,订购单where 客户.客户号=订购单.客户号and 订购日期2011-10-10-25from 产品 outawhere 单价=(select MAX(单价)from 产品 innerawhere outa.产品名称=innera.产品名称)-26select 客户号from 客户where not exists(from 订购单where 客户.客户号=订购单.客户号)-27where exists(-28select 产品名称where 单价= any(select 单价/2from 产品)-29
13、where 单价 all(select max(单价) from 产品)-30-crossselect * from 客户 cross join 订购单-innerselect * from 客户 inner join 订购单on 客户.客户号=订购单.客户号-leftselect 客户.*,订单号,订购日期from 客户 left join 订购单-rightfrom 客户 right join 订购单-fullfrom 客户 full join 订购单数据库系统及应用 上机实验报告5理解视图的概念,掌握视图的使用方法。定义视图,并在视图上完成查询、插入、更新和删除操作。-1)、基于单个表按
14、投影操作定义视图create view v_cus asselect 客户号,客户名称-使用select * from v_cus-2)、基于单个表按选择操作定义视图create view v_order aswhere 客户号=select * from v_order-3)、基于单个表按选择和投影操作定义视图create view v_cuss asselect 客户名称,联系人,电话C003select * from v_cuss-4)、基于多个表根据连接操作定义视图create view v_join asfrom 客户 join 订购单select * from v_join-5)、
15、基于多个表根据嵌套查询定义视图create view v_item asselect * from v_item-6)、查定义含有虚字段的视图create view v_items(订单号,序号,产品号,数量,总金额) asselect i.*,i.数量*g.单价from 订单名细 i,产品 gwhere i.产品号=g.产品号select * from v_items-在视图上查询-在视图上插入insert into v_cus values(C012Google-在视图上更新update v_order set 订购日期=2011-11-29-在视图上删除delete from v_cus
16、数据库系统及应用 上机实验报告7理解存储过程的概念,掌握存储过程的使用方法,加深对客户/服务器机制的理解。存储过程的建立和执行。-1、查询单价范围在X元到Y元内的产品信息create proc sp_getgoodsprice1 money,price2 moneyaswhere 单价price1 and 单价price2if ERROR= 0return 0elsereturn -1-执行declare status intexecute status=sp_getgoods 1000,6000print status-2、查询在某年某月某日之后签订的订购单的客户信息create proc sp_or_cusdates datetimedatesdeclare status1 intexecute status1=sp_or_cus 2011-10-27print status1-3、将某产品的订购日期统一修改为一个指定日期create proc sp_upd_dategdname varchar(40),odate datetimeupdate 订购单set 订购日期=odatewhere 产品名称=gdname)declare status2 intexecute status2=sp_upd_date 2011-10-23print status2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1