酷猫写作 > 范文大全 > 工作报告 > 综合报告
栏目

数据库实验报告二

发布时间:2022-02-16 14:40:01 热度:66

数据库实验报告二范文

第1篇 数据库实验报告

数据库实验报告

课 程 实 验 报 告

课程名称:

学 号:

v201441129

姓 名:

吴光艺

指导老师:

胡 侃

专业班级:

计算机1402班

报告日期:

2016年4月22日

计算机科学与技术学院

一.实验目的

1.通过对某个数据库管理系统的安装使用,初步了解dbms的工作环境和系统架构

2.熟悉通过sql对数据库进行操作,完成下面的sql语句

3.学习系统的备份功能,学习系统的身份、权限配置操作,了解系统的查询性能分析功能。

4.熟悉通过sql对数据进行完整性检查性控制

二.实验平台

操作系统:win7 数据库管理系统:

server2008r2 交互式查询语言:sql语言

三.实验要求

1.在rdbms中建立一个数据库,进行实验所要求的各种操作,所有的sql操作均在此建立的的新数据库进行

(转 载于: 酷猫写作范文网)

2.根据一下要求认真进行实验,记录所有的实验用例 数据定义:基本表的创建,修改和删除,视图的创建和删除。

数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,删除数据,思想汇报专题修改数据,增加数据)

视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件) 3.使用sql对数据进行完整性控制(触发器),用实例证实,当操作违反了完整性约束条件时,系统是如何处理的

四.实验内容

1.sql练习部分:

创建三个关系:

商品表商品名称、商品类型

goodsgname char(20),gtype char(10)

主关键字为(商品名称)。商品类型为(电器、文具、服装。。。)

商场商场名称,所在地区

plazapname char(20),parea char(20)

主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。)

销售价格表商品名称、商场名称、当前销售价格、目前举办活动类型

salegname

(10)

主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。

create table goods

(

gname char(20) primary key,gtype char(10) char(20),pname char(20),price float,atype char

);

--主关键字为(商品名称)。商品类型为(电器、文具、服装。。。)

create table plaza

(

pname char(20) primary key,parea char(20)

);---- 商场商场名称,所在地区

create table sale

(

gname char(20),pname char(20),

price float,

atype char(10),

primary key(gname,pname),foreign key(gname) references goods(gname),foreign key(pname) references plaza(pname)

--销售价格表商品名称、酷猫写作范文网商场名称、当前销售价格、目前举办活动类型 );

insert into goods values ('电风扇','电器');

insert into goods values('电脑','电器');

insert into goods values('彩电','电器');

insert into goods values('空调','电器');

insert into goods values('热水器','电器');

insert into goods values('钢笔','文具');

insert into goods values('练习本','文具');

insert into goods values('墨水','文具');

insert into goods values('书包','文具');

insert into goods values('橡皮','文具');

insert into goods values('西装','服装');

insert into goods values('衬衣','服装');

insert into goods values('裙子','服装');

insert into goods values('内裤','服装');

insert into plaza values('苏宁','洪山');

insert into plaza values('国美','洪山');

insert into plaza values('中百','洪山');

insert into plaza values('国泰','洪山');

insert into plaza values('家乐福','汉口');

insert into plaza values('大洋百货','武昌');

insert into plaza values('武商','武昌');

insert into sale values('电风扇','苏宁',258,'打折');

insert into sale values('电风扇','国美',288,'送券');

insert into sale values('电风扇','中百',288,'');

insert into sale values('电风扇','国泰',275,'送券');

insert into sale values('电风扇','家乐福',188,'');

insert into sale values('电脑','苏宁',5000,'打折');

insert into sale values('电脑','国美',5200,'');

insert into sale values('电脑','中百',6400,'打折');

insert into sale values('电脑','国泰',5800,'送券');

insert into sale values('彩电','苏宁',2700,'打折');

insert into sale values('彩电','国美',2300,'送券');

insert into sale values('彩电','大洋百货',2900,'');

insert into sale values('热水器','苏宁',888,'打折');

insert into sale values('热水器','国美',488,'打折');

insert into sale values('热水器','中百',570,'');

insert into sale values('热水器','大洋百货',620,'送券');

insert into sale values('钢笔','中百',1,'打折');

insert into sale values('钢笔','大洋百货',5,'');

insert into sale values('钢笔','家乐福',3,'打折');

insert into sale values('练习本','中百',12,'送券');

insert into sale values('练习本','国泰',13,'');

insert into sale values('练习本','家乐福',6,'');

insert into sale values('墨水','中百',8,'送券');

insert into sale values('墨水','国泰',10,'打折');

insert into sale values('墨水','武商',15,'');

范文写作下页

数据库实验报告

insert into sale values('书包','中百',88,'打折');

insert into sale values('书包','家乐福',88,'');

insert into sale values('书包','武商',188,'打折');

insert into sale values('橡皮','中百',2,'打折');

insert into sale values('橡皮','家乐福',5,'');

insert into sale values('长裤','中百',188,'打折');

insert into sale values('长裤','家乐福',388,'打折');

insert into sale values('长裤','武商',590,'');

insert into sale values('长裤','国泰',288,'送券');

insert into sale values('短袖','中百',188,'');

insert into sale values('短袖','家乐福',459,'');

insert into sale values('短袖','武商',118,'');

insert into sale values('短袖','国泰',268,'');

insert into sale values('裙子','中百',288,'打折');

insert into sale values('裙子','家乐福',488,'');

insert into sale values('裙子','武商',588,'送券');

insert into sale values('裙子','国泰',128,'');

insert into sale values('短裤','中百',99,'');

insert into sale values('短裤','家乐福',118,'打折');

insert into sale values('短裤','武商',198,'');

insert into sale values('短裤','国泰',88,'');

update sale

set atype='null'

where atype='

';

6

table goods

table plaza

table sale

7

(转载于: 在点 网)

2.数据更新:范文top100

1)向上述表格中用sql语句完成增、删、改的操作;

2)编写一个触发器,并测试该触发器;

3)将sale表中的打折记录插入到新表sale_cheap中,并基于sale_cheap表创建一个统计每个商场各自打折商品平均价格的视图。

create table sale_cheap

8

(

gname char(20),pname char(20),

price float,

)

insert into sale_cheap(gname,pname,price,atype)

select gname,pname,price,atype

from sale

where atype='打折';

create view p_sale(pname,avg_price)

as

select pname,avg(price)

from sale_cheap

group by pname atype char(10),primary key(gname,pname),foreign key(gname) references goods(gname),foreign key(pname) references plaza(pname)

9

3.用sql语句完成下述查询需求:

1)查询所有以“打折”方式销售的商品的当前销售情况,并按照价格的降序排列;select gname,price

from sale

where atype='打折'

order by price desc;

2)查询所有没有任何活动的商品及其所在的商场,结果按照商品排序;

10

上页 下页

数据库实验报告

select gname,pname

from sale

where atype=null

order by gname;

3)查询价格在200~500元之间的商品名称、所在的商场名称、价格,结果按照商场名称排序;

select gname,pname,price

from sale

where price between 200 and 500

order by pname;

4)查询每种商品的最低价格、商品名称;

select gname,min(price)

from sale

group by gname;

5)查询以“送券”方式销售的商品总数超过30种的商场名称;

select pname

from sale

where atype='送券'

group by pname having count(*)>;15

6)查询以“送券”方式销售的商品总数超过30种的商场所在地区;

select parea

from plaza

where plaza.pname in

(

select sale.pname

from sale

where atype='送券'

group by sale.pname having count(*)>;

7)查询价格为下列取值之一的商品名称、所在商场名称、目前举办活动的类型,(88、188、288、388、488、588、888);

select gname,pname,atype

from sale

where price in(88,188,288,388,488,588,888)

8)查询以“老”字开头的所有商品的名称;(ps:由于三个关系设计的时候没有注意题目的要求,所以没有符合的选项,故自己有另外建了一个)

create table goods

(

gname char(20) primary key,gtype char(10)

);

--主关键字为(商品名称)。商品类型为(电器、文具、服装。。。)

insert into goods values ('电风扇','电器');

insert into goods values('电视','电器');

insert into goods values('冰箱','电器');

insert into goods values('老花镜','电器');

insert into goods values('老干妈','电器');

select *

from goods

where gname like '老

%';

9)查询同时销售“剃须刀”和“电池”的商场名称;

select s1.pname

from sale s1,sale s2

where s1.pname=s2.pname and s1.gname='剃须刀'

and s2.gname='电池'

10)查询不举办任何活动的商场;

select distinct pname

from sale

except

select distinct pname

from sale

where atype is not null;

11)查询所销售的商品包含了“校园超市”所销售的所有商品的商场名称。

select distinct pname

from sale sx

where not exists

(select * from sale sy where pname='校园超市'

and not exists ( select * from sale sz where sz.pname=sx.pname and sz.gname=sy.gname));

2.软件功能学习部分

(1)学习系统的备份功能。

利用sql server本身带有的备份功能(dts)把数据库全部或者差额定时备份到某个目录,一旦备份成功,这时候在指定的备份目录下有.bak文件存在,选择sqlserver 服务器的数据库,单击鼠标右键,选择“所有任务”选“备份数据库”即可

(2)学习系统的身份、权限配置操作。

打开“ssms—sql server实例—安全性—登录名”,右键选择“新建登录名”,选择身份验证模式(身份验证模式不同,帐户类型也不一样,),输入名字,并为该用户选择一个默认数据库(比如默认为master数据库)。该账户建立好之后,建立数据库用户,以便用户可以访问数据库,对数据库进行操作。我们在建立数据库用户时,其实就是映射登录用户,所以在一般情况下,我们的登录名和数据库用户名是一致的。操作方法:打开“ssms—sql server实例—具体的数据库—安全性—数据库用户”;最后是在具体的数据库对象(比如表)上授予具体的权限,三种权限:授予、回收、拒绝。

上页 下页

数据库实验报告

(3)了解系统的查询性能分析功能。

查询优化有下面3种方法:

a建立索引,建立“适当”的索引是实现查询优化的首要前提;

b重写sql语句(即重写查询语句),sql server中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化;

c其他优化方法(调整参数,建立视图,临时表等)

五.实验体会 通过数据库的多次的上机实验,使我对数据库以及sql语言有了一个更透彻的理解,对以前上课学习到的知识有了更深的认识,通过自己上机实验,对很多以前不是很清楚很明白的问题也有了更清醒的认识,在各种不同的环境中,也能够适时作出相应的调整,在某种程度上提高了自己对知识的领悟能力和学习能力。

通过这次设计,我受益非浅,亲身体验了数据库设计的全过程,在实践中了解了数据库系统设计的步骤、流程以及思路,增长了在数据库设计方面的见识,我深刻认识到以前所学的基础课程的重要性,也使我们掌握了很多新知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。

16

上页

《数据库实验报告二.doc》
将本文的Word文档下载,方便收藏和打印
推荐度:
点击下载文档

相关范文

酷猫分类查询入口

一键复制