数据结构实验报告(3)_第1页
数据结构实验报告(3)_第2页
数据结构实验报告(3)_第3页
数据结构实验报告(3)_第4页
数据结构实验报告(3)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、合肥师范学院实验报告册2013 / 2014 学年 第2学期计算机科学与技术系实验课程数据库原理计算机软件软件一班夏雷1210431095实验名称课时实验报告成绩实验(一)数据库基本操作2实验(二)一一SQL语句6实验(二)数据库完整性与安全性实验4实验(四)数据库编程4备注:实验一数据库基本操作、实验目的1.2.3.熟悉MS SQL SERVE运行界面,掌握服务器的基本操作。 掌握界面操作方法完成用户数据库建立、备份和还原。建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行 基本操作。二、实验预习内容在认真阅读教材及实验指导书的基础上, 上机前请预习以下内容,并在空白 处填写

2、相应的步骤或命令。1. 熟悉SQLSERVER000的运行环境,练习服务器基本操作:打开、停止、关 闭。2. 使用SQL SERVER 2000中的企业管理器 完成以下任务。 数据库名称:STC表:STU (sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char);COUTSES ( cno char(3), cname varchar(50), cpno char(3), credit int);SC( sno char(9), cno char(3), grade int);建立数据库STC,分别建立以上三张表

3、,并完成数据录入。(表结构及数 据参见教材)分析并建立各表的主码,用下划线在上面表结构中标出主码。 建立各表之间的关联,请简述操作步骤。说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型, 宽度为9, int指整型数据。2)3)1)宙 SQL £rrv严 Erlrrprisr "旷廿艺文焊(E 册® 旦辿JL'3虻凹ftflilih和吗盛W戈 * G = I b .:丨采 4 4划15 Q址 ft刮曰冃目SQl Srrvrf5SQc Srrvr 越(IqcoI (WindowsTC5-因SQL $erv申* SOL Eervh

4、洞* 2> IIohII (Window NTj -匚J血直ujUU-umper model mbNortHund putn £TCs吉*3!音牒ssiSCOUTJ.dbaffla29丄尊4" LM占豹詞 Stp-epertit!dbo201W& u;oi:n區Hdba沏 *4/7 144 WZ3&TUdbo用mR14/4/7 IJ141:U3 5> columnsdbo諏SOW砂 1;29:12SijrtcoirmcrtsdboS烦2(MM(/6/6 1;29-12自耶 JrprHd*dbo?0顾训 L;91?23rotpsdboJfct200

5、3/8/15 L茁:丄2囲 sjff-esdbo逾2ZX>0?Ei'*ID h29;12詞 sffcsldbo20(K)出归 L29:12£ 2Ef宀坝目以下是各表的数据及各表的主码:1.STU 表:交件(D 窗口创 ffifeChDIf:£=鱼S亟尸点!政呀fi袤"STU" K的額据位豊星"STC-札'localj"上znoEsexsanSC-tX女 BP53 53皿站弓500£9500095C06” STU”r位置星"STC ra、'Clocalf 上列宕1数Jg类型1匠度冗许空1

6、char9Hnamevar char5Cxstxchar2/sageint4ZsleptcharZ2. C0UTSES 表;塩裘'WJTSES" 口世如靖昱"STC白、"(local)-上|百1|回23456T亡 rumftffiSE数学信息系编 操作系镰 數据结枸 數榻处理FASCALiScpiia51 crftdi t4£43电24缢设计養-COUISES" ”位置是"STL中.llocair 1 数据类型 I长度允许?char3iLanevor char50cpncchar3cr »di tint43SC 表:

7、通表"SC"中的述”违县-STC" 12回屋EIUZiIgILOI gfgsmiL50012655001363T95002E 1£*9500G3eo -L r垃I说计表 电7 .位馨 "£丁匚"丸 -(locair上1数据类型1长度1允许空STkOchar9CROch if3gradfiint4V/建立各表的关联:选厅篇黠选择一个或參个*0您也可选S遶加相关的羌。CCUTSES SC STU可甫的畫凹 syscolumrs racomTOTTl-s 野'詁spend鲁 jysfil 色 groLips sy shie

8、s syafilesi gygfo reign keys sfullextcatabogs sysfulttejdnotify 觀 indexes厂自动浦加相关的表旧势少牛级别的根关耒凹?上一歩® 下二岁边厂科取消GAiML fES S'TC"社 FxpF 上QXTTSHSTZFlSAere litsc?C1_DCTdrSTUax*srH"CX送系名: |FE:_gC-CoirrsEg 咅褪衷世 CDUTSES外淒衷©SC'T,-F I enoR创S+检査现存数据®P对复制强制关系連)IIR対rSEEr和1JTBATE强制关系

9、厂级联更諦相美的宇段 厂级联刪除拒关的记录Q确定 I 取消 I 耕助® I美索宮(1):|rE SC STU 主犍* (I)外a*归)3TirscF II ano7创崖中检晋现存埶据(I)F对S制强制关系CF)R对rUEERr和UTtATE强制关系(£) 厂级联重斬相关的宇覆on 厂级联刪除相关的记录(£)确定 I 取消 I帮助® llASHlMr luSs -SIC-立 !舅二UJUISJIS *|%|-nmF2r4 L I.sc:*$EX卫n -Zcvs-icSIM + SWHi W*5=±X冲丄4)参考实验指导书的【第5章 数据库的备份和

10、还原】,使用企业管理器对 数据库STC进行备份,并尝试在个人电脑与机房电脑上进行还原,请简 述备份、还原操作的步骤。1.备份:SQL Server 含份一$1匚数据库迪:描述®5TCSTC备份Lr阿r r 目的频据库-呢全(mTi I II jii I iiiKHi I I. Illi 11 111 J. r 吊S0忑旦) 立件®0;业g磁芾m C掘叮添加回I刪赊I內容樹I重写调度悍追加a媒体© 重写顼有媒体酣II 调蜃(D:帮助 ISQL Se.rver 企业5P-HII IHH Illi l-HI IIM-IIII H-H llll-HII 世 i 湛 j2.

11、 还原:常規1选顷1通標药埶据障(BKSS还康忖数損库迎艾件组或交件®从设备廻)_参数显示:数据库臂份阻.|?rc要诬原的第一个奋份固.2014/4/7 14 30:51-STC 19J还原类型【备w集日期1大小1还原自备份集名称1|aJM/4-/7.57S KEF”学习STC Sts回2014/VII.110'. F'学习STC劄殳* Liri厂旳臣妙0匚属性0 I确走 取消帮助 SQL Server企业旨1器掏£恪匚“旳还原已卿完畝11lllll I llll-HII IhH Illi l-HIIIM-ll|lj 睡 I3. 在SQL SERVER 20

12、00的查询分析器中使用SQL语言完成以下任务。参考实验指导书数据库系统实验指导教程 【实验1.1数据定义】,建立 数据库 SCHOOL,分别建立 students teachers courses choices四张表,表 结构见实验指导书P236【附录A】。1)用SQL语言创建数据库、建表。建表时为各表建立关键字、设置外码,数 据暂不录入,请写出对应的SQL命令。create database SCHOOLcreat TABLE stude nts(sid char(10) p rimary key, sn ame char(30) not nu II, email char(30), gr

13、ade int,);create TABLE teachers (tid char(10) p rimary key, tn ame char(30) not n ull, email char(30), salary int,);create TABLE courses(cid char(10) p rimary key, cn ame char(30) not n ull, hour int,);create TABLE choices(no int p rimary key,sid char(10),tid char(10),cid char(10),score int,FOREIGN

14、KEY (sid) REFERENCES stude nts(sid),FOREIGN KEY (tid) REFERENCES teachers(tid),FOREIGN KEY (cid) REFERENCES courses(cid), );2)为students表、courses建立按主键増序排列的索引,请写出相应的SQL命令。create in dex ssid on stude nts(sid asc)create in dex ccid on courses(cid asc)3)删除course上的索引,请写出相应的 SQL命令。drop in dex courses.ccid4

15、)在SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为 日期时间型,请写出对应的SQL命令。alter TABLE students ADD 出生日期 DATETIME5)删除students中的“出生日期”字段,请写出对应的 SQL命令。alter TABLE students DROP COLUMN 出生日期6)删除SCHOOL数据库中的students表,请写出对应的SQL命令。Alter TABLE choisesdrop FK_CHOICES_STUDENTSDROP TABLE stude nts4. 使用企业管理器创建数据库SCHOOL,实现内容与实验预习

16、内容 3完全相 同。1)创建数据库、建表。建表时为各表建立关键字、设置外码,数据暂不录入常规数据文件I萼夯B志i(未知)(未知)(未知)(未知)(未知) f耒知)名称(W:|SCHOOL|状态: 所有者 创谨B期:大小: 可用空冋: 用户数:上我数库备ffi:上决車劳曰志备ffl:维护红护计划:排序规则名称:建立表,以及主码,外码列峯SffiS 型长度1允许空ocL«r10UI1击已clvar30h<rar int4中、"(llocalf 上珞说计表'courises",位宣是'SCHOOL"竝1设计表"choices&q

17、uot;,憧置星"SCHOOL 丸 "(loca1列容数据类型忻度丨ft许空int4 dchar10iidch电r10V"cidchur10scoreint4X/上翟性_雄的关系;E3 FE choicts cowrsex关蔡I索I check约束Ichoicer|oo fE_c he i c £5_5 tuden t s新建® 刪余)I矣磊名®:主键表住)|Flf ckoia Indent s夕卜键表换)1 students|(2hoiceE工JMl iSid上*r7创建屯检W现存埶据延)F对亘制强制关灵(1)R対IM5ERT和UP

18、DATE强制黄系厂级联更新相黄的車覆迎厂级联刪關相关的记录©耒系I橐引丿陡I CHECK约束I表名:chviuwsCDursaichoi c«xci 1cid1J *J*±褲夷©外灌表|FE choi c«s cflur!*!7创窪中检童现存撤福inF对复制强剖关系疋7对IMSERT和UPDATE强制黄票 厂级联更新相关的宁段W 厂靈联删瞭相关的记灵Q关闭 I 帮肋 I屠性choices选定的关丢0);8 FE ch«i"s ttwchers新逢®ZIW余也)I1 ttachtiTE亍 1jcboictEtid_d

19、 * nV-关至塔Q):主謹克®处锂夷Q)|FK chfli匝创建中检B现存勘据也IR对复制强制关慕电阪对THSERT和UPDATE强制关系® 厂级底更新相关的宇段 厂级联刪&気相关的记灵(£)关aI帮ftraim2)为students表、courses建立按主键増序排列的索引:表名:ztinlents选定的素引:113_st-Qi4erLtE类型;素引新建曲1«除1索引名 00:|n_£tTidentE列名瞰序1a_lJ升序三V索引f键I CHECK釣東索引交件爼陽)-董 I黄系埴花因子(?):fo *厂洎克奈引r-'j厂创建

20、iffliauE 00r釣束0)索引m 厂衆那重寫热黑r 创建对 CLU5TEKEE (0 厂不自动重SJfvWii+Oti)courses选走的索引(5)一|iy(!(rurseE l类型:索引名d):索引立件組-素引憶序-eno升序土VFKTLimjlXCorurMeE-lZl1 I新題on II删除Ir忽晤董复憾伍埴充因子:|0 »厂 "b索引/犍I CHECK约束厂 创建uHiguECinr宙束r耒引圧厂创建対CLUSTERED CO r不g动重新计宴编计训)3)删除course上的索引:厂创淫対CLUSTERED CO 厂不目动重新计算妊计创)Il 关闭 I 帮助

21、 I4)在SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为日 期时间型:0晦蠶导曲鲍丈刁址D=S即岡snoch*rgsnameV ar ch ar50ssezjTchar£Vilit4Vsdsptchar2V出主日期iatet imea数据类型I怅度丨允许空1列容布 设计五 *students* ,住置是"STC"中.(local5)删除students中的“出生日期”字段:W设计表- students-僮置是-STC*中、-(;1 麴据类型 I g度I允许塞VvarcEar chiT int char50Z42设置主犍仔6)删除SCHO

22、OL数据库中的students表将频需库与龍劳器分离以.曩制频糖犀文件。分离勘竝屋将无迭取消©帮助凹I5. 使用企业管理器,将SCHOOL数据库分离出MS SQL SERVER,请简述步骤。分窑端 SCHOOL使用,B鉗E您民次胳苴讯9加上去。ua教据库状态 使用本埶擄障的s援.妾复制的数損库:状态:谛数捐库已就绪,可以分离。分离迭项厂花瞩箭重殽讦信扈6. 使用企业管理器,使用【数据库/所有任务/附加数据库】将SCHOOL数据库 添加进SQL SERVER,并查看数据。翩南隔库一(ibcal)要W加教据库的MDF衰件:恫)|HAl3chMldb-SQL Server企业育理IS豔证凹

23、原文件名库瞬J鹹IDF)FSchooLData.MC SchoolJjog丄 DF酣加为回:确定 I 邨肖I 帮助7. 使用查询分析器,删除数据库STC,请写出对应的SQL命令。drop database STC8. 结束本次实验三、实验课后训练1. 使用企业管理器练习数据的导入导出。1)将SCHOOL数据库students表中的数据导出到STC数据库对应的stu表中;霉DTS导入/导出向导选择煩表和a圉禺亘选择一个或裁个夷或视0帧豐制。可在架构和热据岀现在逋由时进行8亂也可单丢i” 用由和觴据。WI叼应Sehg|®bo.£TLJ|£TCh出时月TU全选闿上一歩I

24、下一少诅)、| 取消正颐厅包3MicroSijft SQL Server进度:*3Microacft SQL Server llllllllllllllllllllllllllllll状态歩骤名1状态10 Copy Data from STUDENTS tolSTC.dbo苍 TUI 步骤究成1'KJKH)><rrI豈成(D)I2) 向STC 数据库 courses表导入 SCHOOL数据库 courses表中的数据; 需DTS导入/导出向导源I目的彎School田比血 宵畜倔na川BMMJI前School! tJbcJ 1ST O School).fdHrrE.上一皋I下

25、一皋假)| 取消 I 帮貼3正颐旋Microsoft SQL ServerMicroSijft SQL Server 进度:lllllllllllllllllllllllllllllll状态歩骤名I状态0 Copy Data from COURSES to STCl.ytwjlJCOUTSES岩骤 究成的I豈成(D)I3)自行练习实验指导书【实验5.3 SQL SERVER数据库的导入与导出】部分;1:从 school数据库中的 students表中的数据导出到文本文件 Learner中: 需DTS导入/导出向导选释目的您套格勒堀复制到何处?可將藪拒夏制到下列目的之一。目的fO;IJ文本文件a

26、家蠶記綾曹学骷的也可以是固蒜刪。要进行连搂文件名旧:I Learner)弋上一歩购I下一歩吸)取消霉DTS号入/导岀向导Learner迭豐專濫需格式。选径谡文件呈带片牖符类型还是固宗宇段型型。目的文件容:帮貼I阳帝分隔苻。各列Z闫可用任何宇符分隔。厂固定空段。信息以諄贾按列对弃凶,文件类型:|ansi厂第一行含有列名祢行分隔S®:hCRHLFld别分隔答©:1這号文本限总称®.1砧眉创塢a通1正葩&fe3Microsoft 50L Server进度:%*iFldl Alelllllllllllllllllllllllllllllll伏态:歩骤名1状态10

27、Copy Data from STUDENTS to Learner 步骡兗成flMOM)< 1tff11穽成(D)12:将文本文件Learner中的数据导入到school数据库中的students表中上一塞I下一皋煙)、| 取消昂DTS号入/导出向导选择煩衷和ft图fB喪和视图E:全选取消全迭口 I 预览曰I上一塞I下一皋诅)、| 取消正劭旋Fldt FileMicrosoft SQL Server进度:lllllllllllllllllllllllllllllll状态:I 歩骤名 _ ff态 III ® Copy Data fron? Learrier to" h

28、oofl'iso.lSf U DENt"SI匸SI mu im -r ! mi mniii n-n b-pi i rTiii im mi ¥ n-n rTiii ” r “ f T o出一步I厂穽成(D)I2. 自行练习实验指导书【实验1.1数据定义】部分。四、实验报告1.简述本次实验所用到的SQL命令及其功能。create database <名称 > 创建数据库creat TABLE 表名 (列名 数据类型 列级完整性约束条件, 列名 数据类型 列级完整性约束条件,表级完整性约束条件)创建基本表create index <主属性 > on

29、 <表名 >(主属性 asc (desC )为表建立按主键増序(降序)排列的索引Alter TABLE < 表 B>drop (B与A的外码约束)DROP TABLEV表 A>删除数据库中的A表2.在MS SQL SERVER中数据库的“分离添加”与“备份还原”是相同的功 能吗?是不同的功能,“分离/添加”会使数据库的数量改变,而“备份I还原”不会改 变。3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)通过本次试验,知道了基本的sql命令及其功能,同时也初步涉及到了 SQL语言。 在实验过程中也遇到了一些问题,比如在一开始没有打开服务器直接进入企业

30、管 理器,半天链接不上。创建表后,录入数据后找不到如何保存数据,原来系统会自己存储,录入数据后 直接关闭就可以了。导入数据时,最后总是不记得选择要导入的表,直接就导入了。实验SQL语句.、实验目的熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、 集合查询和统计查询,能理解空值的处理;熟悉数据库的数据更新操作,能使用 SQL语句对数据库进行数据的插入、更 新、删除操作;熟悉SQL支持的有关视图的操作,能创建、查询及取消视图;了解NULL在数据库中的特殊含义,掌握使用 SQL进行与空值相关的操作;二、实验预习内容在认真阅读教材及实验指导书 【实验1.2数据查询

31、】、【实验1.3数据更新】、 【实验1.4视图】和【实验1.6空值和空集的处理】的基础上,上机前请预习以 下内容,并在空白处填写相应的步骤或命令。1. 使用SCHOOL数据库,在SQL SERVER 2000的查询分析器 中使用SQL语言完成以下操作。请在空白处填写相应的 SQL命令。1)查询年级为2001的所有学生的名称,按编号顺序排列;SELECT sn amefrom STUDENTSWHERE grade=2001 ORDER BY sid DESC 2)查询所有课程名称中含有data的课程编号;SELECT CIDFROM COURSESWHERE CNAME LIKE '%

32、data%' 3)统计所有老师的平均工资SELECT AVG(SALARY)FROM TEACHERS4) 查询至少选了 3门课的学生编号;SELECT sidFROM CHOICESGROU P BY sidHAVING COUNT(sid)>25) 查询学号为80009026的学生的姓名、所选课名及成绩;SELECT STUDENTS.SNAME,COURSES.CNAME,CHOICES.SCOREFROM STUDENTS,COURSES,CHOICESWHERE STUDENTS.sid=800009026 AND STUDENTS.sid=CHOICES.sid AN

33、DCOURSES.cid=CHOICES.cid6) 查询没有学生选的课程编号;SELECT CidFROM COURSESWHERE CID NOT IN(SELECT CID FROM CHOICES)7) 查询既选了 C+又选了 Java课程的学生编号;SELECT X.sidFROM CHOICES AS X,CHOICES AS YWHERE(X.cid=(SELECT cid from courses where cn ame='C+')AND Y.cid=(SELECT cid from courses where cname='JA/A')AND

34、 X.sid=Y.sid8) 查询选了 C+但没选Java课程的学生编号;SELECT X.sidFROM CHOICES AS X,CHOICES AS YWHERE(X.cid=(SELECT cid from courses where cname='C+')ANDY.cid IN (SELECT cid from courses where cname<>'JAZA') AND X.sid=Y .sid9) 向STUDENTS表中插入“ LiMing ”的个人信息(编号:700045678,名字: LiMing , Email:,年级:199

35、2);INSERTINTO STUDENTS(sid,s name,email,grade) VALUES (700045678','liMi ngT','1992');10) 将“ LiMing ”的年级改为2002;UP DATE stude ntsSET grade=2002WHERE sn ame='LiMi ng'11) 删除所有选了 Java课程的学生选课记录;DELETEFROM choiceswhere cid=(select cid from courses where cn ame='Java');T1

36、中。12) 求出每门课的课程号、选课人数,结果存入数据库表create table T1(cid char(10),m int)in sertinto T1(cid,m)select courses.cid,co un t(sid)from courses left join choices on courses.cid=choices.cid group by courses.cidselect disti net *from T1 order by cid asc13) 查询所有选课记录的成绩并换算为五分制(注意 NULL的情况);select sid,tid,cid,score/20 s

37、core from choices14) 查询成绩小于0的选课记录,统计总数、平均分、最大值和最小值(注意查询结果中NULL的情况);select coun t(*),avg(a.score),max(a.score),m in( a.score)from (select* from choices where score<60)a15) 按成绩顺序排序显示CHOICES表中所有记录。(使用ORDER BY排序,注意NULL的情况);select *from choicesorder by score16) 创建视图V1,显示学生姓名、所选课名称、任课教师名;create VIEW V1

38、(s name,c name,t name)ASSELECT sn ame,t name,c namefrom stude nts,teachers,courses,choiceswhere stude nts.sid=choices.sid and teachers.tid=choices.tid andcourses.cid=choices.cid17) 取消V1视图;DROP VIEW V1使用STC数据库,在SQL SERVER 2000的查询分析器中使用SQL语言完成以 下操作。请在空白处填写相应的 SQL命令或其它内容。1)创建视图V2,显示计算机(CS)系学生信息;(结合下面的b

39、)小题,V2视图创建2次,分别使用/不使用WITH CHECK OPTION选项)(1)不加 WITH CHECK OPTION(2)力卩 WITH CHECK OPTIONCREATE VIEW V2CREATE VIEW V2ASASSELECT*SELECT*FROM STUDENTS;FROM STUDENTSWHERE sde pt='CS'WHERE sde pt='CS'WITH CHECK OP TION;2)插入元组(99999,张三,20岁,男,PH)到V2中,运行结果如何?(观察WITH CHECK OPTION 对结果的影响);(1)不加 WITH CHECK OPTION 的结果(2)力卩 WITH CHECK OPTION 的结果INSERTINTO V2VALUES ('99999',

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论