数据库原理及应用 实验七
- 格式:docx
- 大小:289.05 KB
- 文档页数:12
《数据库原理及应用》实验报告实验报告:《数据库原理及应用》一、实验目的通过本次实验,掌握数据库原理及应用的相关知识,并能够熟练运用数据库软件进行数据的存储、查询和管理。
二、实验内容1.数据库的概念和基本原理的学习2.数据库设计和规范化的理解和实践3.数据库的建立和配置4.数据的插入、查询和删除操作5.数据库的备份和恢复操作三、实验步骤及结果1.数据库的概念和基本原理的学习根据教材和相关资料,了解数据库的概念和基本原理,并能够用自己的语言进行简单的表述。
2.数据库设计和规范化的理解和实践根据所学知识,对给定的需求进行数据库设计和规范化的实践,包括实体、属性和关系的定义,并通过ER图进行可视化展示。
3.数据库的建立和配置使用数据库软件,如MySQL或Oracle,按照设计要求建立数据库并进行相应的配置。
4.数据的插入、查询和删除操作通过SQL语句,将设计好的数据插入到数据库中,并进行相关的查询和删除操作,验证数据的正确性和完整性。
5.数据库的备份和恢复操作学习数据库的备份和恢复操作方法,并进行实践,保证数据库的安全性和可靠性。
四、实验结果分析根据实验步骤进行数据库的建立、数据插入和查询操作,并比对预期结果,可以得出实验结果的正确性和可行性。
五、实验总结通过本次实验,我对数据库原理及应用有了更深入的了解和掌握,熟练运用相关数据库软件进行数据的存储、查询和管理。
同时,我也发现了在实际操作中可能出现的问题和解决方法,在数据库的设计和维护方面有了更深入的认识和思考。
六、实验心得本次实验让我对数据库有了更直观和深入的认识,通过实际操作和实践,我逐渐掌握了数据库的设计和管理方法,并学会了利用SQL语句进行数据的插入、查询和删除操作。
通过对数据库的备份和恢复操作的实践,我也认识到了数据库的安全性和可靠性的重要性。
总之,本次实验让我收获颇丰,通过实际操作和实践,我对数据库原理及应用有了更深入的了解和掌握,也提高了自己的实际操作能力和问题解决能力。
数据库原理及应用实验报告数据库原理及应用实验报告一、引言数据库是计算机科学中的重要概念,它是用于存储、管理和检索大量有组织数据的系统。
数据库的应用广泛,从个人电脑上的简单数据文件到大型企业级数据仓库,都离不开数据库的支持。
本实验报告将介绍数据库的原理和应用,并通过实际实验来验证其有效性。
二、数据库原理1. 数据库的定义和特点数据库是一个有组织的数据集合,它具有持久性、共享性、独立性和可变性等特点。
持久性指数据可以长期保存;共享性指多个用户可以同时访问和使用数据库;独立性指数据库的逻辑结构和物理结构相互独立;可变性指数据库可以随时更新和修改。
2. 数据库管理系统(DBMS)数据库管理系统是用于管理数据库的软件,它提供了数据定义、数据操纵、数据控制和数据查询等功能。
常见的DBMS有MySQL、Oracle和SQL Server等。
3. 数据库模型数据库模型是用于描述数据库的结构和组织方式的概念模型。
常见的数据库模型有层次模型、网络模型和关系模型等。
其中,关系模型是最为常用的模型,它使用表格来表示数据,表格中的每一行表示一个记录,每一列表示一个属性。
三、数据库应用实验为了验证数据库的应用效果,我们进行了以下实验。
1. 数据库设计首先,我们根据实际需求设计了一个简单的学生信息管理系统。
该系统包含了学生的基本信息、课程信息和成绩信息。
2. 数据库创建在MySQL数据库中,我们创建了一个名为"student"的数据库,并在其中创建了三张表格,分别是"student_info"、"course_info"和"score_info"。
3. 数据库插入通过SQL语句,我们向数据库中插入了一些样本数据,包括学生的姓名、学号、课程名称和成绩等信息。
4. 数据库查询为了验证数据库的查询功能,我们编写了一些SQL查询语句,如查询某个学生的所有成绩、查询某门课程的平均成绩等。
实验成绩《数据库系统原理及应用》实验报告七专业班级: 计算机科学与技术学号: 201116910233姓名: 范晓曈指导教师: 苏小玲2013年11 月28 日实验七名称:SQL Server触发器和游标一、实验内容及要求(使用教材建立的student、course和sc表实现)1、创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。
任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。
任务2:限制每个学期所开设的课程总学分在20~30范围内。
任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作)任务4:限制不能删除有人选的课程2.创建满足下述要求的游标任务1:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。
任务2:统计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。
任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。
要求按教材11-21所示样式显示结果数据。
二、实验目的掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的使用方法。
三、实验步骤创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。
任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。
create trigger tri_limitedepton student after insert,updateasIF EXISTS(SELECT*FROM INSERTEDWHERE sdept!='计算机'and sdept!='信息管理系'and sdept!='数学系'and sdept!='通信')ROLLBACKinsert into studentvalues(001,'一','女','通信工程系','1991-01-01','JA V A','5.0')任务2:限制每个学期所开设的课程总学分在20~30范围内。
数据库原理及应用实验教案一、实验目的1. 理解数据库的基本概念,掌握数据库的基本操作。
2. 熟悉数据库管理系统,了解数据库设计原则。
3. 学会使用SQL语言进行数据的增、删、改、查等操作。
4. 掌握数据库的索引、视图和存储过程等高级功能。
5. 培养实际操作数据库的能力,提高解决实际问题的技能。
二、实验内容1. 数据库的创建与管理创建新数据库打开现有数据库数据库的备份与恢复2. 表的创建与管理表的创建表结构的修改表的删除表的数据插入、删除和修改3. SQL语言基础数据定义语句(CREATE、ALTER、DROP)数据查询语句(SELECT)数据操纵语句(INSERT、UPDATE、DELETE)数据控制语句(GRANT、REVOKE)4. 索引与约束索引的创建、修改和删除主键、外键的设置与维护唯一约束和检查约束的设置5. 视图与存储过程视图的创建、修改和删除存储过程的创建、修改和删除存储过程的调用三、实验环境1. 硬件环境:计算机实验室,每台计算机配备数据库管理系统软件。
2. 软件环境:数据库管理系统软件(如MySQL、Oracle、SQL Server 等),编程语言环境(如Python、Java等),文本编辑器或集成开发环境(如Visual Studio Code、Eclipse等)。
四、实验步骤1. 实验准备:安装并配置数据库管理系统软件,了解实验内容和要求。
2. 实验一:数据库的创建与管理创建一个名为“实验数据库”的新数据库。
打开已存在的数据库,进行备份和恢复操作。
3. 实验二:表的创建与管理创建一个名为“学生”的表,包括学号、姓名、年龄、性别等字段。
插入、删除和修改表中的数据。
4. 实验三:SQL语言基础使用SELECT语句查询学生表中的数据。
使用INSERT、UPDATE和DELETE语句操作学生表数据。
5. 实验四:索引与约束为学生表的学号字段创建索引。
设置主键、外键、唯一约束和检查约束。
数据库应用基础实验报告
实验七存储过程创建与应用
班级 2009123 学号 2009 姓名
一、实验目的
使学生理解存储过程的概念, 掌握创建存储过程的使用、执行存储过程和查看、修改、删除存储过程的方法。
二、实验内容
(1)利用SQL Server ManagementStudio创建存储过程book_db, 要求实现如下功能: 在“图书信息系统”数据库中查询书名中包含“数据库”3个字的图书的图书编号和名称;调用存储过程book_db;
(2)利用SQL命令窗口创建名为proc_exp的带参存储过程, 要求实现: 从图书表中返回指定图书编号的图书的所有信息。
调用存储过程proc_exp, 输入图书编号, 显示图书的所有信息。
(3)修改存储过程proc_exp, 为按照图书的书名精确匹配查找图书信息。
(4)删除刚刚创建的book_db和proc_exp两个存储过程。
三、问题讨论
1. 相比在本地存储SQL程序, 使用存储过程有什么优点?
答:1, 允许标准组件式编程;2, 能够实现较快的执行速度;3, 减少网络流量;4, 可以作为一种安全机制来充分利用。
2. 触发器的作用是什么?
答: 触发器的作用是实现由主键和外键所不能保证的复杂的参照完整性和数据一致性。
数据库原理及应用实验报告一、实验目的通过本次实验,深入理解数据库的原理与应用,掌握数据库的基本操作和常见应用场景。
二、实验内容1.数据库的基本概念与原理:关系型数据库与非关系型数据库的区别,数据库的组成要素,关键概念解释等。
2. 数据库的设计与建模:根据需求设计数据库的ER图,熟悉数据库建模工具的使用,如Eclipse、PowerDesigner等。
3.数据库语言与操作:学习SQL语言,包括数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)等,通过SQL语句对数据库进行增删改查操作。
4.索引的使用与优化:了解数据库索引的原理和作用,学习索引的创建、使用和优化技巧,提高数据库查询性能。
5.数据库的备份与恢复:掌握数据库的备份与恢复的方法,学会使用数据库备份工具进行数据的完整备份和恢复操作。
三、实验步骤1.确定数据库需求,设计ER图。
2.使用数据库建模工具创建数据库表,定义字段和关系。
3.使用SQL语句创建数据库和表结构。
4.插入数据并进行增删改查操作,验证数据库的正常使用。
5.创建索引并对查询语句进行优化,提高查询性能。
6.使用数据库备份工具进行数据备份,测试数据的完整恢复。
四、实验结果与分析本次实验中,我选择了一个简单的学生管理系统作为实验的对象。
首先,根据需求设计了ER图,确定了数据库表的结构和关系。
然后使用数据库建模工具创建了对应的数据库表。
接下来,使用SQL语句对数据库进行了初始化和插入数据,并通过增删改查操作验证了数据库的正常使用。
在插入大量数据后,使用索引对查询语句进行了优化,提高了查询性能。
最后,使用数据库备份工具对数据进行了完整备份,并进行了测试恢复操作,确保数据的可靠性和完整性。
通过本次实验,我深入了解了数据库的基本概念与原理,掌握了数据库的设计与建模技巧。
同时,我也学会了使用SQL语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。
数据库的备份与恢复操作也让我加深了对数据库安全性的认识。
数据库原理及应用实验(Access、VFP、SQL SERVER)1.Access部分:实验一Access创建数据库(2课时)实验二Access数据库高级操作(2课时)2.VFP部分:实验三VFP建立数据库与简单查询(2课时)实验四VFP数据库基本操作(2课时)实验五VFPSQL基本操作(4课时)实验六VFPSQL高级操作(2课时)实验七VFP结构化数据库应用编程(2课时)实验八VFP可视化面向对象应用编程(4课时)实验九VFP数据库应用系统设计(8课时)3.SQL SERVER数据库部分:实验十SQL SERVER数据库基本操作(2课时)实验十一SQL SERVER数据库高级操作(2课时)实验一Access创建数据库一、实验目的1.理解关系数据库的基本概念。
2.掌握Access数据管理系统的基本操作。
3.在Access中建立学生管理数据库SM,建立student数据表,掌握建数据库和数据表的一般过程。
4.对student数据表完成简单的查询操作。
二、实验内容1.在硬盘的用户盘上建立一个用户目录(如D:\JYY),用于保存本门课程的所有实验文件。
每次实验后,应将文件其备份到软盘,下次上机时再将其复制到硬盘上。
所有操作在硬盘上完成。
2.启动ACCESS,先建立数据库SM,再在数据库中建立基本表STUDENT。
其中:“学号”数据类型为字符型, 长度12位;姓名数据类型为字符型, 长度10位;性别数据类型为字符型, 长度2位;出生日期数据类型为日期型, 长度8位。
4.在ACCESS建立数据表窗口中建立STUDENT表结构,并将“学号”设置为主码。
5.保存STUDENT表结构,输入三条学生数据。
6.显示STUDENT表学生数据,利用SQL语句完成简单的查询操作。
7.对STUDENT表数据操作后,再建立课程表COURSE和学生选修表SCG,表结构如下:COURSE(课程号,课程名,学分);SCG(学号,课程号,成绩)。
数据库原理及应用实验教案第一章:数据库基础1.1 实验目的了解数据库的基本概念掌握数据库的基本操作1.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具1.3 实验内容实验一:创建数据库和表学习使用数据库管理系统的命令行工具或图形界面工具创建数据库学习使用SQL语句创建表实验二:数据库的简单操作学习使用SQL语句进行数据的插入、查询、更新和删除操作第二章:数据库设计2.1 实验目的掌握数据库设计的基本步骤和方法学会使用实体-关系模型设计数据库2.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具2.3 实验内容实验三:实体-关系模型设计学习实体-关系模型的基本概念和表示方法根据给定的需求设计实体-关系模型实验四:将实体-关系模型转换为数据库模式学习将实体-关系模型转换为数据库模式的方法将设计的实体-关系模型转换为数据库模式第三章:SQL语言3.1 实验目的掌握SQL语言的基本操作学会使用SQL语言进行数据库的创建、查询和更新操作3.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具3.3 实验内容实验五:SQL语言的基本操作学习使用SQL语言创建数据库、表、视图和索引学习使用SQL语言进行数据的插入、查询、更新和删除操作第四章:数据库的安全与保护4.1 实验目的了解数据库的安全与保护的基本概念和方法学会使用数据库管理系统的权限管理和备份恢复功能4.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具4.3 实验内容实验六:数据库的权限管理学习使用数据库管理系统的权限管理功能,创建用户和角色,分配权限实验七:数据库的备份与恢复学习使用数据库管理系统的备份与恢复功能,进行数据库的备份和恢复操作第五章:数据库应用系统设计与实现5.1 实验目的掌握数据库应用系统的设计与实现的基本步骤和方法学会使用数据库管理系统进行应用程序的开发5.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具编程语言环境和开发工具(如Java、Python或C等)5.3 实验内容实验八:数据库应用系统的设计与实现学习使用数据库管理系统进行应用程序的连接、查询和更新操作实验九:实现简单的数据库应用功能使用编程语言环境和开发工具,实现用户登录、数据查询和数据增删改等功能实验十:测试与优化数据库应用系统对实现的数据库应用系统进行测试和优化,确保系统的稳定性和性能第六章:数据库性能优化6.1 实验目的学习数据库性能优化的基本策略和方法。
实验七存储过程一、实验目的(1)掌握T-SQL流控制语句。
(2)掌握创建存储过程的方法。
(3)掌握存储过程的执行方法。
(4)掌握存储过程的管理和维护。
二、实验内容1、创建简单存储过程(1)创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生的选课信息(含未选课同学的信息)。
要求在创建存储过程前请判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。
if exists(select name from sysobjects where name='stu_pr'and type='p')beginprint'已删除!'dropprocedure stu_prendelseprint'不存在,可创建!'gocreateprocedure stu_procasselect*from S leftouterjoin SCon(S.Sno=SC.Sno)leftouterjoin Con(o=o)where Sdept='CS'exec stu_proc2、创建带参数的存储过程(1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄,选修课程名、成绩。
系名和姓名在调用该存储过程时输入,其默认值分别为“%”与“林%”。
执行该存储过程,用多种参数加以测试。
if exists(select name from sysobjects where name='stu_proc1'and type='p')beginprint'已删除!'dropprocedure stu_proc1endelseprint'不存在,可创建!'gocreateprocedure stu_proc1@Sdept char(8)='%',@Sname varchar(8)='李%' asselect Sdept,S.Sno,Sname,Sage,Cname,Grade from S,SC,Cwhere S.Sno=SC.Snoand o=oand Sdept like@Sdeptand Sname like@Sname执行所创建存储过程:use studentexecute stu_proc1'CS','李勇'execute stu_proc1'信息安全','胡光璟'(2)创建一个名为Student_sc的存储过程,可查询出某段学号的同学的学号、姓名、总成绩。
(学号起始号与终止号在调用时输入,可设默认值)。
执行该存储过程。
if exists(select name from sysobjects where name='Student_sc'and type='p')beginprint'已删除!'dropprocedure student_scendelseprint'不存在,可创建!'gocreateprocedure Student_sc@Sno1char(8),@Sno2char(8)asselect S.Sno,Sname,SUM(Grade)总成绩from S,SC,Cwhere S.Sno=SC.Snoand o=oand S.Sno>=@Sno1and S.Sno<=@Sno2groupby S.Sno,Sname执行所创建存储过程:execute Student_sc'95000','95009'3、创建带输出参数的存储过程(1)创建一个名为Course_sum的存储过程,可查询某门课程考试的总成绩。
总成绩可以输出,以便进一步调用。
if exists(select name from sysobjects where name='Course_sum'and type='p')beginprint'已删除!'dropprocedure Course_sumendelseprint'不存在,可创建!'gocreateprocedure Course_sum@Cname varchar(20),@sum intoutputasselect@sum=sum(Grade)from SC,Cwhere o=oand Cname=@Cnamegroupby o,Cnamedeclare@ping intexec Course_sum'数学',@ping outputprint'高数的考试总成绩为:'+cast(@ping asvarchar(20))(2)创建一执行该存储过程的批处理,要求当总成绩小于100时,显示信息为:“XX课程的总成绩为:XX,其总分未达100分”。
超过100时,显示信息为:“XX课程的总成绩为:XX”。
declare@sum intdeclare@Cname varchar(20)Exec Course_sum@cname,@sum outbeginif@sum<100print cast(@cname asvarchar)+'课程的总成绩为:'+cast(@sum asvarchar)+',其总分未达分'elseprint cast(@cname asvarchar)+'课程的总成绩为:'+cast(@sum asvarchar)enddeclare@sum intdeclare@Cname varchar(20)set@Cname='数学'Exec Course_sum@cname,@sum outbeginif@sum<100print cast(@cname asvarchar)+'课程的总成绩为:'+cast(@sum asvarchar)+',其总分未达分'elseprint cast(@cname asvarchar)+'课程的总成绩为:'+cast(@sum asvarchar)end4、创建带重编译及加密选项的存储过程创建一个名为update_sc、并带重编译及加密选项的存储过程,可更新指定学号、指定课程号的学生的课程成绩。
(学号、课程号由调用时输入)if exists(select name from sysobjects where name='update_sc'and type='p') beginprint'已删除!'dropprocedure update_scendelseprint'不存在,可创建!'gocreateprocedure update_sc@sno char(8),@cno char(3),@grade tinyintwithRECOMPILE,ENCRYPTIONasupdate SCset Grade=@gradewhere Sno=@sno and Cno=@cnodeclare@sno char(8),@cno char(3),@grade tinyintset@sno='95001'set@cno='3'set@grade='100'exec update_sc@sno,@cno,@gradebeginprint cast(@sno asvarchar)+'的'+cast(@cno asvarchar)+'课程成绩为:'+cast(@grade asvarchar) end5、使用T-SQL语句管理和维护存储过程(1)使用sp_helptext查看存储过程Student_sc的定义脚本exec sp_helptext student_sc(2)使用select语句查看Student_sc存储过程的定义脚本(提示:通过查询表sysobjects 和表syscomments)select*from sysobjects,syscommentswhere name='Student_sc'(3)将存储过程stu_proc改为查询学号为95001的学生的详细资料。
alterprocedure stu_procasselect*from S leftouterjoin SCon(S.Sno=SC.Sno)leftouterjoin Con(o=o)where S.Sno='95001'(4)删除存储过程stu_proc。
dropprocedure stu_proc6、使用SQL Server Management Studio管理存储过程(1)在SQL Server Management Studio中重新创建刚删除的存储过程stu_pr createprocedure stu_procasbeginselect*from S leftouterjoin SCon (S.Sno=SC.Sno)leftouterjoin Con (o=o)where S.Sno='95001'end(2)查看存储过程stu_proc,并将该过程修改为查询051班女生的所有资料。
ALTERprocedure[dbo].[stu_proc]asbeginselect*from S leftouterjoin SCon(S.Sno=SC.Sno)leftouterjoin Con(o=o)where S.Sno='95001'and Ssex='男'end(3)删除存储过程stu_pr。