2023年数据结构实验报告9.pdf

上传人:奔*** 文档编号:90905545 上传时间:2023-05-18 格式:PDF 页数:25 大小:2.22MB
返回 下载 相关 举报
2023年数据结构实验报告9.pdf_第1页
第1页 / 共25页
2023年数据结构实验报告9.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《2023年数据结构实验报告9.pdf》由会员分享,可在线阅读,更多相关《2023年数据结构实验报告9.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、合肥师范学院实 验 报 告 册2023/2023 学年 第2 学期系 别 计算机科学与技术系实验课程专 业班 级姓 名学 号指导教师数据库原理计算机软件软件一班罗晓薇潘洁珠实验名称课时实验报告成绩实验(一)一一数据库基本操作2实验(二)SQL语句6实验(三)一一数据库完整性与安全性实验4实 验(四)一一数据库编程4备注:实验一数据库基本操作一、实验目的1.熟悉M S SQL SE RVE R运营界面,掌握服务器的基本操作。2.掌握界面操作方法完毕用户数据库建立、备份和还原。3.建立两个实验用的数据库,使用公司管理器和查询分析器对数据库和表进行基本操作。二、实验预习内容在认真阅读教材及实验指导书

2、的基础上,上机前请预习以下内容,并在空白处填写相应的环节或命令。1.熟悉SQL SE RVE R 2023的运营环境,练习服务器基本操作:打开、停止、关闭。2.使用SQLSE RVE R 2 0 2 3中的公司管理器完毕以下任务。数据库名称:STC表:STU(sn o cha r(9),s n ame varc h ar(50),ssex cha r(2),s a g e i nt,sd e p t cha r(2);COU TSE S(cn o cha r(3),c n ame v a rchar(5O),cpno c h a r(3),cred i tin t);S C(s n o cha

3、 r(9),c no c h ar(3),g r ade i n t);*说明:以上为表结构,以 s n。char(9)为例,说明sno属性设立为字符类型,宽度为9,int指整型数据。1)建立数据库ST C,分别建立以上三张表,并完毕数据录入。(表结构及数据参见教材)2)分析并建立各表的主码,用下划线在上面表结构中标出主码。3)建立各表之间的关联,请简述操作环节。答:答:1.创 建 数 据 库 c r eate dat a base 数据库名称2.创 建 基 本 表ere ate ta b le 表名(列名 数 据 类 型 列级完整性约束)3.建 立 表 的 索 引create ind e x

4、 V 索 引 名 on V 表 名 (列 名 顺 序 )4.修 改 基 本 表a 1 t er tab 1 e(表名 ad d(新列名 数据类型 完整性约束5.册I J 除索 引 d rop i n dex 索 引 名)6.删 除 表 中 某 一 属 性alter t a ble 表 名 d r o p co 1 umn 歹U名 7.册U 除 表 d r op t able 表 名 8.删除数据库de 1 e te data b ase(数据库名2.在MS SQL SER V ER中数据库的“分离|添加”与“备份|还原”是相同的功能吗?答:数据库的备份是数据库结构,对象和数据的副本,使得数据库

5、系统发生事故时能还原和恢复数据库中的数据。实现快速的移动数据库。将数据库的附加的逆过程,就是把完整地数据库文献和日记文献从服务器上分离下来,分离后的数据库文献在拷贝和移动后可以附加在其他的计算机上,附加是分离的逆过程。3.实 验 总 结(实验过程中出现的问题、解决方法、结果如何或其它)答:问题:在附加数据库时数据不是sql se rv e r能用的数据头,没有认清字符型的概念,即字符出生日期应输入 出生日期删除数据库时应用delete语句,而不是drop语句,当导入数据时,要注意两个对话框的用处不同。解决方法:两个对话框一个是需导入的数据库,另一个是从哪儿导入数据库,和是否是在需导入的数据库还

6、是在要导出的数据库库中操作无关。g 4Q;、D。Q g SQl Swan.Q Q lrw 力 gsw4M”n物 文 件(R 1ft作 闻 S fi(V)U K I)BC(W)_ 工 出 叵一 M G 光、3 0 8 口左明台根目录*钥 Microsoft SQL Servers,日 I SQL Server 租 心(local)(Windows NT)-JBtfiCSTC文侬F J *E(A1 M(V)a m BC(W)BfttH):i o X 日:-s Q 0 C3剖 IS根日显,O Microsoft SQL ServersSQL Server S 3)g=3;5)查 询 学 号 为8 0

7、 00902 6的 学 生 的 姓 名、所 选 课 名 及 成 绩;s elect cho i ces.sname,cnam e,s c ore fro m s t u de n ts,c h oic e s,c o u rses wh e re ch o i ces.c i d=c ourses.cid an d c h o ice s.s id=s tu d ents.s i d and s id=58000902 6 i.查 询 所 有 选 课 记 录 的 成 绩 并 换 算 为 五 分 制(注 意 N U L L 的情况);select score,s core/2 0 f r o m

8、 c hoices13)查询成绩小于0 的选课记录,记录总数、平均分、最大值和最小值(注意查询结果中 NU L L 的 情 况);s e le c t c o unt(*),avg(score),ma x(sc o re),m i n(sc o re)fro mcho i c es wh e r e s c o r e 014)按成绩顺序排序显示CHOICE S表中所有记录。(使用ORDE R BY排序,注意N UL L 的 情 况);s el e ct*from c h oices or d e r b y s c o re asc15)创 建 视 图 V 1,显 示 学 生 姓 名、所 选

9、 课 名 称、任 课 教 师 名;c r eate v i ew v 1 (sn a me,cnam e,tn a m e)a s s e 1 e c t stud e nts.s n am e,courses.c n ame,t e a chers.t nam e f rom choices,s tudents,te a cher s,courses w here c hoices.t i d=t e achers.tid an d c ho i c e s.cid=c o urses.c id and c h o ice s.s id=stude n t s.sid16)取 消 Vld r

10、 o p v iew vl视 图2.使用STC数据库,在 SQLSE RVE R 20 2 3 的查询分析器中使用SQL语言完毕以下操作。请在空白处填写相应的SQ L命令或其它内容。1)创建视图V 2,显示计算机(CS)系学生信息;(结合下面的b)小题,V2视图创建2次,分别使用/不使用W I THCH E CK O P T IO N 选项)(1)不加 WITH CHE CK OPTI 0 N(2)加 WITH C H E CK OPTIONC reate view v2(s no,sname,ssex,sage,s d ept)as select*f r om st u where sdep

11、 t=csCre a t e view v 2(s no,snam e,s s ex,sage,sde p t)a s se 1 e c t*from st u where sdept=c sWit h check o p tio n2)插入元组(9 99 9 9,张三20岁,男,PH)到 V 2中,运营结果如何?(观测WITH CHE CK OP TION对结果的影响);(1)不加 W I TH CHE CK 0 PTION 的结果(2)加 W ITH CH E CK OPTI ON 的结果Ins e r t into v2In s e rt i n to v2values(999997张三

12、,男,20,ph)w ith ch e ck option违反了 PRIMARY KE Y 约束 PK STU_76CBA758。3)在 V2 基础上,查询所有计算机系女生信息;s e lect*from view v 2 where sse x=女 3.结束本次实验三、实验课后训练1.掌握SQL SE RVE R中流控制语句及其它常用编程语句;1)使用查询分析器,编写代码,输出乘法口诀表。2.自行练习实验指导书P 2 4【实验1.2 数据查询】1.2.5 自我实践部分;3.自行练习实验指导书P30【实验1.3 数据更新1.3.5自我实践部分;4.自行练习实验指导书P36【实验1.4 视图1.

13、4.5自我实践部分;5.自行练习实验指导书P49【实 验 1.6空值和空集的解决】1.6.5 自我实践部分;答:1 .S e 1 ect*f rom c o urse s2.select sid f r om ch o ic e s3.S elect c i d from cou r ses where hour88实验报告1 .SQL SE RVE R中 变 量 声 明 的 命 令 是 什 么?输 出 命 令 是 什 么?答:变量声明的命令:d e c lare 变量名类型,局部变量的声明命令为dec 1 are 局部变量名 1 类型及宽度 局部变量名2 类型及宽度;而全局变量的声明命令,必

14、须以标记符 开 头。输出命令:print局部变量或字符串;s e l e c t 局部变量a s 自定义列名2.SQ L SE R V ER 中 实 现 分 支 和 循 环 的 语 句 分 别 是 什 么?答:实现分支语句:i f-e 1 se语句和case-en d 语句;ife 1 s e 语句属于分支结构,它与C编程语句的i f 语句类似,也是根据条件是否成立来拟定程序的执行方向。语法:I f (条件)语句或语句块E lsecase-end语句计算一组条件表达式,并返回其中一个符合条件的结果。语法:CaseWh e n 条件1 t h en结果1When条件2 t h e n 结果2 e

15、 Is e 其他结果EndCase语句表达结果“条件1”成立,则执行“结果1”,其余类推。假如when的条件都不匹配,则执行e Ise 后面的结果。Els e 可以省略。假如省略e Ise并且wh e n 的条件表达式的结果都不为TRUE,则 cas e-end语句返回null实现循环的语句:whi l e 循环语句:wh i le循环语句可以根据某些条件反复执行一条SQL语句或一个语句块。通过使用while关键字,可以保证只要制定的条件为TRUE,就会反复执行语句,直至指定条件为FAL S E为止:语法:While(条件)Begi n语句或语句块bre a k|con t in u eE n

16、d3.在S QL SE RVE R里使用ORDE R B Y排序时,NULL值如何解决?使用G ROUP BY分组时,NUL L 值 又 如 何 解 决 的?答:使 用 O R D ER B Y 排 序,此 时 n u ll值 往 前 排,n u ll被 看 做 最 小 值 解 决。使用GROUP B Y 排序,此时取n u ll的看做一组,是同一个值。4.实 验 总 结(实 验 过 程 中 出 现 的 问 题、解 决 方 法、结 果 如 何 或 其 它)问 题:1.进 行 联 接 操 作 时,连 接 条 件,及 各 表 同 属 性 分 不 大 清。2.对 多 个 条 件,多 张 表 的 查

17、询,联 接 时 连 接 条 件 的 先 后 顺 序 总 是 弄 错。3.对两个条件选其一的情况,不是很能掌握。4.当查询具有某一特性的复杂的元组的信息时只会最基础的按条件来,不灵活。解决办法:先将要查的信息及其有关的表列出来,再考虑他们之间的关系,先做什么后做什么理清楚,两个情况选一种满足可以用i n 或其他形式表达,与运算用u n io n,分类可以用groupby 或 者 havi n g 语 句 来 表 达 条 件。结果:很有效,但是在通常在查询中需要做联接运算的列名没有加表名前缀,导致查询没故意义。实验三数据库完整性与安全性一、实验目的1.理解实体完整性、参照完整性、用户自定义完整性的

18、概念,学习三类完整性的实现,了解违反完整性的结果;2.掌握MS SQL SE RVE R中的有关用户登录认证及管理方法,纯熟使用自主存取控制进行权限管理;二、实验预习内容在认真阅读教材及实验指导书【2.1实体完整性】、2.2参照完整性】、2.3用户自定义完整性】、2.4触发器】、2.5综合案例】和【3.1用户标记与鉴别】、3.2自主存取控制】、3.3视图机制在自主存取控制上的应用】、【3.4PNbli c角色在安全性中的应用】、【3.8综合案例】的基础上,上机前请预习以下内容,并在空白处填写相应的环节或命令。1.使 用SCHOOL数据库1)创建一张新表 CLASS,涉及 C lass_ i d

19、(v arc h ar(4),Name(v arc h ar(1 0),Depa r tment(v a rchar(2 0)三个属性列,其 中Class_id为主码;2)执行两次相同的插入操作20 001,01 e s c c s ),结果如何;2.使 用SQL命令创建一张学生互助表,规定:涉及学生编号、学生姓名、学生帮助对象的编号,每个学生有且仅有一个帮助对象,帮助的对象必须是已存在的学生。3.使用S T C数据库,修改设立,完毕以下2种不同的规定,请写出相应的语句或简述操作过程:1)当更新、删除STU表中记录时,若SC表中有此学生的记录,则拒绝;2)当更新、删除S T U表中记录时,若S

20、 C表中有此学生的记录,则自动更新或删除;4.使用SQ L命令完毕以下任务:1)创建W o rk er表(表结构见指导书P 7 3)2)定义约束U I、U2,其中U 1规定Name字段取值唯一,U 2规定s a g e字段上限是28;3)插入一条合法记录;4)插入一条违反U2约束的记录,简述观测到的结果如何?并分析因素;5)去除U1约束;6)修改约束U 2,令s a g e的值大于等于0 ;7)创建规则r u 1 e _ s e x,规定更新或插入的值只能是M或F,并绑定到W o r k e r的s ex字段;8)插入2条记录,一条满足规则r u l e _ s e X,条违反规则,观测结果。

21、5.使用查询分析器创建触发器并测试,请写出相应的语句:1)为W o r k e r表创建触发器T1,当插入或更新表中数据时,保证所操作记录的s a g e大于0;2)为W o rke r 表创建触发器T2,严禁删除编号为0 0 00 1 的记录;3)为W orker表创建触发器T 3,规定更新一个记录时,表中记录的sag e 要比老记录的sage的值大。6.分别用公司管理器和查询分析器实现用户的标记并测试,请写出相应的操作过程或相应的语句:1)设立SQL SE RVE R的安全认证模式;2)建立名为“LiYong”的登录用户、数据库用户,默认访问SCHOOL数据库,密码为“abed”;3)取

22、消“LiYong”用户;7.先以s a 帐号登录,要实现如下表的权限管理,请按先后顺序写出相应的SQ L语句(窗纺处有用户尚未定义,其密码均为1 2 3),并加以必要的说明。编号授权用户名被授权用户名数据库对象名允许的操作类型能否转授权1SAU1StudentsSE LE CT不能2SAU2St u dentsALL不能3SAPUBL I CCh o i c esSE LE CT不能4SAU3Stud e n t sSE L E CT能5U3U4Student sS E L E C T能6U4U5S t ud e n t sS E L E C T不能7SAU6C h o i c e sI NS

23、E RT能8SAU7S tudents.s nameU P D A T E不能8.创建在SCHOO L 数据库中c hoic e s 上的视图C S_View,授权给计算机系讲授课程号为“0010,的数据库用户“L i Yong”,让其具有视图上的S E LE C T 权限;9.对视图CS_View上的sc o r e 属性列的UPDATE 权限授予用户“L i Yo n g ,可以修改学生成绩,但不能修改其它属性列的值;10.假设SCH O O L数据库中,每个学生的登录名都为自己在STUDE NTS表中的s i d,实现每个学生只能查询自己选课信息,不能查询别人的成绩,也不能修改自己的成绩

24、。11.结束本次实验三、实验课后训练1 .自行练习实验指导书P 8 1【实验2.5 综合案例】综合案例1;2 .自行练习实验指导书P 1 2 2【实验3.8 综合案例】综合案例;四、实验报告1.授权给publi C与授权给指定用户有什么区别?实际应用中,哪个更安全些?2.SQL SE R V ER 中的角色有什么作用?3.实验总结(实验过程中出现的问题、解决方法、结果如何或其它)实验四数据库编程一、实验目的1.掌握ODBC的配置;2.能编写简朴的存储过程和函数,并调用;二、实验预习内容上机前请预习以下内容,并在空白处填写相应的环节或命令。1.配置O D B C,使用V F P中的表单,查询SC

25、H O O L数据库中STUDE NTS表中所有记录。2.编写存储过程并调用,请写出相应命令;1)在查询分析器中,编写存储过程u sp _ g e t_ st uinfo,使用一个名为 xm可以传送进存储过程的参数。允许以学生的姓名查询该生的基本信息;2)在查询分析器中调用存储过程查询“赵飞”同学的基本信息的语句;3.编写函数并调用,请写出相应命令;1)在查询分析器中,定义内联表值函数Fun,用于返回各职称的教师基本信息;2)在查询分析器中,使用Fun进行选择以获得“专家”职称的教师基本信息;3)在查询分析器中,编写标量函数F u nc,用于返回两个整数中的最大值;4)在查询分析器中,调用此函

26、数,输出两个数中的最大值;5)在 SQL SE RVE R中定义函数FUNS,返回指定参数的平方,配置好ODBC后,在VFP中调用FUNS并输出结果;4.结束本次实验三、实验课后训练1.自行学习实验指导书P1 3 0【实验4.1 SQLSE RVE R事务的定义】;2.自行学习实验指导书P13 7 1实验4.2 SQL SE RV E R 2023事务与锁工3.自行练习实验指导书P165【实验4.6 游标及游标并发】;(PI6746.3 实驳内容要先孕)四、十实验报告1.什么是ODBC?2.内联表值函数、标量函数、存储过程有什么区别?3.实验总结(实验过程中出现的问题、解决方法、结果如何或其它)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁