SQL实验报告(优秀范文5篇)

时间:2020-11-21 12:01:09下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《SQL实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《SQL实验报告》。

第一篇:SQL实验报告

实验四触发器实验

(一)

after

触发器

(1 1)

在l l i neitem 表上定义一个 after 触发器, , 当修改列项目e e x tendedprice d i scount

x tax 时, , 要把 s orders 表得to o tal pri ce e 一起修改, , 以保证数据一致性

C RE ATE T RIGGER

trig _line ite m_ pr ice_ update on line it em fo r upda te

a as

begin i f(UPDATE(ex tend edprice)

o r UPDATE(tax)

or UPD AT E(di scou nt))begin

-— 声明游标变量指向 inserted 表

d eclare

cursor_inserted c urs or

rea d_only

o for select order key,linenu mber,exte nd edpr ice, dis coun t, tax

from

in ser ted

—-息信找查取获量变明声ﻩ 声明变量获取查找信息

de clare order key in t, @linenumb er

int,exte nd edprice

real,dis scount real,tax real

—-打开游标 epoﻩ en cursor_i ns ert ed

—-标游取读ﻩ 读取游标

fe tch

next

from cur sor _i ns erte d int o @o rderkey, @lin enumber,e ext ende dprice, @di scount,t ax

w whi le FETC H_S TATUS =0 nigebﻩ n

ﻩ —-声明一个变量保存重新计算得新价格 cedﻩﻩ ecl are @n ew_tota lpri ce

r eal

ﻩ select @n ew_t otal price= @ext en dedpr ice *(1 -@di scou nt)*(1 +@tax)

—-用新得总价格变量更新 orders 表得 t ot alprice puﻩﻩ update orde rs

se t tot alpri ce= new_totalprice where or derkey=orde rkey

en hctefﻩ ext f ro m cur sor_i nser ted int o @order ke y, @li nenum ber, @ex tende dp rice,discoun t, @tax

dneﻩllaedﻩ locate c ur sor_i nser te d e end end ﻩ(2)在 在 linei tem表上定义一个 aftr er 触发器, , 当增加一项订单明细时, ,自动修改 s orders 表得 total p rice, 以保证数据一致性

CREATE TR IGGER tri g_ lineit em_price_ in sert on l ine item f for inse rt

a s begin ——向指量变标游明声ﻩ 声明游标变量指向ins erted 表

de clare

c ursor_inse rted

cursor

read_ onl y

ﻩ for s ele ct orderkey,linenumbe r,ex te ndedp ric e,di scou nt,t ax

from ins serte d

--声明变量获取查找信息 edﻩ eclare @orde rk ey

int, @lin enumber int,e xten dedp rice

real, @discount

real, @ta x real -—ﻩ - 打开游标

open cursor_i ns erte d --ﻩ - 读取游标

fe tc h

nex t

f rom

cu rsor_ins erted

into

@o rd erkey,li nen umbe er r, ex ten ded pric e,dis count,tax ihwﻩ ile @@FE TCH_ STATU S=0 ebﻩ egin

-—格价新得算计新重存保量变个一明声ﻩﻩ 声明一个变量保存重新计算得新价格

cedﻩ clare @n ew_tot alprice real

celesﻩ ct new _to ta lprice= @extend edp rice *(1-d is count)*(1+tax)—-新更量变格价总得新用ﻩﻩ 用新得总价格变量更新orders 表得totalpri ce

ﻩ u pda te

or ders s et

t ota lpric e=total pric e+ @new_ tota lpr ice w wh he re o rderke y=orderkey

tefﻩ etch next from cursor_ ins erte d into o rder key, @l inen umber,e xtended dp ric e, @disc ou nt, @t ax

e end aedﻩ deall oca te cu rsor_in serted en d

(3)

在l in e ite m表上定义一个a ft er触发器, , 当删除一项订单明细记录时, ,自动修改 orders 表得 tot a lprice, 以保证数据一致性

CREATE TRI GG ER trig _line item_price_de let e

on line item fo r de let e

A AS begin

--声明游标变量指向delet ed 表

de clar e curso r_d eleted cursor

re ad _on ly

es

rofﻩﻩ ele ct ord erk ey,line numbe r,extende dp rice,discoun t, tax

from

del eted -ﻩ -- 声明变量获取查找信息

declare ord erkey int,linenum be r

int,extendedp ri ce r eal,discou nt real,ta x real -—ﻩ -

打开游标 epoﻩ en c urso r_ deleted

——标游取读ﻩ 读取游标 efﻩ etch next fr om cur sor_delete d in to

order ke y,l inenumb er,ext end dedprice, @di scoun t,tax

wh ile @FETCH_STATUS=0

begi n

-— 声明一个变量保存重新计算得新价格

ﻩ declare @ne w_ to talpric e real

ﻩ s selec t @new_t otalpr ice= @exte nde dpri ce*(1-@disco unt)*(1+ tax)

-ﻩ -— 用新得总价格变量更新orders 表得tot alp rice uﻩﻩ upd ate

orders set t otalpri ce=to talpr ice-@new _totalp rice wh er e order key= @ord erkey

fetch

n ext f rom cursor_inse rt ed in to orderkey, @line numbe r,extende ed dprice, @d iscou nt,t ax dneﻩ nd

d deal lo cat e cur sor_inse rted e end((4 4))验证 up d at e触发器

— -查瞧 号订单得 to ta a l pr i ce

selec t

fro o m

o o r ders where

orde r key=1 8 30;

— -查瞧明细表得相关信息

se l ect *

f ro m

lin ei i te e m

w here or de e r key=183 0

and l ine num m be e r =1;

—— 验证 e update 触发器

updat e

lineitem set t ax=tax+0、05

whe re orderkey=1830;

(二)

i i n stead

of

触发器

((1))

在 在 lineit em 表上定义一个ins tead o f upda te触 发器, 当修改明细表中得数量 量quan ti ty 时, 应先检查供应表par tsupp 得av ai lqty 就是否足够, 不足够则拒绝执行, 否则执行并修改相应数值以保证数据一致性 于 由于 in stead

of 触发器更新某个表会使得该表上其她不满足更新列不能更新,因 因用 此逆向思维使用 a fter 触发器实现相同效果 即先更新 qu antity, 再比较av ailq qt ty, 如果满足更新数量, 就修改partsupp 得 表得 a vailqty, 如果不满足, 则把lineitem得quantity 更新之后得数据重新修改回来 c create trigge r trig_lin eit em_quanti ty_ upda te

on

li neit em f or upda te

as begin if UPDATE(qu ant ity)b begin ——向指别分量变标游明声ﻩ 声明游标变量分别指向 i nserted 表与 d el eted 表 edﻩ declare c urso r_inser ted

cur sor

r ead_on ly

for

tcelesﻩﻩ t

orde rkey, partk ey,s uppkey,lin enum ber, quantit y fr om i nserted

decl are

cursor_de leted c urs or

rea d_ onl y

f or select quantity

fr om deleted

-—息信找查取获量变明声ﻩ 声明变量获取查找信息

decl are

@qu an tity _dif f_lineitem i nt,q uanti ty_pa rtsup p i nt cedﻩ clare suppkey int, @par tke y in t,o rd erkey i nt,unenilﻩﻩ um ber int ,qty _inserted in t , @qty_delete d int

-- 打开游标 ruc nepoﻩ rsor_in sert ed poﻩ open cur sor_d eleted

-—量变给赋值数标游取读ﻩ 读取游标数值赋给变量 fﻩ fet ch next from

cu rsor_ insert ed

ﻩ i into or de rk ey,pa rtkey, @suppk ey, @line nu mber, @qty _ins erte d

f et ch

next from

cursor _d eleted

int o q ty _de lete d

whi le fe tch_st atus=0 gebﻩ egin

--计算订单明细修改时, 订购数量得变化值 inserte d表项-d elet ed表项

s sel ect quantity_d if f_ li neit em= @q ty _in se rte d—@ @q ty_delete ed

ﻩ --从parts upp 表获取ava ilq ty值, 注意partsupp 表得主键为(partk ey,suppke ey)tcelesﻩﻩ t @quanti ty_p ar tsupp =av ailq ty fro m pa rtsu pp

wﻩﻩ wh er e suppkey= suppke y

and part key= @par tk ey

-—断判始开ﻩﻩ 开始判断

gebﻩ begi n

fiﻩ f quant ity _d iff_ lin eite m=0

ﻩ p rin t “ 更新得数量与原表中得值相同, 不需要更新”

e ls e if @quantit y_d iff_lin eitem 〈=q uantity_partsupp

be gin

ﻩ puﻩﻩ pd ate partsupp

s et avail qty= availqty-@qua ntit y_d iff_li ne item

ﻩ pus erehwﻩ ppkey=suppkey

and

p artkey= @par tke y

ﻩ p rint “ 两个表都更新成功’ ﻩ

ﻩﻩneﻩ nd

els e

igebﻩﻩ in

ﻩ uﻩﻩ update li nei tem

set

quantit y=quantity+ @quanti ty_diff_linei tem

whe re o rd erke y=@orde rke y and li nenu mber= @li ine number

p ri nt '更新失败”

ﻩﻩ end

ﻩ e nd efﻩﻩ etch ne xt

fr om c urso r_i nserted

i nto @ord erke y, @partkey,s upp key, @linenumb er, @qt y_ ins ert ed

f etch ne xt from curso r_de leted into @qt y_d elet ed dneﻩ nd

d eallocat e cur sor _i nserte d

dealloc at e cursor_de le ted e end e end(2)在 在 l ineite m表上定义一个 instea d of in sert 触发器, 当插入明细表中一条记录 时 时, 应先检查供应表par tsupp 得 得 ava il qt y就是否足够 qu anti ty 得数量 c rea te t rig ger tri g_lineitem_q ua nti ty_ insert

on

line item i instead of inser t as b begin

-— 声明游标变量指向 inserte d表

d eclar e cur sor_inserte d cur sor

rea d_ only f or

sﻩﻩ select or derk ey,pa rtkey,sup pk ey, lin en umber,q uantity

f rom ins er ted

-—

声明变量获取查找信息

dec lare quantity int, @av ailq ty i nt, @suppkey

in t, @partkey

in nt t, @o rderkey int, @linenu mber int

-—标游开打ﻩ 打开游标 c nepoﻩ curs or_ins erted -ﻩ -— 读取游标

f etc h next fro m cursor_insert ed int o @orde rkey,partkey,@ @s suppkey, @linenumber,qu antity

wh ile @@FETCH_S TATUS= 0 igebﻩ in

--为变量赋值

a tcelesﻩ availqty y

= =av ai lqt y fr om

partsupp

wﻩ whe re suppkey =@su ppk ey and part ke y= partke y

ﻩ if @quant ity 〈= @avail qt y

-— 如果可以更新

bﻩ begin /ﻩﻩﻩ /*将 将 insert ed 表中得记录插入到明细表*/

ﻩ sniﻩ sert

i nto l ineite m select *

from i nserted

ro=yekredro

erehwﻩﻩ rderk ey and

linenumb er = @linenumber */ﻩﻩ新更时同ﻩ *同时更新 part supp 表得数量*/

ﻩﻩ u upd ate pa rtsup p set a vailqty=availqty-@quanti ty

erehwﻩ e sup pke y= @sup pkey and partkey=part key

p pr int ’pa arts upp 表有足够得货物可以满足 lin eitem 得quan tity y, 插入成功’

end

else

begin

ﻩﻩ p rint t

' 'pa rt sup p表没有足够得货物可以满足 l ineitem 得 得 q uantity,插入失败’

dneﻩfﻩﻩ fetc h next from curso r_ins ert ed in to @ord erkey, partkey, suppkey, @li inenumbe r, qu antity eﻩ en d

deall ocat e cursor_ inserted end(3)在 在 line ite m表上定义一个 inste ad of del ete 触发器,当 当 删除 明细表中记录 时 时, 同时改变表 供应表 partsupp 得ava il qty y 数值 c re ate trigge r tri g_ lin eit em_quanti ty_ del ete o n line item inste ad of del ete as be gin

—-声明游标变量指向deleted 表

de cla re curs or_ del eted c ursor

read _only for

lesﻩﻩ elect or derke y, par tkey,sup pkey, linenumbe r,quan tity fr om deleted -ﻩ --声明变量

decl are s upp key i nt, par tke y

int, @orde rkey int,linen umb er

int, @qua ant it y int

—-标游开打ﻩ 打开游标

open

cursor_deleted

-—标游取读ﻩ 读取游标

f fetch next fr om

curs or _del et ed

in to @ord erkey , @partkey,s uppke ey, @lin en umber,q ua ntity

whi le

F FET CH_ STATUS=0 igebﻩ in

*/*除删ﻩ *删除*/

ﻩ de let e from

lineite m where linenu mber= line number and o rde rkey =ord der key

*/新更时同ﻩ 同时更新 pa rt supp 表得数量*/

u pdate

parts upp se t

availqt y=a vai lq ty+quant ity

ﻩ where s uppke y= @s uppkey a nd par tk ey= @p ar tkey

ﻩ p rin t

’ 删除成功, 并且已经把货物数量归还到 p ar tsup p里“ fﻩﻩ fetc h ne xt fr om

curso r_del eted

into @ord er ke y,p ar tkey,@ @suppkey, @lin enu mber,quanti ty neﻩ nd edﻩ ea lloc ate cursor_ delete d end(4)验证 update 触发器--查瞧li neit em 得quan tit y select *

fr om

lin eit em whe re or derk ey =1830

and li nenum ber=1;

—— 查询partsupp 表得ava ilqt y se lect * from part supp w here suppk ey =(select

supp key fr om

lin e

item w here ord erkey=18 30)

and partk ey

=(s elec t part key from lin eite m wh er e

order key =18 30 a nd linenu mber=1)

---更新数量过大

—— 更新得值与原值相同

---更新到+ + 2 00 数量, , 成功

update

li neitem set

quant ity

=q uanti ty+ 200

where order key=1830

and lin en umber = 1;

--更新 +2 00 成功后l ineite m得 quanti ty y 变化

—— 更新+200 成功后par ts upp 表得a va ilqty 变化

实验到此。所有创建得触发器结果

删除触发器

dr op trigger tri g_li nei tem_de lete;实验六存储过程实验

(1 1)

定义无参数 得存储过程并执行

更新所有订单总价

goﻩ

CREATE

PROCED URE Pro c_Ca lTotalP ri ce

AS BEGIN

up date

o rders set to talprice =

(sele ct sum(exte ndedprice*(1-discount)*(1+ tax))

ﻩ fr om li nei tem

erehwﻩ orders、orderkey= li neite m。o rderke y)END

go 执行此存储过程

exec P ro c_CalTotal Pric c e;;

(2 2)

定义有参数得存储 过程并执行

更新给定订单号得总价

g go create pro cedu re P ro_Cal TotalP rice 4Ord er @id_ order

intege r a as be gin

u up date e

o orders set total price=(lesﻩ lect SU M(ext en ded price*(1 -di sc ount)*(1 +tax))

ﻩ fr om li neit em

ﻩ whe re

orde rs。or derke y=lin eite m。orderkey)end g o 执行此存储过程 exe c P ro_ CalTota lPr ice 4Order @id_ order=2;((3))

定义有局部变量得存储过程 更新某一个顾客所有订单得总价 g o cr eate

procedure Proc_Ca lTot alPr ice4Custo me r n ame _cus to mer varc har(50)as

dec lare cus tk ey _c usto mer i nt b egin tcelesﻩ t

cus tke y_cu stomer=cu st key

from

cu sto mer

where name _customer =RTRI M(n ame)

u pdate order s set to talp ri ce=(tcelesﻩﻩ t S UM(exte nde dp rice *(1 -dis count)*(1+tax))rfﻩﻩ rom li neite m

wﻩ wher e orders、order key=lineitem。or derke y

ﻩ and

o rde rs、cust key= @c ustkey _cust omer)ﻩe nd go 执行此存储过程

e xec Pro c_CalT ot alPr ic e4C ustome r name_custom er=” 艾锦亮’;查瞧结果 u pdate

linei te m set

ex tende dpric e=1 00 , ta x=0.25 where orderkey=“1 830’;s elect * from

l ineite m

w here order key ='183 0’;

s elect * fr om or ders wh ere custke y=(sele ct cus tk ey from custo mer whe re name=’ 艾锦亮’);

(4)

定义一个带输出参数得存储过程 更新某个顾客得所有得订单总价, 并输出总价 go crea te proc edure Proc_C alT otalP ri ce4Custo me r2

na me_ cu st ome r va rch ar(50), totalpr ice_ord er real out put

as —— 声明一个变量存储 name 对应得顾客编号 d eclar e @c us tkey _cus tomer integer

—— 为该变量赋值

se lec t c ustke y_cu sto mer =cu stkey

from cus tome r w here n ame_ customer=R TRIM(n ame)begi n -ﻩ -- 更改订单总价

up date

o rd ers

set t otalp rice=(se lec t SUM(ext endedprice*(1-dis count)*(1+tax))

fﻩ fr om l in eitem rehwﻩﻩ ere

orders。o rderk ey=li neit em.ord erk ey、sredro dnaﻩ、c ustkey =@custkey_ custome r)

-— 为返回变量赋值

select

totalprice_order=total pri ce fro m orders

ﻩ w here custk ey= @c ustkey_c ustom er

e nd go —-执行带有输出参数得存储过程要声明输出参数变量 declare t otalp rice re al;exe c Proc_ Cal Tota lPrice4C ustomer2

” 艾锦亮 ', @to talpri ce

output;--在屏幕上输出返回值结果

selec t t otalpri ce;

实验到此, , 所有结果显示

(5 5)

修改存储过程名

exec sp_renam e ’Pr o_Cal TotalPrice4Ord er",’C alTotalPr ice4 Or der';

(6)编译存储过程

exe c sp_ re compile ’CalTotalPric ce 4Order’;

(7)删除存储过程

d drop

proc edure CalT otalPric e4Orde r;e exe c sp_h elptext CalT ot alPrice4 Order;

第二篇:sql上机实验报告

实验一(2.20)

实验内容:熟悉sql server 2005

实验目的:掌握sql服务器的启动和停止方法、熟悉management studio 的操作界面和新建查询。

重点:使用数据库引擎启动数据库服务器、停止数据库服务;服务器的认识以及如何启动查询分析器

难点:无

实验操作:

1.使用数据库引擎启动数据库服务器:

开始->程序->microsoft sql server 2005->

sql server management studio->数据库引擎->服务器名称(选择)->连接。

2.分别打开数据库,安全性和管理文件夹查看文件内容。

3.点击新建查询建立一个查询窗口。

4.打开model数据库,查看其中的文件。

实验二(2.27)

实验内容:使用manegement studio和查询分析器创建数据表

实验目的:掌握创建数据表的方法

重点:学会使用查询分析器创建数据表

难点:字段数据类型的选择以及数据长度的定义

实验操作:

在basetest数据库中创建学生表,学生(sno,sname,ssex,sage,sdept)。其中sno,sname,ssex,sdept字

段数据类型设为char,长度为10;sage字段数据类型设为int!create table 学生

实验三(3.5)

实验内容:添加表的约束

实验目的:掌握使用alter table 语句修改表的时候添加表的约束

重点:为表添加主键外键约束

难点:为列设置列级完整性约束;使用sql语句为表设置外键。

实验操作:

1:为学生表添加主键约束pk约束,设置sno为主键

alter table 学生

add constraint pk约束

primary key(sno)

实验四(3.12)

查询

(一)实验目的:掌握Select语句的使用方法

实验重点:Select语句的语法结构

实验难点:连接查询

实验步骤:1.练习查找指定列的查询

2.练习查找经过计算的列

3.练习为查找字段设置字段别名

4.Where子句的使用

5.多表连接查询

实验五(3.19)

查询

(二)实验目的:掌握SQL语句的使用方法

实验重点:统计查询和嵌套查询和联合查询

实验难点:子查询的方法

实验步骤:1.1.Compute与Compute By的区别

2.子查询 In与Exsits的区别

3.比较运算的子查询

4.联合查询

5.OrderBy子句的使用

6.统计函数的使用

7.Group By 与Having的使用

实验六(3.36)

查询

(三)实验目的:掌握SQL语句的使用方法

实验重点:简单查询和统计查询和嵌套查询

实验难点:嵌套查询的方法

实验步骤:1.在student表中查询CS系学生信息,并产生一个总人数行

2.查询学生信息,统计总人数并对每个系产生一个学生总人数行

3.按系分组,并在每组下显示本系中年龄最大学生年龄

4.按系和性别分组并统计最大年龄和最小年龄

实验七(4.2)

实验内容:创建索引

实验目的:掌握创建索引的方法

重点:掌握索引的基本功能

难点:使用sql语句创建索引

实验操作:

1:使用manegement studio 创建索引

2:创建一表myfriend,所包含的属性列为(名字char(10),性别(10),地址(100)),并在该表上基于名字创建一个唯一聚集索引wj索引,索引的填充为100。

实验八(4.9)

实验内容:创建视图

实验目的:掌握创建视图的方法

重点:掌握视图的基本功能

难点:使用sql语句创建视图

1、在basetest数据库中创建一个MA系的学生信息视图

2、创建IS系女生选课信息,指定字段中文名

3、使用WITH CHECK OPTION子句创建男生信息视图

4、在CS系学生信息视图中查询女生的信息

5、修改cs系学生05008的年龄为21岁

实验九(4.16)

实验内容:流程控制语句与用户自定义函数的使用

实验目的:掌握流程控制语句与用户自定义函数的使用

重点:掌握自定义函数的创建

难点:表值用户自定义函数的创建

实验操作:

1:计算1+2+3+...+100的和

2:计算n!(n=10)

3: 查询是否有选修成绩高于90分的学生,有则输出该生信息,没有就输出“不存在选修成绩高于90分的学生。”

实验十(4.23)

实验内容:存储过程、事务及游标

实验目的:掌握存储过程、事务及游标的使用

重点:掌握存储过程的创建、事务创建及游标的使用方法

难点:带参数的存储过程的创建、游标的使用

实验操作:

1:创建存储过程ppa,能根据给定的‘系别’返回该系对应的学生的sno,sname,ssex 2:创建存储过程ppb,能根据给定的‘系别’统计该系的人数,并将人数输出显示!

第三篇:SQL实验报告总结

《数据库系统概论(第四版)》

学号: 姓名: 班级: 教师:

期实 验 总 结 与 心 得

【实验名称】 数据库的创建 【实验内容】

1、新建sql注册表。

2、新建数据库。主数据文件:逻辑文件名为student_data,物理文件名为student.mdf,初始大小为10mb,最大尺寸为无限大,增长速度为10%;

数据库的日志文件:逻辑名称为student_log,物理文件名为student.ldf,初始大小为1mb,最大尺寸为5mb,增长速度为 1mb

3、修改已注册的sql server属性为使用sql server身份验证。

【实验名称】 数据库的附加、分离、导入导出及分离 【实验内容】 1.数据库文件的附加与分离(转载于:sql实验报告总结)2.数据库文件的导入和导出 3..数据库的删除 4.修改数据库

【实验名称】 数据库的创建(书中作业)【实验内容】 1.在数据库student中创建一个学生基本信息表 1.用企业管理其创建表 2.用查询分析器创建表 2.sql server 2005的系统数据类型分为哪几类?常用的数据类型有哪些?

答:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间。常用的数据类型有:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间

3.在数据库student中创建一个名为t_couse(课程信息表)1.用企业管理其创建t_course表 2.用查询分析器创建t_course 4.在数据库student中创建一个名为t_score(学生成绩)的表 5.sql server 2005 中有多少种约束?其作用分别是什么

答:非空约束,作用指定某一列不允许空值有助于维护数据的完整性,因为这样可以确保行中的列永远保护数据。

主键约束,作用可以保证实体的完整性,是最重要的一种约束。唯一约束,作用指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。

检查约束,作用对输入列或者整个表中的值设置检查条件,以限制输入值,保证数据库数据的完整性。

默认约束,作用指定在插入操作中如果没有提供输入值。怎系统自动指定值。外键约束,作用主要用来维护两个表之间数据的一致性。6.分别为t_course表和t_score表创建唯一性约束、检查约束、默认约束。篇二:sql server综合实验报告

华北科技学院计算机系综合性实验

实 验 报 告 课程名称 数据库系统 实验学期 2010 至 2011 学年 第 二 学期

学生所在系部 计算机系 年级 二年级 专业班级

网络工程b093班

学生姓名

沈亚强

学号

200907024313

任课教师

郭红 实验成绩

计算机系制

实验报告须知

1、学生上交实验报告时,必须为打印稿(a4纸)。页面空间不够,可以顺延。

2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。

3、教师应该填写的内容包括:实验成绩、教师评价等。

4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验

中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一

刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。

5、未尽事宜,请参考该课程的实验大纲和教学大纲。《

数据库系统

》课程综合性实验报告 篇三:数据库上机实验报告+总结

数据库集中上机报告

学 生: 马志鹏 学 号: 0221090118 班 级: 02210901 专

业:计算机应用技术 重庆邮电大学移通学院 2011年6月

第一天:access数据库基本操作 1 实验目的

1、熟悉的掌握access数据库结构与创建

2、了解创建、修改、删除、查询、保存等操作

3、输入数据创建、设计器创建、向导创建。2 实验内容 3 实验结果

1.2.2 2 access数据表的编辑

第二天 数据表基本操作 1 表关系与编辑数据 1 实验目的:

1、实现一对一,一对多,多对多的实体关系

2、对“学生基本信息”表中的记录进行排序,按出生日期降序排列

3、从“学生基本信息”表中筛选出所有计算机系男生的记录

4、从“学生基本信息”表中筛选出回族和蒙古族的所有学生记录 3 2 实验内容

1.select 学生基本信息表.学生姓名, 成绩档案表.* from 成绩档案表 inner join 学生基本信息表 on 成绩档案表.学生学号 = 学生基本信息表.学生学号

where(((学生基本信息表.学生姓名)=张冰冰));2 select 学生基本信息表.* from 学生基本信息表 where(((学生基本信息表.性别)=男)and((学生基本信息表.班级名称)=计算机系));3 select 成绩档案表.c语言, 课程表.* from 成绩档案表, 课程表;4 select 学生基本信息表.*, 学生基本信息表.性别, 学生基本信息表.班级名称 from 学生基本信息表 where(((学生基本信息表.性别)<>男)and((学生基本信息表.班级名称)<>计算机系));5 select 学生基本信息表.*, 学生基本信息表.出生日期 from 学生基本信息表 where(((month([出生日期]))=9)and((day([出生日

期]))=1));6 select 学生基本信息表.* from 学生基本信息表 where(((学生基本信息表.学生姓名)like 李*));3 实验结果 4 第3天 sql查询设计 1 sql语言查询 1 实验目的:

熟悉了解sql语句 5 篇四:sqlserver实验报告—数据库和表的创建

数据库实验报告

课程名称信息系统数据库技术 实验名称 数据表的管理 专业班级

姓 名

学 号 实验日期

实验地点 2012—2013学 第 一 学期 篇五:数据库上机实验报告sql server 2000 课程代码:1010000450 数据库 database 学分:3 总学时:48 实验学时:16 面向专业:信息与计算科学,数学与应用数学

一、实验教学目标

数据库是计算机科学与技术专业的专业必修课程。课程内容主要包括:数据模型、关系代数、关系数据库标准语言sql、关系系统、关系数据理论、数据库设计方法。学习本课程的过程中,只有通过上机实验,才能使学生真正深层次了解数据库系统的体系结构,掌握数据库系统的基础理论、技术和方法,掌握主流数据库管理系统sql server 2000的应用技术及数据库应用系统的设计、开发能力。

二、实验教学基本要求

认真阅读教材中与实验相关的章节内容,提前做好实验准备,做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后要根据要求做好总结,写出实验报告。

三、实验教材或实验指导书

《数据库系统概论》,萨师煊 王珊主编,高等教育出版社

四、考核方式与评分办法 实验成绩评定分两部分:上机实验操作占50%,实验报告占50%。

五、实验项目设置

六、实验内容与实验方式

实验一

安装sql server 2000

(一)实验内容 1.安装microsoft的数据库服务软件sql server 2000。以sql server2000企业版为例安装教程

第一步:打开安装文件中的“autorun”文件,安装程序会自动运行出现版本选择界面,我们以选择企业版为例。

第二步:在接下来的界面中选择“安装数据库服务器”选项。

第三步:这时出现安装向导,出现“计算机名”窗口。“本地计算机”是默认选项,其名称就显示在上面,我们按其默认点“下一步”。

第四步:接下来,在“安装选择”对话窗口中,同样按其默认项“创建新的sql server实例,或安装客户端工具”点下一步。

第五步:在 用户信息 窗口,输入用户信息,并接受软件许可证协议。

第六步:在 安装定义窗口,选择 服务器和客户端工具 选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习sql server很有用处。如果你已经在其它机器上安装了sql server,则可以只安装客户端工具,用于对其它机器上sql server的存取。

第七步:在 实例名 窗口,选择 默认 的实例名称。这时本sql server的名称将和windows 2000服务器的名称相同。第八步:在 安装类型 窗口,选择 典型 安装选项,并指定 目的文件夹。

第九步:在 服务账号 窗口,请选择 对每个服务使用统一账户...的选项。在 服务设置 处,选择 使用本地系统账户。如果需要 使用域用户账户 的话,请将该用户添加至windows server的本机管理员组中。

第十步:在 身份验证模式 窗口,请选择 混合模式...选项,并设置管理员sa账号的密码。如果需要更高的安全性,则可以选择 windows身份验证模式,这时就只有windows server的本地用户和域用户才能使用sql server了。

第十一步:在 选择许可模式 窗口,根据您购买的类型和数量输入(0表示没有数量限制)。每客户表示同一时间最多允许的连接数,处理器许可证表示该服务器最多能安装多少个cpu。笔者这里选择了 每客户 并输入了100作为示例。

第十二步:约10多分钟的安装时间,然后打开开始菜单下的sql子目录下的企业管理器。2.熟悉软件的使用以及各个组成部分。

第一:打开企业管理器,可以对本地的数据进行管理,也可以登录服务器端,即可以远程操作自己的数据库 ;

第二:登录查询分析器,可以通过sql管理语句,对数据库进行管理。

(二)实验方式与分组要求

老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。

实验二

启动sql server2000和建库、表

(一)实验内容 1.启动数据库服务软件sql server 2000。第一步:打开企业管理器,可以登录服务器端,即可以远程操作自己的数据库,登录步骤如下; 第二步:左侧方框中控制台根目录的子目录的sql server组上,右击,并新建sql server注册„; 第三步:在“服务器”一栏里输入想要登录的服务器ip地址,选择使用sql server身份验证,写入登录名和密码,就可以登录了。

第四步:登录查询分析器,可以通过sql管理语句,对数据库进行管理。2.在sql server 2000中建立数据库。

第一步:通过企业管理器进入服务器端以后,可以在数据库文件里“新建数据库”。第二步:输入数据库名称。

第三步:通过相关需求对数据库的相关属性进行设置,然后完成。3.在数据库上建立表。第一步:登录企业管理器

第二步:进入自己的database,并打开“表”选项;

第三步:在表选项右侧空白处,点击右键,选择“新建表„”;

第四步:在弹出的窗口中,分别填写列名,数据类型,长度和是否允许空值,然后关闭窗口。第五步:关闭窗口会弹出是否保存表,选择是,接下来弹出的窗口中填写表名即可。

(二)实验方式与分组要求

老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。

实验三

sql server2000查询分析器

(一)实验内容 1.启动数据库服务软件sql server 2000的查询分析器。第一步:在登录企业管理器的前提下,登录查询分析器。

第二步:登录查询分析器与登录企业管理器类似,需要输入ip地址或者如果是本地数据库,直接用windows身份验证即可。2.在查询分析器中建立表。

第一步:在查询分析器命令栏里输入以下语句: 定义一个学生-课程模式s-t create schema “s-t” authorization wang /*为用户wang定义了一个模式s-t*/ 然后点击“分析查询”和“执行查询”。第二步:在查询分析器命令栏里输入以下语句:

建立“学生”表student,学号是主码,姓名取值唯一 create table student(sno

char(9)primary key, /* 列级完整性约束条件*/ sname char(20)unique, /* sname取唯一值*/ ssex char(2), sage smallint, sdept char(20));然后点击“分析查询”和“执行查询”。

(二)实验方式与分组要求

老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。

实验四

sql语言的ddl

(一)实验内容 1.用如下语句对表进行操作:create table 建表;drop table 删除表;alter table 更改表。

create table student(sno char(4)primary key)drop table student /*当student表与其他数据有级联关系或者其他关系时,不能删除。*/ alter table student add s_entrance date null/*向student表增加“入学时间”列,其数据类型为日期型*/ alter table student drop column sno /*删除student表中的sno这一列,含有以下关系的列不能被删除: ? 被复制列。

? 用在索引中的列。

? 用在 check、foreign key、unique 或 primary key 约束中的列。? 有相关联的默认值(由 default 关键字定义)的列,或绑定到默认对象的列。? 绑定到规则的列。*/ 2.用如下语句对视图进行操作:create view 建视图;drop view 删除视图。/*创建一个is_student视图,视图中返回来自于表student中sdept=’is’的所有学生的sno,sname,sage列*/ create view is_student

as

select sno,sname,sage

from student where sdept=is /*删除is_student视图*/ drop view is_student 3.如下语句对索引进行操作:create index 建立索引;drop index 删除索引。/*创建一个stusname索引,在student 表中以sname列升序排列*/ create clustered index stusname on student(sname)/*删除student表中的stusname索引*/ drop index student.stusname

(二)实验方式与分组要求

老师先讲解十分钟,学生上机操作数据库sql server2000,最后老师检查操作结果。每次86组,每组1人。

实验五 sql语言的dml

(一)实验内容 1.启动数据库服务软件sql server 2000的查询分析器,用insert语句对表进行插入操作。/*将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:is;年龄:18岁)插入到student表中*/ insert into student(sno,sname,ssex,sdept,sage)values(200215128,陈冬,男,is,18)/*学生张成民的信息插入到student表中*/ insert into student values(200215126,张成民,18,cs,男)/*对表student中每一个系,求学生的平均年龄,并把结果存入表dept_age表中。*/ 第一步:create table dept_age(sdept char(15), /* 系名*/ avg_age smallint)/*学生平均年龄*/ 第二步:insert into dept_age(sdept,avg_age)

select sdept,avg(sage)from student group by sdept 2.用update语句对表中已有的记录进行修改。/*将学生200215121的年龄改为22岁*/ update student set sage=22 where sno=200215121 /*将所有学生的年龄增加1岁*/ update student set sage= sage+1 /*将cs系全体学生的成绩置零*/ update sc set grade=0 where cs=(select sdept from student where student.sno = sc.sno)3.用delete语句对表中已有的记录进行删除。

第四篇:SQL数据库系统_实验报告4

实验四

实验时间:2014年4月29日

实验名称:T-SQL、存储过程、触发器

实验目的:

1、掌握T-SQL常量、变量、运算符、表达式、函数的使用方法

2、掌握T-SQL流程控制语句使用方法

3、掌握存储过程创建及使用方法

4、理解触发器的创建及使用方法

实验原理:

T-SQL,即Transact SQL,是微软对SQL标准的一种实现。存储过程可以预编译T-SQL并保存在数据库系统中,与直接发送SQL相比,加快了数据处理速度。触发器可以在数据修改时自动运行,保证更有效地实施数据完整性。

仪器与材料:

装有Windows操作系统、SQL Server数据库系统的PC机一台

实验步骤:

1、加载示例数据库

2、定义一个字符串变量和一个整型变量,赋值后再输出查看运行结果

3、使用全局变量查看SQL Server版本信息

4、定义字符串变量保存身份证号,使用函数取出其表示的年月日信息并逐个输出

5、创建函数计算全体学生某门课程平均成绩

6、求1+2+„„+100的和

7、创建存储过程使用“学生基本信息表”查询学生数量

8、创建触发器,实现功能:当“学生基本信息表”中数据被删除时提示“不允许修改学生基本信息”

实验记录:

„„

讨论及问题回答:

查找资料,讨论索引优缺点。

第五篇:SQL数据库系统_实验报告2

实验时间:2014年4月1日

实验名称:数据库表的管理与查询语句

实验目的:

1、熟练掌握数据表的创建、修改和删除方法

2、熟练掌握表中数据的插入、修改、删除和查询方法

3、熟练掌握SQL语句的使用方法

4、理解数据表的约束及其使用

实验原理:

数据库是保存数据的集合。表是数据的集合,由行列构成,行又被称为记录,列被称为字段。SQL全称是Structured Query Language,其主要有功能有:创建数据库并定义表的结构、查询需要的数据、更新或者删除指定的数据、管理数据库。

仪器与材料:

装有Windows操作系统的PC机一台,SQL Server安装包ISO镜像

实验步骤:

1、加载示例数据库,查看示例数据库及内部的数据库表结构

2、向“学生基本信息表”中添加“出生日期”字段

3、删除“学生基本信息表”中“年龄”字段

4、删除表“教师基本信息表”

5、向“学生基本信息表”中添加5条记录

6、修改“学生基本信息表”中学号为3的学生的姓名为“张三”

7、删除“学生基本信息表”中姓名为“李四”的学生信息

8、查询“学生基本信息表”中所有学生的所有信息

9、查询“学生基本信息表”中所有男生信息

10、查询“学生基本信息表”中所有19岁以上学生信息

11、查询“学生基本信息表”中所有姓“张”的学生信息

12、查询“学生基本信息表”中所有选修103号课程的学生信息

实验记录:

1、加载示例数据库,查看示例数据库及内部的数据库表结构

2、向“学生基本信息表”中添加“出生日期”字段

„„

3、删除“学生基本信息表”中“年龄”字段

„„

4、删除表“教师基本信息表”

„„

(以下略)

讨论及问题回答:

尝试查询所有选修了“SQL数据库系统”并且成绩优秀的学生信息。

下载SQL实验报告(优秀范文5篇)word格式文档
下载SQL实验报告(优秀范文5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库实验报告 SQL语言

    数据库原理及实验报告 实验6 视图 实验目的:1)掌握交互式创建、删除视图的方法 2)掌握使用SQL创建、删除视图的方法 3)掌握交互式更新视图的方法 4)掌握使用SQL更新视图的方法 实......

    SQL数据库实验报告 实验二

    实验2SQL Server数据库的管理 1.实验目的 (1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-S......

    实验一 SQL SERVER 2008入门实验报告

    实验一 SQL SERVER 2008环境 一、实验目的 1、了解SQL SERVER 2008的安装过程中的关键问题; 2、掌握通过SQL Server Management Studio管理数据库服务器、操作数据库对象的方......

    SQL数据库制作考务管理系统实验报告

    一、实验目的1. 掌握sql server的基本用法2. 熟悉掌握asp语言的应用3. 掌握asp的页面结构和内置对象4. 掌握asp与sql server数据库的连接和应用5. 掌握asp 另外一个重要的语言—......

    SQL基于.net的学生成绩管理系统实习实验报告

    SQL实习《学生成绩管理系统》——ASP.NET/SQL Server班级:姓名:学号:【实验名称】:基于.net的学生成绩管理系统【实验目的】:熟悉基于.net设计系统的步骤和方法【实验步骤】:1、新......

    数据库SQL 视图的创建及使用实验报告(共5篇)

    《数据库基础》实验报告 班级__计算机111__学号__xxxxxxxx__姓名__xxx___完成日期____6.20___ 实验室 __理工楼310_ 指导老师xxx成绩____100______实验四、视图的创建及使用......

    sql语言(★)

    11.2.2 数据定义命令 1.CreateTable命令 Create Table ([,] [,……][,] ); 语句功能:创建一个以为名的、以指定的列属性定义的表结构。 2. Alter Table命令 Alter Table [......

    面试SQL

    1.存储过程和函数的区别 2.事务是什么? 3.游标的作用?如何知道游标已经到了最后? 4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 1。用C......