sql实训任务书
sql实训指导书
实训指导书(2011 -2012学年度第一学期)实训类型:课程实训适用专业:计算机应用技术撰写教师:马俊涛素材资源:信息管理系监制目录项目一:记事本封皮设计 (1)任务一:需求分析实训目标:1.要求学生掌握数据库设计的基本技术;2.熟悉数据库设计的每个步骤中的任务和实施方法;3.加深对数据库系统概念和特点的理解。
4.熟悉项目设计的过程,培养学生学习兴趣,加强职业能力。
项目内容:按照各自在《程序设计》课程训练中所选题目进行相应的用户功能需求分析,进行系统功能划分。
项目实施步骤:利用数据库设计的4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)进行。
概念模型设计时采用自底向上的方法。
1、用户的功能需求分析,要深入到用户和现有的实际系统中,弄清楚现有系统业务流和数据流运动过程。
2、画出系统的功能图。
需求分析时,找出系统中的实体及实体间的关系,定义实体的必要属性、类型,域,分析实体间的关系,码及外码等。
例如:项目需求分析,就是了解项目需要做什么,需要完成什么功能。
此步骤是整个项目的基础。
此步骤以流程图的形式呈现,并加上适当的注释、说明。
1、系统目标实现一个综合教务管理系统,完成班级信息管理,学生信息管理,课程信息管理和学生选课管理等功能。
2、系统功能需求系统的用户分为超级用户和普通用户两类,超级用户负责系统维护,包括对班级信息,学生个人信息,课程信息的录入,修改,查询,删除等。
普通用户即选课学生则只具有为自己选课的权限。
任务二:概念结构设计实训目标:1、熟悉数据库设计概念结构设计的任务和实施方法;2、加深对数据库系统概念和特点的理解。
3、熟悉项目设计的过程,培养学生学习兴趣,加强职业能力。
项目内容:按照各自在《程序设计》课程训练中所选题目进行相应的用户功能需求分析,进行系统功能划分。
项目实施步骤:根据在任务1中所作的系统需求分析,结合所学知识绘制所选实训项目详细的E-R图。
SQL实验报告(优秀范文5篇)
SQL实验报告(优秀范文5篇)第一篇:SQL实验报告实验四触发器实验(一)after触发器(1 1)在l l i neitem 表上定义一个 after 触发器, , 当修改列项目e e xtendedprice d i scountx tax 时, , 要把 s orders 表得to o tal pri ce e 一起修改, , 以保证数据一致性C RE ATE T RIGGERtrig _line ite m_ pr ice_ update on line it em fo rupda teaasbegin i f(UPDATE(ex tend edprice)o r UPDATE(tax)or UPD AT E(di scou nt))begin-—声明游标变量指向 inserted 表d eclarecursor_inserted c urs orrea d_onlyofor select order key,linenu mber,exte nd edpr ice, dis coun t, taxfromin ser ted—-息信找查取获量变明声ﻩ声明变量获取查找信息de clare order key in t, @linenumb erint,exte nd edpricereal,disscount real,tax real—-打开游标epoﻩen cursor_i ns ert ed—-标游取读ﻩ读取游标fe tchnextfrom cur sor _i ns erte dint o@o rderkey, @lin enumber,eext ende dprice, @di scount,t axwwhi le FETC H_S TATUS =0 nigebﻩnﻩ—-声明一个变量保存重新计算得新价格cedﻩﻩecl are @n ew_tota lpri cer ealﻩ select @n ew_t otal price= @ext en dedpr ice *(1 -@di scou nt)*(1 +@tax)—-用新得总价格变量更新 orders 表得 t ot alprice puﻩﻩupdate orde rsse t tot alpri ce= new_totalprice where or derkey=orde rkeyen hctefﻩext f ro m cur sor_i nser ted int o@order ke y, @li nenum ber, @ex tende dp rice,discoun t, @taxdneﻩllaedﻩlocate c ur sor_i nser te deend 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 ffor inse rta sbegin ——向指量变标游明声ﻩ声明游标变量指向ins erted 表de clarec ursor_inse rtedcursorread_ onl yﻩ for s ele ct orderkey,linenumbe r,ex te ndedp ric e,di scou nt,t axfrom insserte d--声明变量获取查找信息edﻩeclare @orde rk eyint, @lin enumber int,e xten dedp ricereal, @discountreal, @ta xreal -—ﻩ-打开游标open cursor_i ns erte d--ﻩ-读取游标fe tc hnex tf romcu rsor_ins ertedinto@o rd erkey,li nen umbeerr, ex ten ded pric e,dis count,tax ihwﻩile @@FE TCH_ STATU S=0 ebﻩegin-—格价新得算计新重存保量变个一明声ﻩﻩ声明一个变量保存重新计算得新价格cedﻩclare @n ew_tot alprice realcelesﻩct new _to ta lprice= @extend edp rice *(1-d is count)*(1+tax)—-新更量变格价总得新用ﻩﻩ用新得总价格变量更新orders 表得totalpri ceﻩ u pda teor ders s ett ota lpric e=total pric e+ @new_ tota lpr ice wwhhe re o rderke y=orderkeytefﻩetch next from cursor_ ins erte dinto o rder key, @l inen umber,e xtendeddp ric e, @disc ou nt, @t axeend 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 eon line item fo r de let eAAS begin--声明游标变量指向delet ed 表de clar e curso r_d eleted cursorre ad _on lyesrofﻩﻩele ctord erk ey,line numbe r,extende dp rice,discoun t, taxfromdel eted-ﻩ--声明变量获取查找信息declare ord erkey int,linenum be rint,extendedp ri ce r eal,discou nt real,ta xreal -—ﻩ-打开游标epoﻩen c urso r_ deleted——标游取读ﻩ读取游标efﻩetch next fr om cur sor_delete d in toorder ke y,l inenumb er,ext enddedprice, @di scoun t,taxwh ile@FETCH_STATUS=0begi n-—声明一个变量保存重新计算得新价格ﻩ declare @ne w_ to talpric erealﻩsselec t@new_t otalpr ice= @exte nde dpri ce*(1-@disco unt)*(1+ tax)-ﻩ-—用新得总价格变量更新orders 表得tot alp rice uﻩﻩupd ateorders set t otalpri ce=to talpr ice-@new _totalp rice wh er e order key= @ord erkeyfetchn ext f rom cursor_inse rt ed in to orderkey, @line numbe r,extendeeddprice, @d iscou nt,t ax dneﻩndddeal lo cat e cur sor_inse rted eend((4 4))验证 up d at e触发器—-查瞧号订单得 to ta a l pr i ceselec t*fro o mo o r ders whereorde r key=1 8 30;—-查瞧明细表得相关信息se l ect *f ro mlin ei i te e mw here or de e r key=183 0and l ine num m be e r =1;——验证 e update 触发器updat elineitem set t ax=tax+0、05whe re orderkey=1830;(二)i i n steadof触发器((1))在在 lineit em 表上定义一个ins tead o fupda te触发器, 当修改明细表中得数量量quan ti ty 时, 应先检查供应表par tsupp 得av ai lqty 就是否足够, 不足够则拒绝执行, 否则执行并修改相应数值以保证数据一致性于由于 in steadof 触发器更新某个表会使得该表上其她不满足更新列不能更新,因因用此逆向思维使用 a fter 触发器实现相同效果即先更新 qu antity, 再比较av ailqqtty, 如果满足更新数量, 就修改partsupp 得表得 a vailqty, 如果不满足, 则把lineitem得quantity 更新之后得数据重新修改回来ccreate trigge r trig_lin eit em_quanti ty_ upda teonli neit em f or upda teas begin if UPDATE(qu ant ity)bbegin ——向指别分量变标游明声ﻩ声明游标变量分别指向 i nserted 表与 d el eted 表edﻩdeclare c urso r_inser tedcur sorr ead_on lyfortcelesﻩﻩtorde rkey, partk ey,s uppkey,lin enum ber, quantit yfr om i nserteddecl arecursor_de leted c urs orrea d_ onl yf or select quantityfr 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_deleted int--打开游标ruc nepoﻩrsor_in sert ed poﻩopen cur sor_d eleted-—量变给赋值数标游取读ﻩ读取游标数值赋给变量fﻩfet chnext fromcu rsor_ insert edﻩiinto or de rk ey,pa rtkey, @suppk ey, @line nu mber, @qty _ins erte df et chnext fromcursor _d eletedint o q ty _de lete dwhi le fe tch_st atus=0 gebﻩegin--计算订单明细修改时, 订购数量得变化值inserte d表项-d elet ed表项ssel ect quantity_d if f_ li neit em= @q ty _in se rte d—@@q ty_deleteedﻩ--从parts upp 表获取ava ilq ty值, 注意partsupp 表得主键为(partk ey,suppkeey)tcelesﻩﻩt@quanti ty_p ar tsupp =av ailq ty fro m pa rtsu ppwﻩﻩwh er e suppkey= suppke yand part key= @par tk ey-—断判始开ﻩﻩ开始判断gebﻩbegi nfiﻩf quant ity _d iff_ lin eite m=0ﻩﻩ p rin t“ 更新得数量与原表中得值相同, 不需要更新”e ls eif @quantit y_d iff_lin eitem 〈=q uantity_partsuppﻩbe ginﻩpuﻩﻩpd ate partsupps et avail qty= availqty-@qua ntit y_d iff_li ne item ﻩpus erehwﻩppkey=suppkeyandp artkey= @par tke yﻩﻩ p rint “ 两个表都更新成功’ ﻩﻩﻩneﻩndels eigebﻩﻩinﻩuﻩﻩupdate li nei temsetquantit y=quantity+ @quanti ty_diff_linei temwhe re o rd erke y=@orde rke y and li nenu mber= @liine numberﻩp ri nt '更新失败”ﻩﻩendﻩ e nd efﻩﻩetch ne xtfr om c urso r_i nsertedi nto @ord erke y, @partkey,s upp key, @linenumb er, @qt y_ ins ert edf etch ne xt from curso r_de leted into @qt y_d elet ed dneﻩndd eallocat e cur sor _i nserte ddealloc at e cursor_de le ted eend eend(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_ insertonline item iinstead of inser t as bbegin-—声明游标变量指向 inserte d表d eclar e cur sor_inserte dcur sorrea d_ only f orsﻩﻩselect or derk ey,pa rtkey,sup pk ey, lin en umber,q uantityf rom ins er ted-—声明变量获取查找信息dec lare quantity int, @av ailq ty i nt, @suppkeyin t, @partkeyinntt, @o rderkey int, @linenu mber int-—标游开打ﻩ打开游标c nepoﻩcurs or_ins erted -ﻩ-—读取游标f etc hnext fro mcursor_insert edint o@orde rkey,partkey,@@ssuppkey, @linenumber,qu antity wh ile @@FETCH_S TATUS= 0igebﻩin--为变量赋值a tcelesﻩavailqtyy==av ai lqt y fr ompartsuppwﻩwhe re suppkey =@su ppk ey and part ke y= partke yﻩ if @quant ity 〈= @avail qt y-—如果可以更新bﻩbegin /ﻩﻩﻩ/*将将 insert ed 表中得记录插入到明细表*/ ﻩsniﻩserti nto l ineite m select *from i nsertedro=yekredroerehwﻩﻩrderk ey andlinenumb er = @linenumber */ﻩﻩ新更时同ﻩ*同时更新 part supp 表得数量*/ﻩﻩuupd ate pa rtsup pset a vailqty=availqty-@quanti tyﻩerehwﻩe sup pke y= @sup pkey and partkey=part key ppr int ’paarts upp 表有足够得货物可以满足 lin eitem 得quan tityy, 插入成功’endelsebeginﻩﻩ p rintt''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, @liinenumbe r, qu antity eﻩen ddeall ocat ecursor_ inserted end(3)在在 line ite m表上定义一个 inste ad of del ete 触发器,当当删除明细表中记录时时, 同时改变表供应表 partsupp 得ava il qtyy数值 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 ursorread _only forlesﻩﻩelect or derke y, par tkey,sup pkey, linenumbe r,quan tity fr om deleted -ﻩ--声明变量decl are s upp key i nt, par tke yint, @orde rkey int,linen umb erint, @quaant it y int—-标游开打ﻩ打开游标opencursor_deleted-—标游取读ﻩ读取游标ffetch next fr omcurs or _del et edin to @ord erkey , @partkey,s uppkeey, @lin en umber,q ua ntitywhi leFFET CH_ STATUS=0 igebﻩin*/*除删ﻩ*删除*/ﻩ de let e fromlineite m where linenu mber= line number and o rde rkey =ordder key*/新更时同ﻩ同时更新 pa rt supp 表得数量*/u pdateparts uppse tavailqt 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 omcurso r_del etedinto @ord er ke y,p ar tkey,@@suppkey, @lin enu mber,quanti ty neﻩnd edﻩea lloc ate cursor_ delete dend(4)验证 update 触发器--查瞧li neit em 得quan tit y select*fr omlin eit em whe re or derk ey =1830and li nenum ber=1;——查询partsupp 表得ava ilqt y se lect * from part supp w here suppk ey =(selectsupp key fr omlin eitem w here ord erkey=18 30)and partk ey=(s elec t part key from lin eite mwh er eorder key =18 30 a nd linenu mber=1)---更新数量过大——更新得值与原值相同---更新到+ + 2 00 数量, , 成功updateli neitem setquant ity=q uanti ty+ 200where order key=1830and lin en umber =1;--更新 +2 00成功后l ineite m得 quanti ty y 变化——更新+200 成功后par ts upp 表得a va ilqty 变化实验到此。
SQL实训报告
SQL实训报告第一篇:SQL实训报告SQL Server 实训报告班级:姓名:学号:实训名称:SQL Server数据库应用技术实训题目:教学信息管理实训目的:通过本次实训,使学生了解开发数据库应用程序的过程;通过数据库设计,加深对数据库基础理论的理解并能灵活运用;掌握利用SQL Server 2000数据库管理系统创建、管理、维护数据库的基本方法及过程;培养开发数据库的设计思维。
实训内容:本人与郭晓峰主要负责‘教学信息管理’系统。
主要包括数据的导入和导出、数据库结构的分析与建立、表关系的添加、查询、外关键字的约束、检查约束、默认值、试图、表存储过程和触发器的学习,以及在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。
本人主要负责数据的导入,数据库的建立,查询数据库的建立:包括数据附加分离数据导入:导入EXCEL表中各个数据(学生信息表班机信息表学生成绩表授课表教师表课程信息表)查询:查询学生记录数查询成绩平均分上课人数学校人员低于平均分者学生信息低于平均分者自定义函数一总体设计思路当看到这个题目我想到一个完整的教学信息管理应包括:学生信息表、班级信息表、课程信息表、学生成绩表、教师表、授课表等。
在整个系统中有两个实体:学生和老师。
二表结构我的系统有六张表组成:学生信息表列名数据类型宽度允许空值说明学号char4否主键姓名char10是性别char2是默认值:男班级号char8是专业char20是系别char20是联系电话char20是入学日期datetime8是备注char50是班级信息表列名数据类型宽度允许空值说明班级号Char8否主键、外键年级Char8是班主任Char8是教师号char8是课程信息表列名数据类型宽度允许空值说明课程号Char8否主键课程名称Char10是课程类型Char8是学分Char8是课程说明Char10是学生成绩表列名数据类型宽度允许空值说明学号Char8否主键班级号Char8是学期Char8是课程号Char8是课程名称Char8是成绩decimal8是教师表列名数据类型宽度允许空值说明教工号Char8否主键教师姓名Char8是性别Char8是职称Char8是授课表列名数据类型宽度允许空值说明教工号Char8否主键课程号char8是Excel表格主要如下:班级信息学生信息学生成绩教师表授课表课程信息:二数据库的建立:1在开始菜单中选择“程序——MicrosoftSqlServer——企业管理器”选型,就启动了企业管理器,打开工具窗口如图所示2在企业管理器树状目录窗口中展开一个服务器组,选定服务器。
MSSQL实训任务2
2.
SELECT LEN(MAX(课程名称)) FROM dbo.课程
3.
DECLARE @str1 varchar(20),@str2 varchar(10),@str3 varchar(30)
SET @str1='I am a student'
SET @str2=' boy'
4.利用日期时间函数DATEDIFF从学生”表中检索年龄在25到27之间的学生,并且按年龄排序,结果集如下所示。
学号姓名年龄
05陈韶山25
19柯俐俐26
21王庆祥27
……
5.按“20110311”格式显示当前系统日期;按“10:19:50”格式显示当前系统时间。
6.利用函数COL_LENGTH返回“课程”表中“课程名称”列的定义长度。
漳州职业技术学院计算机工程系学生单元实训任务书
专业
信息技术
班级
09信息1&2
课程
SQL Server高级编程
任 务
任务2:T-SQL系统函数
教师
苏绿园
学习形式
课内课后□
学习方式
小组学习 □ 个人独立
学习目标
1.掌握使用系统函数方法
2.在表达式运算中能够灵活应用系统函数
任务内容及要求
以下实训在“成绩管理”数据库完成
ORDER BY 3
5.
SELECT CONVERT(CHAR(8),GETDATE(),112),CONVERT(CHAR(8),GTH('课程','课程名称')
教师评价
任课教师签名:
学习评价
1. 文档规范
sql实训报告
sql实训报告SQL实训报告1. 介绍•目的:本报告旨在总结和分析SQL实训的过程和成果。
•简介:SQL实训是为了提升学习者的SQL数据库操作能力和实践经验而进行的一系列任务和练习。
2. 实训内容•数据库搭建:–使用MySQL数据库,版本为xxxx。
–数据库结构设计:包括表的设计、字段的定义、关系的建立等。
•SQL操作练习:–数据表操作:创建、删除、修改、管理等。
–数据查询:基本查询、条件查询、排序查询、多表联合查询等。
–数据更新:插入、修改和删除操作。
•实训任务:–针对具体需求,完成一系列SQL查询和操作任务。
–涉及不同类型的查询和操作,包括但不限于统计查询、子查询、数据更新等。
3. 实训过程•实训环境搭建:–安装MySQL数据库软件,并进行相关配置。
–创建数据库和数据表,并导入相应的数据。
•实训任务完成:–按照要求,使用SQL语句对数据库进行查询和操作。
–调试和优化SQL语句,确保查询和操作的准确性和效率。
•实训经验总结:–理解数据库的结构和原理,对于设计数据库和编写SQL语句有一定的指导作用。
–熟练掌握SQL的基本语法和常用函数,能够快速写出正确的SQL语句。
–通过实践,对于各类查询和操作的使用场景有了更深刻的理解和掌握。
4. 实训成果•数据库设计:–描述数据库结构和关系的ER图。
–列出数据库中的数据表及其字段定义。
•SQL查询和操作:–列出各个任务的要求和实现情况。
–给出相应的SQL语句和结果展示。
•总结和反思:–分析实训过程中遇到的问题和解决方法。
–总结实训的收获和不足。
5. 改进计划•针对已完成的实训,提出改进和扩展的思考和计划。
•进一步提高SQL操作技能的探索和实践。
以上为本次SQL实训的报告内容概要,详细的内容请参考实训报告正文部分。
1. 介绍•目的:本报告旨在总结和分析SQL实训的过程和成果。
•简介:SQL实训是为了提升学习者的SQL数据库操作能力和实践经验而进行的一系列任务和练习。
《SQL实训指导书》-6.15
《网络数据库(SQL Server)实训指导书》任务一:完成“学生选课查询系统”作品方法步骤:一、添加总数据源添加ADO → ADOConnection 设置ConnectionString属性;LoginPrompt属性为false二、实现查询(一)、“使用表”查询1、添加表添加 ADO → ADOTable 设置ADOTable1属性:connection 属性为Adoconnection 1;TableName属性为student;Active属性为false2、连接表添加 DataAccess → DataSource 设置 DataSource1属性:DataSet属性为ADOTable1 3、添加显示数据窗口添加DataControls → DBGrid 设置DBGrid1属性:DataSource属性为DataSource14、添加控制按钮添加Stand → Button 设置Button1属性:Camption属性为“使用表”;双击Button1,编写代码如下:AdoTable1.Active:=True;5、保存、运行(二)、“使用视图”查询1、添加视图添加ADO →ADOTable 设置ADOTable2属性:Connection 属性为Ado Connection1;TableName属性为V_StuCou2、连接视图添加Data Access → DataSource 设置Data Source2属性:Data Set属性为ADOTable23、添加显示数据窗口添加DataControls → DBGrid 设置DBGrid2属性:DataSource属性为DataSource24、添加按钮添加Stand → Button 设置Button2属性:Caption属性为“使用视图”;双击Button2,编写代码如下:AdoTable2.Active:=True;5、保存、运行(三)、“使用SQL语句”查询1、添加表添加ADO → ADOQuery 设置ADOQuery1属性:Connection属性为AdoConnection12、连接表添加DataAccess → DataSource 设置DataSource3属性:DataSet属性为ADOQuery13、添加显示数据窗口添加DataControls → DBGrid 设置DBGrid3属性:DataSource属性为DataSource34、添加按钮添加Stand →Button 设置Button3属性:Caption属性为“使用SQL语句”;双击Button3按钮,编写代码如下:5、保存、运行(四)、“使用带参数的SQL语句”查询1、添加标签、文本框、按钮添加Standard → Label 设置Label1属性:Caption属性为“请输入学号”添加Standard →Edit 设置Edit1属性:清除Text属性值添加Standard →Button 设置Button4属性:Caption属性为“使用带参数的SQL语句”2、为Button4按钮添加代码如下:3、保存、运行按提示输入学号(五)、“使用存储过程”查询1、添加标签、文本框、按钮添加Standard → Label 设置Label2属性:Caption属性为“请输入班级编码”添加Standard →Edit 设置Edit2属性:清除Text属性值添加Standard →Button 设置Button5属性:Caption属性为“调用存储过程”2、为Button5按钮添加代码如下:3、保存、运行按提示输入班级编码(六)、附加内容1、添加三个按钮:Button6、Button7、Button82、为按钮设置属性和添加代码Button6:设置Caption属性为“清除表”;代码如下:AdoTable1.Active:=False;Button7:设置Caption属性为“清除视图”;代码如下:AdoTable2.Active:=False;Button8:设置Caption属性为“清除语句”;代码如下:AdoQuery1.Active:=False;任务二:完成“新系统”作品要求:1、“新系统”整体设计思路清楚、合理2、“新系统”数据表设计合理、前台界面规范合理3、“新系统”整体完成好、顺利运行。
03实训指导书
MySQL数据库原理与应用实训三操作指导书一、实训目标:1.掌握SQL语句创建数据表二、实训任务:1.使用SQL语句创建数据表三、实训指导教材例题1.2.3.按照表结构,创建sc(成绩表)数据表与student(学生信息4.查看D_sample数据库中所有表的信息。
5.查看D_sample数据库中student表结构的详细信息。
6.在student表中添加一个专业的字段,数据类型为char、长度为30。
7.将course表中的学分字段的数据类型改为smallint。
8.将student表中专业字段删除。
9.将“student”表更命名为“stu”。
10.删除D_sample数据库中的sc表。
创建数据库练习题(创建数据表小组协同完成)1.创建AdminUser(管理员表),表结构如下:默认值说明序号列名数据类型长度主键允许空1 AdminUserID Int 4 是否管理员ID2 AdminUserName Varchar(50) 50 否管理员名称3 AdminUserPwd Varbinary 128 否密码4 AdminLoginTime datetime 8 Now() 最近登录时间序号列名数据类型长度主键允许空设置字符默认值说明集1 DepInfoID int 4 是否0 院系ID12.修改ClassInfo数据表中的列ClassInfoName列为xgClassInfoName。
13.向ClassInfo数据表中添加CTest列,数据类型为int,不为空。
14.删除ClassInfo数据表中的CTest列。
四、实训报告:填写03_实训报告.doc,按实训报告中的命名要求重新命名。
实训报告要上交老师,作为实训成绩的依据。
五、课外作业将第三部分实训指导中的“创建数据库练习题”中的代码保存为文本文档再将代码写到作业本上。
SQL数据库原理实验指导书及答案
SQL数据库原理实验指导书及答案数据库原理SQLServer实验指导书1数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。
本实验的内容包括:l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码建索引。
3)查看和修改表结构。
4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。
1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,版次);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和 Default Value(缺省值)等列级数据约柬。
4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey2(主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check (检查)约束。
2.提高操作实验建立学生_课程库操作,在查询分析器中用SQL命令实现。
数据库实验书sql
数据库实验(SQL SERVER 2000)目录实验一数据库和表的简单操作实验二数据操纵语言的使用(一)实验三数据操纵语言的使用(二)实验四数据操纵语言的使用(三)实验五变量与数据类型的使用实验六运算符的使用实验七流程控制语句的使用实验八函数的使用实验九数据库和表的操作语句实验十索引和视图的使用实验十一存储过程的使用实验十二存储过程的高级操作及触发器的使用实验十三数据库的备份、还原与转换实验十四完整数据库产品设计本目录中,蓝色显示标题实验一--四,实验九、十、十三、十四为必做实验,其余红色标题显示实验为附加实验,扩展知识实验,为选作实验。
附录学生管理数据库简介此数据库为实验所用的主要数据库,有三张表,基本情况如(其中记录情况可自定):表一学生表注:学生表各字段类型如下:学号 char(4),姓名 varchar(10),性别 char(2),年龄 smallint ,系别varchar(12),班级 varchar(12)。
表二课程表注:课程表各字段类型如下:课程号 char(2),课程名称 varchar(20),学分 smallint,课时 smallint ,授课教师 varchar(10)。
表三成绩表实验题目:数据库和表的简单操作实验目的:熟练使用企业管理器对数据库和表进行简单操作实验内容:一、使用企业管理器新建一个数据库,名称为“学生管理数据库”,其主要数据文件大小为2M,次要数据文件大小为1M,日志文件大小为1M,存放位置为“D:\SQLServer”,其他选项都采用默认值。
二、在“学生管理数据库”中新建三张表,表名分别为:学生表、课程表和成绩表;其中各表结构如附录;要求:在上述三张表中建立主键约束(PK),各表主键分别为红色显示字段;在上述三张表中建立外键约束(FK),成绩表的学号字段外键参照学生表的学号字段,课程号字段外键参照课程表的课程号字段,并在设置约束时,选择级联删除和级联更新方式对主键表与外键表相互制约;(外键的含义是什么?审查时提问)在上述三张表中建立自定义约束(CK),性别字段和年龄字段的默认值分别为‘男’和18,性别取值为’男’或’女’,年龄取值范围18~30。
SQL语句任务书2016
SQL语句任务书指导教师:万飚武汉大学水利水电学院一. 练习目的(1)了解T-SQL语句以及在SQL Server Management Studio中执行T-SQL语句的方法;(2)了解使用T-SQL语句创建数据库和数据表;(3)掌握数据库查询语句的基本语法及使用方法;(4)掌握对数据表进行数据插入、修改和删除的T-SQL语句;(5)掌握视图(View)的创建和使用。
二.练习环境●Microsoft SQL Server Management Studio●Book数据库——《教材订购管理系统数据库》表结构如下:1. T_Teacher:存储教师基本情况。
2.T_Academy:存储学院基本信息。
3.T_BookInfo:存储教材基本信息。
4. T_Publisher:存储出版社的基本信息5.T_BookOrder:存储教师及学生订书的基本信息数据库Book各表之间的关系如下:三.练习内容1.将Book数据库附加到SQL Server Management Studio中;2.编写SELECT语句,建立以下查询1)显示T_BookInfo表中所有字段的值。
2)查询T_Teacher表中所有记录的TeacherCode、TeacherName、EnterDate和Title字段信息。
3)查询男教师的姓名(TeacherName),显示时将字段名TeacherName改为“姓名”。
4)查询2007年以后出版的教材名称(BookName)、出版日期(PublishDate)和库存量(StockNum),显示时字段标题分别为:教材名称、出版日期和库存量。
5)查询所有教材的出版社代码(PublisherCode),将重复的记录去掉。
6)查询学生订书量(StuBookNum)最大的3个记录,显示教材代号(BookCode)和学生订书量(StuBookNum)。
7)查询学生订书量(StuBookNum)在150到250之间的教材信息。
进行Sql语句练习实验报告
进行Sql语句练习实验报告实验报告课程名称:数据库技术实验题目:实验四Sql语句练习姓名:学号:班级:实验日期:成绩:一、实验目的进行Sql语句练习二、实验环境Microsoft sql server 2008和DBMS三、实验主要内容和主要操作步骤1.新建表Depts、Student、Courses、Reports如下:2.建立表关系如下:3.建立查询3.1 简单的选择与投影查询(1)无条件查询查询学生的姓名(Sname)、学号(Sno)、所在系号(Dno)查询全体学生的姓名(Sname)、出生年份及学号(Sno)查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
查询选修了课程的学生的学号(2)条件查询比较条件查询:查询系别编号D03的全体学生的学号(Sno)、姓名(Sname)谓词条件查询:查询20-22岁(包括18和22岁)学生的姓名(Sname)、年龄(Sage)(3)查询结果排序查询选修C03号课程学生的学号(Sno)和成绩(Grade),并按成绩降序排序(4)集函数的使用查询学生的总人数计算选修C01课程学生的平均成绩查询选修C01课程学生的最高成绩(5)查询结果分组查询各个课程号(Cno)及相应的选课人数3.2 连接查询(1)不同表之间的连接查询查询Sname=‘王建平’及其选课情况(2)自身连接查询没门课程的简介先修课3.3 嵌套查询(1)带谓词IN的嵌套查询查询选修了编号为“C02”的课程的学生的姓名(Sname)和所在的系别号(Dno)(2)带有比较运算符的嵌套查询查询与“刘华”在同一个系学习的学生学号(Sno)、姓名(Sname)和系别编号(3)带谓词AND或ALL的嵌套查询查询系别号不是D01的学生,且年龄不超过D01所有学生年龄的学生学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)和系别号(Dno)(4)带谓词EXISTS的嵌套查询查询所有选修了编号为“C01”课程的学生姓名(Snmae)和所在系别号(Dno)3.4 集合查询查询系别号D02的学生或年龄不大于20岁的学生信息四、实验结果及体会建立查询的过程中我得出了下面的一些感受:(1)初步熟悉各种比较简单的查询(2)对一些比较复杂的查询还需要多练习。
移动互联应用技术《23实训任务书10 Sql编程基础应用2H》
数据库技术
任务
T-SQL编程根底应用
课次
实训时间
授课类型
实课班级
实训目标
让学生根据教学工程来实践T-SQL编程根底与应用
实训重点
T-SQL编程根底知识及简单程序设计
实训难点
T-SQL根底知识在编程中的应用
实训设计
首先完成教学工程、再完成配套工程和拓展工程
实训内容
3.用if或case语句实现:声明变量s用于存放分数〔0-100之间〕,根据百分制与五级制的转换原那么,输出对应的成绩等级。
4.用case条件控制语句实现对exam数据库的成绩表访问,将成绩的计分制转换成三级制,转换规那么是:‘优秀150以上’、‘及格100-150之间’、‘不及格100以下’。
5.打印输出乘法九九表。
4.case条件控制语句:查询Library数据库中读者的编号、姓名、性别,其中性别显示为常用的“男/女〞格式。
5. case条件控制语句:按照月份划分当前系统日期所处季节。
6.while循环控制语句:计算并显示1+2+3+…+100的结果。
7.游标简单应用:通过游标中使用FETCH,遍历Exam数据库中“信息工程系〞考生的姓名、班级。
[教学工程]:通过以下简单的编程训练,来帮助同学们掌握T-SQL编程根本元素及应用。
[任务]:小试T-SQL编程
1.全局变量的使用。使用全局变量@@VERSION查看当前数据库的版本。〔常用的全局变量请同学们自己课后去了解〕
2.局部变量的使用。声明两个变量x和d,分别给其赋值后输出查看结果
3.if条件控制语句:根据现在的日期,显示月份上旬或下旬。
6.游标简单应用:通过游标中使用FETCH,遍历library数据库中“研究生〞读者的姓名。
SQL数据库实训报告1
CREATE TABLE [dbo].[choice] (
[s_no] [char] (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[c_no] [char] (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[score] [decimal](18, 0) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[course] (
[c_no] [char] (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[c_name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
SQL数据库实训报告
姓名
班级
计算机网络二班
学号
实训题题目
数据库的建立与操作
实训时间
一个月
实训环境
Windows xp Sql server 2000
实训目的
1.学会熟练使用sql server 2000。
2.熟练的掌握数据库、表、视图、存储过程、触发器等的建立
3.熟练的使用SQL语句建立、查询、修改等操作对表的操作
FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL\Data\teachdb_Log.LDF'
,SIZE = 1,
FILEGROWTH = 10%)
2、使用查询分析器建立三个表choice、course、student,代码:
use [teachdb]
4.文档的整理编辑
实训内容
SQL实训报告
SQL实训报告SQL实训报告(通用5篇)SQL实训报告篇1一、实验目的SQL(Structured Query Language)语言是关系数据库的标准语言。
是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
本次实验了解SQL语言中DDL语言的CREATE、DROP、ALTER 对表、索引、视图的操作,掌握在Navicat for MySQL中用DDL语言进行对表、索引、视图的增加、删除和改动。
掌握使用SQL语句增加或删除约束,加深对完整性概念的理解,达到灵活应用的目的。
掌握使用SQL语句定义和删除同义词。
二、实验要求1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。
三、实验的重点与难点1、重点:(1)用SQL语句定义表结构(创建、修改和删除)。
(2)用SQL语句定义索引(创建、删除)。
(3)用SQL语句定义视图(创建、删除)。
(4)用SQL语句定义同义词(创建、删除)。
2、难点:完整性约束的定义、增加及删除。
同义词的定义与删除。
四、仪器设备及用具硬件:投影仪、每位同学分配已连接校园网PC机一台。
软件:本机已安装MySQL 5.5数据库平台。
五、教学过程(一)实验预习(1)熟悉SQL中的CREATE、DROP、ALTER语句的格式及所用的关键字含义及用法。
(2)掌握完整性约束定义、增加和删除的一般用法。
(3)掌握同义词定义、删除的一般用法。
(二)实验原理在Navicat for MySQL中使用CREATE命令完成对表、索引、视图、同义词的创建,使用DROP命令完成对表、索引、视图、同义词的删除,使用ALTER命令对表结构进行修改及完整性约束的增加、删除。
sql实训
SQL数据库综合实训一、创建数据库和数据表。
1、在E盘建立以‘班级代码与自己的姓名’为名称的文件夹并在其文件夹中再创建一子文件夹名称为‘综合实训SQL代码’。
在‘综合实训SQL代码’中再创建7个子文件夹,分别为1、2、3、4、5、6、7。
2、用SQL代码建立名称为“教学管理数据库”主文件名为“教学管理数据.MDF”;日志文件夹名"教学管理日志.LDF"文件保存在"班级代码与自己姓名"的文件夹中,其中主文件名初始大小为1MB,最大5MB,以1M的速度增长,文件保存在"班级代码与自己姓名"的文件夹中.日志文件名初始大小为1MB,最大3MB,以20%增长。
代码文件以“建立教学管理数据库”为名保存在“1中”3、用SQL代码建立以下7张表TEACHER(表说明;教师表)将每题的代码以各自的表名保存在文件夹1中二、修改基本表代码以各自的序号保存在文件夹2中1.重命名表名,重命名为修改表6.将字段dept改名为系名称7.为coursename添加一个唯一性约束8.删除coursename的唯一性约束9.为coursename 添加一个default约束10. 删除coursename的默认值约束11. 为coursename 添加一个非空约束12. 为coursename 添加一个检查约束,只能为数据库或C语言13.修改字段coursename ,数据类型为varchar,长度为2014.删除字段sex15.删除字段T_sex三、数据表的插入(每个代码以“插入的数据+表名”保存在文件夹3中)SC三、查询(每个代码以前面的编号为名保存在文件夹4中)1、查询学生的出生地点。
2、查询年龄介于[19,21]且性别为男的学生详细资料。
3、查询班级号为JY1,XX1的学生姓名与年龄。
4、统计计算机学院的班级个数。
5、统计福建籍的学生个数。
6、查询成绩不及格的学生姓名。
(要求用子查询)7、查询最大年龄的教师所上的课程名称。
移动互联应用技术《17实训任务书7 Sql数据更新应用2H》
[任务2]:在“Library〞数据库中完成用户的数据删除与更新需求
1.有一本书号为TP102书名为?JAVA程序设计?的书籍因破损严重需要下架,请从Library数据库中将此书信息删除。
2.图书馆在清理书籍时准备将出版时间超过的20年的“教育〞类书籍全体下架,请从Library数据库中将此类书箱信息全部删除。
[实训报告]:将以上运行通过的sql脚本粘贴在下方,并将包括全部脚本的屏幕截图也粘贴在下方:
[任务2]:在“Exam〞数据库中完成用户的数据删除与更新需求
1.有一个名为“温珍瑚〞的学生要退学,请从“Exam〞数据库中删除与该学生有关的全部个人信息
2.有一个学号为“200601010004〞的学生留级到2007级,请在“Exam〞数据库中,将涉及该学生的所有信息级联修改为“200701019999〞
2.图书馆新进了一批图书,图书的根本信息记录在2021newbooks.xls表格中,请全部插入到Library数据库对应数据表中。
3.图书馆新进了一本图书,图书的根本信息是〔LI1104,玄奘之路,LI,钱文忠,复旦大学出版社,2021-08-30,2021-12-20,38〕,该书立刻被“G001王凯〞的读者借走,请将这一现实事件通过插入数据反映到library数据库中,使数据库中的数据与现实保持一致。
课程
数据库技术
任务
Sql数据更新应用
课次
实训时间
授课类型
实验ቤተ መጻሕፍቲ ባይዱ
课时
2H
授课方法
以做为主、学做一体
授课班级
实训目标
让学生根据教学工程来实践Sql数据更新
移动互联应用技术《12实训任务书5 Sql嵌套查询应用4H》
53.列出每个部门每个职位的平均工资、每个部门的平均工资、每个岗位的平均工资
54.列出所有“CLERK〞〔办事员〕的姓名及其部门名称,部门的人数。
55.列出薪金高于公司平均薪金的所有雇员,所在部门,上级领导,公司的工资等级
[实训报告]:将以上运行通过的sql脚本粘贴在下方,并将包括全部脚本的屏幕截图也粘贴在下方:
实训小结
[任务1]:在“Exam〞数据库中运用非相关子查询技术实现以下查询需求
1.查询参加了“C语言程序设计〞课程考试的成绩信息
2.查询“王平〞老师所管理考试科目的试题信息
3.查询参加了“4001〞科目考试的学生的学号和姓名
4.查询参加了“C语言程序设计〞科目考试的学生的学号和姓名
5.查询参加了“王平〞老师管理课程考试的学生的学号和姓名〔多级嵌套的复杂子查询〕
2.查询薪金高于部门30中雇员的平均薪金的所有雇员的姓名和薪金
3.查询薪金与部门30中雇员的薪金一样的所有雇员的姓名和薪金
4.查询scott公司员工中职位是“办事员〞〔CLERK)的员工的部门名称及工作地点
5.查询scott公司员工中职位是“办事员〞〔CLERK)的员工的员工姓名、职位、部门名称及工作地点
1.查询哪些学生没有参加考试
2.查询哪些课程没有一个学生参加考试
[实训报告]:将以上运行通过的sql脚本粘贴在下方,并将包括全部脚本的屏幕截图也粘贴在下方:
[配套工程]:在“公司人事管理系统〞后台数据库Scott中实现以下用户的数据查询需求
[任务1]:有子查询技术实现以下各查询任务
1.查询scott公司“财务部〞〔ACCOUNTING〕员工的根本信息
6.查询没有参加“C语言程序设计〞课程考试的学生的学号、姓名及所在系信息〔子查询和连接查询嵌套〕
移动互联应用技术《08实训任务书3 Sql统计查询应用2H》
1.显示有雇员的部门编号
2.显示30部门中的雇员信息
3.列出所有办事员〔CLERK〕的编号,姓名和部门编号
4.找出奖金〔COMM〕高于薪金〔SAL〕的雇员〔提示:使用isnull函数处理null在查询中可尽量防止数据异常〕
5.找出奖金到达甚至超过薪金的60%的雇员〔提示:使用isnull函数〕
7.查询读者类别中读者人数最多的一个类别及人数〔这里也有上面的问题〕
[实训报告]:将以上运行通过的sql脚本粘贴在下方,并将包括全部脚本的屏幕截图也粘贴在下方:
[拓展工程]:在“公司人事管理系统〞后台数据库Scott中实现以下用户的数据查询需求
[任务1]:完成以下查询任务,如果需要的话,可以用2个以上的select语句来实现
1.查询Scott公司中各部门员工的总人数,并按部门名称的升序排列查询结果
2.查询Scott公司各部门员工中有奖金〔COMM〕的员工人数,并按人数的降序排列查询结果
3.查询Scott公司各部门员工中有奖金的员工最高的奖金、最低资金及平均奖金
4.查询Scott公司各部门员工中有奖金的员工人数,将人数超过3人的、按人数的降序显示查询结果
11.找出部门10中所有经理〔MANAGER〕,或部门20中所有办事员〔CLERK〕,或既不是经理又不是办事员但其薪金大于或等于2000的所有雇员的详细信息。
12.找出有奖金的雇员的不同工作。
13.找出没有奖金或有奖金但低于100的雇员。
14.显示姓名正好为5个字符的雇员的姓名。〔提示:使用len函数〕
6.显示薪金〔SAL〕超过2850的雇员姓名和工资
7.显示薪金不在1500到2850之间的所有雇员姓名及薪金
8.显示无直接领导者〔公司老大〕的雇员姓名及职位
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server课程实训任务书
一、前言:
信息技术是知识经济最重要的支撑技术之一,其核心内容是数据库技术、网络技术和程序设计技术。
SQL Server数据库技术产品具有超大容量的数据库存储、高效率的数据查询算法、方便易用的向导和工具、友好亲切的用户接口,大大推动了数据管理、电子商务的迅猛发展。
作为当代大学生掌握SQL Server数据库知识无论是以后工作还是做研究都是非常重要的。
二、题目:
某单位欲开发一职工工资信息管理系统。
其中部分内容包括:职工数据库ZGSJK,该库中有若干表:职工简表ZGJB,基本工资表JBZGB,奖惩工资表JCGZB,用户表users等。
具体内容是:
1、创建200MB的职工数据库ZGSJK,该数据库的主数据文件的逻辑名是ZGSJK4_data,主数据文件是位于D:\MSSQL\data下的ZGSJK4_data.mdf,大小是3MB,最大是5MB,以15%的速度增长,该数据库的日志文件的逻辑名是ZGSJK4_log,日志文件是位于D:\MSSQL\data下的ZGSJK4_log.ldf,大小是50MB,最大是200MB,以10MB的速度增加。
2、增添次要数据文件:ZGSJK_data2,该文件大小是8MB,最大值是10MB,以2MB的速度增长。
3、创建表:职工简表ZGJB,基本工资表JBZGB,奖惩工资表JCGZB。
职工基本信息表ZGJB
奖惩工资表JCGZB
职工扣款明细表KKMX 4、
在ZGJB 中增加级别字段JB ,类
型是
Char ,长度是8,允许为空;在JCGZB 中删除职务字段ZW 。
5、为JBGZB 表插入数据,数据来自ZGJB 表中的BH ,XM 列的所有数据行。
更新JBGZB 、JCGZB 表中所有职工的YF 、XJ 和SF ,计算公式为YF=IBGZ+ZWGZ+BT1+BT2,XJ=JL1+JL2-KC1-KC2,SF=XJ+YF 。
删除JBZGB 表中JB 为“初级”职工的名单。
6、检索ZGJB 表中的全部信息;检索JBGZB 表中“副处级”职务的职工信息;
7、为相应的表设置约束,保证数据的完整性
8、在职工基本信息表,基本工资表创建视图
9、在职工基本信息表,基本工资表创建存储过程和触发器。