【第1篇】数据库实验报告
数据库实验报告
课 程 实 验 报 告
课程名称:
学 号:
v41129
姓 名:
吴光艺
指导老师:
胡 侃
专业班级:
计算机1402班
报告日期:
4月22日
计算机科学与技术学院
一.实验目的
1.通过对某个数据库管理系统的安装使用,初步了解dbms的工作环境和系统架构
2.熟悉通过sql对数据库进行操作,完成下面的sql语句
3.学习系统的备份功能,学习系统的身份、权限配置操作,了解系统的查询性能分析功能。
4.熟悉通过sql对数据进行完整性检查性控制
二.实验平台
操作系统:win7 数据库管理系统:
serverr2 交互式查询语言: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
上页
【第2篇】数据库课程设计实验报告
数据库课程设计实验报告
导语:通过本课程设计,培养学生具有c/s模式的数据库应用软件系统的设计和开发能力。以下是小编为大家整理的数据库课程设计实验报告,欢迎大家阅读与借鉴!
数据库课程设计实验报告(1)
有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对c语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。 开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉sql sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完sql sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用oracle的develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对sql sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触sql sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。
sql server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习c语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了vb、c++还有网页中用的html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的`东西。希望在今后中,sql server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
数据库课程设计实验报告(2)
由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我——针对探究型项目——的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。
回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像“范式不太容易用通俗易懂的方式解释”一样,在“让工具用图标表述我的思维”时费了一番力气。
从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:
1、使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。
2、使用了新的开发语言(python,actionscript3),因为我一直比较喜欢“学以致用”,而且这样的“数据驱动型”软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。
3、编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交“可运行的代码”。
4、实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实“遇到的问题数跟人的能力是成正比的”。
5、客观原因在这里就不说了。
由于项目还未完成,暂时无法提出需要改进了地方。
【第3篇】access数据库实验报告
《数据库及其应用》
(课程编号:b0901000)
实验报告
(2013-2014学年第2学期)
实验成绩:
学 号:
姓 名:
专业班级:
课 堂 号:
任课教师:
完成日期: 20xx.05.27
直接启动access,或在“文件”选项卡中选择“新建”命令项,出现新建空数据库的backstage视图界面。在窗口左侧列出了可以执行的命令项。包括“打开”、“最近使用文件”、“新建”、“帮助”、“选项”等。
②已有打开数据库的backstage视图
若已打开数据库,单击“文件”选项卡,进入当前数据库的backstage视图。包括“数据库另存为”、“关闭数据库”、“信息”“打印”“保存并发布”等。
(2)观察功能区:了解组成功能区的选项卡。
①功能区主选项卡包括“文件”、“开始”、“创建”、“外部数据”和“数据库工具”。每个选项卡都包含多组相关命令。在功能区选项卡上,某些按钮提供选项样式库,而其他按钮将启动命令。4个主要命令选项卡为后四个。
②有一些选项卡属于上下文命令选项卡,根据当前的操作出现或转换。
③快速访问工具栏。出现在窗口顶部access图标右边显示的标准工具栏,它将常用操作
命令显示在这里,用户可以单击按钮进行快速操作。用户可以定制该工具栏。
④快捷键。执行命令的方法有多种。最快速、最直接的方法是使用与命令相关联的`键盘
快捷方式。在功能区中可以使用键盘快捷方式。
(3)观察导航窗格。各种对象的显示组合。
4.access选项及其设置
在backstage视图中选择“选项”命令单击,进入access选项对话框窗口。在该窗口可设置默认文件夹等。选择“当前数据库”页,在该页面可设置文档窗口显示方式、定制导航窗格、定制工具栏的项目等。
#.回答问题
(1)启动access一般有几种方法?
答:3种.
1.单击“开始”按钮,选择“所有
程序”|“microsoft office”|“microsoft access 2010”菜单项单
击。
2.双击access桌面快捷方式(若没有快捷方式可先创建)。
3.打开“计算机”窗口,找到要操作的access数据库文件,双击
(2)按键退出access,对应的键是什么?
答:alt+f4
(3)几种方式进入backstage视图?
答:2种。通过“开始”按钮或桌面access快捷方式启动进入backstage视图。
【第4篇】sql数据库制作考务管理系统实验报告
sql数据库制作考务管理系统实验报告
一、实验目的
1. 掌握sql server的基本用法
2. 熟悉掌握asp语言的应用
3. 掌握asp的页面结构和内置对象
4. 掌握asp与sql server数据库的连接和应用
5. 掌握asp 另外一个重要的语言——javascript,并熟悉它的应用
6.制作一个功能完善的考务管理系统
7.能够独立的完成系统策划,系统分析和程序的编写
8. 提高发现问题,解决问题的能力
二、实验内容
制作一个考务管理系统,用于从考生报名、产生准考证到录取考生和打印成绩单即对考生考试和录取全过程的考务管理,系统要实现的功能有:考生报名,按报名顺序产生报名号;产生准考证号和打印准考证;输入考生成绩和输入录取合格标准;根据合格标准录取上线考生;打印考生成绩单和录取通知书;设置系统用户和系统初始化。
三、实验环境
1、windows xp或 windows xx;
2、安装 microsoft sql server xx 个人版。
3、iis 5.0及以上版本和浏览器ie5.5及以上版本
4、macromedia dreamwezver8等相关软件
四、实验步骤
首先:配置环境,安装sql server,macromedia dreamwezver8。
第二:对要做的系统进行构思、策划、布局。
第三:建立数据库kaoshi及数据表:学生信息表(student),用户表(yonghu),考生表(biaozhun)。
第四:建立连接数据库的文件conn.asp,其代码如下所示:
<%
set conn=server.createobject('adodb.connection')
conn.open 'provider=sqloledb;' & 'data source=localhost;initial catalog=ksd;user id=sa;password=100200;'
%>;
第五:制作各个网页并联接所有需要联接的网页。
第六:运行整个系统,查找是否有错误,并进行修改直至整个系统运行无误。
五、实验过程与分析
(一)系统分析与总体设计
现在用计算机来进行考生的管理及考生的`录取已普遍存在。因如果用人来进行这项工作将十分烦琐,系统管理员需要划分很多的时间和精力,而且还不能保证其正确率。
而用考务管理系统可以简化管理员的工作,还会提高工作的正确率。以下将对考务管理系统进行系统分析和设计。
(1)系统的功能描述
考务管理系统包括学生报名管理、考生成绩管理系统维护三大模块。
考生报名管理 包括报名处理、产生准考证、打印准考证和退出系统等4项功能。
考生成绩管理 包括考生成绩录入、合格标准录入、录取考生、打印成绩单和打印录取通知单等5项功能。
系统维护 包括用户设置和系统初始化等2项功能。
用户通过系统菜单执行相应的操作。
(2)数据库设计
本系统以sql server xx作为数据库平台。在sql server xx中设计一个数据库kaoshi,其中包含如下数据表。
1.student表
该表用于存放所有考生记录,包括基本数据.表的结构如图2所示。
2biaozhun表
该表用于存放录取考生的合格标准,其中只有一个记录,该记录指出各门课程的最低分和总分的最低分。只有各门成绩和总分都超过这个标准的考生才能被录取。该表的结构如图3所示。
3.yonghu表
该表用于存放本系统用户的信息。包括用户的用户名、密码和级别(只分“一般操作员”和“系统管理员”两类)。该表结构如图4所示。
六、实验结果与总结
实验中的考务管理系统是经过很多次的测试、修改再测试、再修改才完成的。也就是在多次的测试修改的过程中使我学发现了很多平时上课发现不了的问题,也发现了自己学习这门课程的薄弱的地方和学的不足的地方。通过实验期间的发现问题、分析问题、查找问题原因、解决问题及进一步完善考务管理系统的过程,我的能力和水平有一定程度的提高。经过一次独立完成系统给我以后编程打下了基础,让我面对的不再是茫然和无措,而是有条不紊的思绪和完成的信心。所以这次实验对我来说是一笔极大的财富。
当然,在实验中我也有很多不足的地方,系统也有需要进一步完善的地方,这主要是我对asp与sql server数据库的连接和应用不熟悉和经验不足的原因造成的。所以我还要在以后继续学习,以求做的更好。