数据库原理及应用 实验七

合集下载

《数据库原理及应用》实验报告

《数据库原理及应用》实验报告

《数据库原理及应用》实验报告实验报告:《数据库原理及应用》一、实验目的通过本次实验,掌握数据库原理及应用的相关知识,并能够熟练运用数据库软件进行数据的存储、查询和管理。

二、实验内容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查询语句,如查询某个学生的所有成绩、查询某门课程的平均成绩等。

数据库 实验七 视图的创建、修改和使用

数据库 实验七  视图的创建、修改和使用
3.完成下列题中的各项操作:
(1)建立物理系选修了0510033号课程的学生视图。
(2)建立物理系选修了0510033号课程且成绩不合格的学生视图,包括学号、姓名和出生年份。
(3)建立物理系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有物理系的学生。
(4)建立中文系选修了0110002号课程且成绩在90分以上的学生视图。
福建师范学院计算机系
实验报告
(2013—2014学年第2学期)
课程名称数据库原理与应用年级
学号姓名
指导教师
实验日期
【实验目的与要求】
掌握视图的创建、修改和使用
实验设备:
SQL Server Management Studio软件。
【实验报告内容】
(5)定义一个反映学生学号、姓名和出生年份的视图。
(6)定义一个反映1985年以后出生的学生姓名的视图。
(7)建立一视图Class_grade,用来反映每个班的所有选修课的平均成绩,并对其进行更新操作。
实验中遇到的问题及心得:
过程总结:
通过这次实验,知道了T-SQL提供的控制流语句可用来进行顺序、分支、循环、存储过程等程序设计这次实验最常用到的是SET语句,声明一个局部变量后,该变量将被初始化为空。使用 SET 语句将一个不是 NULL 的值赋给声明的变量。给变量赋值的 SET 语句返回单值。
4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。
5)在选择数据库对话框中,选择视图所属的数据库。单击“下一步”按键,则进入选择表对话框。
6)在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。本例的数据库中只有学生表和选课表,它们都应当被选中。

数据库原理及应用实验报告 7

数据库原理及应用实验报告 7

实验成绩《数据库系统原理及应用》实验报告七专业班级: 计算机科学与技术学号: 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. 实验四:索引与约束为学生表的学号字段创建索引。

设置主键、外键、唯一约束和检查约束。

数据库应用基础实验报告7

数据库应用基础实验报告7

数据库应用基础实验报告
实验七存储过程创建与应用
班级 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语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。

数据库的备份与恢复操作也让我加深了对数据库安全性的认识。

(完整word版)实验7:使用触发器加强完整性 实验报告

(完整word版)实验7:使用触发器加强完整性 实验报告
6.
CREATETRIGGERtri6
ONToys
AFTERUPDATE
AS
DECLARE@avgrateMONEY
DECLARE@maxrateMONEY
SELECT@avgrate=AVG(mToyRate)FROMToys
SELECT@maxrate=MAX(mToyRate)FROMToys
1.创建触发器,当修改Orders表中某行数据的mShippingCharges和mGiftWrapCharges时,要修改相应行的总价mTotalCost,以保证结果的正确性。
2.创建after触发器,禁止删除ToysBrand表中的记录。
3.创建Instead of触发器,禁止删除ToysBrand表中的记录。
ROLLBACKTRAN
END
8.
--创建视图
er(
cCandidateCode,vFirstName,vLastName,siTestScore,
cContractRecruiterCode,cName)
AS
andidateCode,vFirstName,vLastName,siTestScore,
IFUPDATE(mShippingCharges)ORUPDATE(mGiftWrapCharges)
BEGIN
DECLARE@change1MONEY
DECLARE@change2MONEY
SELECT@change1=mShippingCharges+mGiftWrapCharges
FROMinserted
7.对Shipment表进行插入操作或者修改操作时,应保证dShipmentDate小于当前日期。
8.对于Recruitment数据库,创建一个视图名为vwCandidateContractRecruiter,其中包含了外部候选人(ExternalCandidate表)的代码,姓名,测试成绩,以及其对应的合同招聘人员(ContractRecruiter表)的代码和名称。并对该视图进行更新,修改外部候选人代码为‘000049’的候选人,更改其测验成绩为87分,并更改相对应的合同招聘人员的名称为‘Roger Federal’。通过创建一个触发器使得能对该视图直接通过下面的Update语句进行更新。

数据库原理及应用实验详细说明

数据库原理及应用实验详细说明

数据库原理及应用实验(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 实验目的学习数据库性能优化的基本策略和方法。

数据库原理与应用实验7(二版)

数据库原理与应用实验7(二版)

数据库原理与应用实验7(二版)实验七 T-SQL数据库多表查询一、实验目的及要求本实验主要目的是让学生掌握从多个表中查询数据的方法,并能根据业务要求书写出各种查询语句。

具体要求有:●掌握基于多个表的查询●掌握等值查询●掌握各种连接查询使用●掌握子查询●掌握相关子查询概念和使用●要求每个实验内容都要有结果。

●要求尽量为实验内容给出不同的实现方式。

二、实验原理及背景知识1、了解SQL中子查询和连接查询概念。

详情参考第一篇第三章。

2、理解关系代数中连接运算和除法运算的概念及原理。

3、实验前需要了解所使用的数据库中表的结构。

4、实验前需要在stuManage数据库中输入模拟数据。

5、内连接的实现可有用INNER JOIN或WHERE AND来实现,二者雷同,本实验主要使用WHERE AND 进行连接。

三、实验内容及步骤Ⅰ:基本实验内容(一)输入下面的查询语句,执行后验证实验结果1、查询每个学生的学号、姓名、性别、专业名称等信息SELECT sno,sname,ssex,mname,dnameFROM student sINNER JOIN Major m ON s.mno=m.mnoINNER JOIN department d ON d.dno=m.dno2、查询每个学生的学号、姓名、性别、专业名称等信息SELECT sno,sname,ssex,mname,dnameFROM student s,major m,department dWHERE s.mno=m.mno AND d.dno=m.dno3、查询每个学生的学号、姓名及不及格课程门数SELECT skc.sno AS ‘学号’,sname AS ‘姓名’,COUNT(*) AS ‘没有及格的门数’FROM skc,student AS sWHERE grade<60 AND s.sno=skc.snoGROUP BY skc.sno,sname4、查询学生的学号、姓名及不及格课程名称SELECT skc.sno AS ‘学号’,sname AS ‘姓名’,/doc/c715745487.html,ame AS‘不及格课程’FROM student s,skc,kaike k,course cWHERE skc.grade<60 AND skc.sno=s.sno AND skc.kno=k.kno AND /doc/c715745487.html,o=/doc /c715745487.html,o5、查询计算机科学与技术专业每个班级的学生人数SELECT LEFT(s.sno,7), COUNT(*) AS 人数FROM student s,major mWHERE m.mname=‘计算机科学与技术’ AND s.mno=m.mnoGROUP BY LEFT(s.sno,7)6、查询选修了开课号为0324091007的这门课,且成绩比该课程的平均分高的同学及其成绩SELECT s.sno,sname,gradeFROM student s,skcWHERE st.sno=skc.sno AND kno=0324091007’AND grade>=(SELECT AVG(grade) FROM skc WHEREkno=‘0324091007’ )7、查询同时选修了0324091007和0312091006这两个开课号课程的学生SELECT sno,snameFROM studentWHERE EXISTS(SELECT *FROM skcWHERE skc.sno=student.sno AND kno=‘0324091007’ )AND EXISTS(SELECT *FROM skcWHERE skc.sno=student.sno AND kno=‘0312091006’ )8、查询没有选修kno=‘0312091006’这门课程的学生信息SELECT sno,snameFROM studentWHERE NOT EXISTS(SELECT *FROM skcWHERE student.sno=skc.sno AND kno=‘0312091006’ )9、查询0817101班同学所选的课程的开课号及平均成绩SELECT skc.kno,AVG(skc.Grade ) as ‘平均分’FROM student s,skcWHERE s.sno=skc.sno AND s.sno like ‘0817101%’GROUP BY skc.kno10、选修了全部所开课程的学生名SELECT sno,snameFROM studentWHERE NOT EXISTS(SELECT *FROM kaikeWHERE not EXISTS(SELECT *FROM skcWHERE student.sno=skc.sno AND skc.kno=kaike.kno ) )(二)输入下面查询语句,然后运行,根据结果思考并记录其功能1、SELECT sname,sbirthFROM studentWHERE ssex =(SELECT ssexFROM studentWHERE sname=‘刘卫平’ )功能:_________________________________________________2、SELECT sno,sname,ssexFROM studentWHERE student.sno IN(SELECT snoFROM skcWHERE kno IN (‘0324091007’,’0324051013’) )功能:____________________________________________________3、SELECT kno,gradeFROM skcWHERE sno =‘100212201’ AND grade >ANY(SELECT grade FROM skcWHERE sno =‘100212208’ )功能:___________________________________________________4、SELECT DISTINCT s.sno,sname,mnameFROM student AS s,major AS m,skcWHERE s.mno=m.mno AND s.sno=skc.sno AND grade<60功能:___________________________________________________5、SELECT sno,sname,mnameFROM student AS s, major AS mWHERE s.mno=m.mno AND s.sno IN(SELECT DISTINCT snoFROM skcWHERE grade<60 )功能:___________________________________________________6、SELECT student.sno,sname,gradeFROM student, skcWHERE student sno = skc. sno AND grade BETWEEN 80 AND 90功能:___________________________________________________7、SELECT student. sno,sname,gradeFROM studentINNER JOIN skc ON student. sno = skc. SnoINNER JOIN kaike ON kaike. kno = skc.knoINNER JOIN corses ON /doc/c715745487.html,o=/doc /c715745487.html,o AND cname=‘C语言程序设计’功能:___________________________________________________8、SELECT snameFROM sWHERE NOT EXISTS(SELECT * FROM skc,kaike k, Teacher tWHERE skc.kno=k.kno AND k.tno=t.tno AND t.tName=‘李明’ AND SKC.sno=s.sno) 功能:___________________________________________________9、SELECT sno,snameFROM studentWHERE EXISTS(SELECT *FROM skcWHERE student.sno=skc.sno AND kno IN(SELECT knoFROM kaike AS kkWHERE /doc/c715745487.html,o=(SELECT cnoFROM courseWHERE cname=‘数据结构’ )))功能:___________________________________________________(三)阅读并分析下面查询语句,根据其功能,补全语句之后进行验证1、查询选修课程名称为计算机网络的学生学号和姓名SELECT sno,snameFROM student sWHERE sno_____(SELECT snoFROM skc,kaike k,course cWHERE_____________________AND cname=’计算机网络’)2、列出“010101”号课成绩比“010102”号课成绩高的所有学生的学号及其两门课课的成绩SELECT sc1.sno ,_____________________FROM skc sc1,skc sc2WHERE /doc/c715745487.html,o=’010101’AND /doc/c715745487.html,o=’010102’AND sc1.sno=sc2.snoAND _____________________3、列出既学过“计算机网络”号课程,又学过“金融学”号课程的所有学生姓名SELECT s.sno,s.snameFROM student sWHERE sno IN (SELECT sc.snoFROM skc,kaike k,course cWHERE skc.kno=k.kno AND /doc/c715745487.html,o=/doc /c715745487.html,o AND /doc/c715745487.html,ame IN(’计算机网络’,’金融学’)GROUP BY snoHAVING_____________________4、列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩SELECT s.sname, AVG(a.grade)FROM s,skc aWHERE s.sno=a.sno AND s.sno IN(SELECT snoFROM skc bWHERE b.grade_________GROUP BY snoHAVING COUNT(*)>=2 )GROUP BY _____________________5、查询选修全部课程的学生姓名(另外一种方法)SELECT sno,snameFROM student sWHERE sno IN(SELECT sno FROM skcRIGHT JOIN kaike ONskc.kno=kaike.knoGROUP BY snoHAVING COUNT(*)=_____________________)6、查询选修课程超过4门的学员学号和性别SELECT sno,ssexFROM student sWHERE sno IN(SELECT snoFROM skcGROUP BY ________HAVING COUNT(DISTINCT kno)> __________Ⅱ:高级实验内容根据下面的要求,写出其SQL语句,然后在查询分析器中运行该语句,并根据得到的结果验证语句的正确性。

实验内容要求数据库原理及应用实验安排

实验内容要求数据库原理及应用实验安排

数据库原理及应用实验安排(实验一至实验七)实验报告须按给定的格式提交打印版或手写(16开大小),不接受电子版!一、实验前的准备:1.实验内容仅涉及学生本人所创建的“本人姓名学生选课数据库”,不要求使用图书_读者数据库(为可选);2.参考苗雪兰p97的例5-1、p33的表2-2,p78的表4-6、p109的表5-5等建立供个人使用的“本人姓名学生选课数据库”,该数据库应包含3个表,学生、课程及选课;写出供个人使用的各表的样本数据,每个表的记录在10行以上;3.针对实验指导书1-7的要求写出相应的SQL语句,保存在.txt 文档中,并根据查询要求增加或完善表中的样本数据。

二、实验注意事项:1.本实验使用MS SQL SERVER 2000的企业管理器及查询分析器;2.在企业管理器中创建及打开数据库,在“新建数据库”时要指明数据文件及事务日志的位置(可指向U盘),不要使用缺省设置;3.在查询分析器中输入SQL语句:●注意先选择对应的数据库,而不是缺省的master数据库;●注意输入新的SQL语句时先清空查询分析器的输入界面;4.创建数据库中的表后(注意刷新),在查询分析器的对象浏览器中可见该表及其所拥有的约束:学生:4(3)课程:1选课:45.企业管理器在数据库子菜单使用“附加数据库”命令选中.mdf文件(对应的.log文件自动加入,注意两者名称一致),可打开自己的数据库。

“分离数据库”命令可关闭该数据库;三、上机步骤:1.打开SQL SERVER 2000---企业管理器:展开树形目录直到可见Northwind及Pubs等;2.建立自己的数据库;3.打开查询分析器,选择Local及Windows身份验证;4.在查询分析器中输入SQL语句;四、实验内容要求:(一)、实验一及实验二给出一份实验报告,要求:1.给出学生选课系统的E-R实体图(注明实体、属性、关联、基数等)2.将上述E-R实体图转化为逻辑关系模型,给出各表的关系结构和表级约束、给出各属性域的描述(包括物理描述和语义描述);3.用SQL语句表示上述设计思想;4.完成p33的实验内容,在“查询分析器”的对象浏览器中检查各表的约束;5.回答P40的思考题;约束的图形化界面实现方法:性别约束: ( [性别]=’女’ OR [性别]=’男’)成绩约束: ( [成绩]between 0 and 100 )(二)、实验三内容要求:1.完成p40的实验内容二.1.(3),要求应用SQL语句及图形化工具;2.在报告中附上所设计的数据库表的样本数据;3.回答思考题(三)、实验四、五内容要求见实验指导书:1.p44 四.1 的3)、4)、7)、8)不要求;2.回答思考题(四)、实验六内容要求:1.用SQL语句实现各系学生人数的统计2.用SQL语句实现某系学生人数的统计;3.用SQL语句统计选修某课程学生的人数;4.用SQL语句统计学生所选课程的平均成绩;5.实现苗雪兰P116-117的例5-31、32、33、34;6.回答思考题(五)、实验七内容要求:1.实现苗雪兰PP102-103的3个例子(SQL语句不能以分号;结束,否则语法错误);2.对上述VIEW进行查询并在报告中给出查询结果;3.用SQL语句统计学生的学号、姓名、总成绩及平均成绩;4.回答思考题(六)、保存查询结果:在“查询分析器”的“查询”菜单下选择“文本显示结果”后,可通过复制、粘贴等方式将结果存为.txt文件若在报告中描述你在实验中遇到的问题及解决方案,将有机会获得额外加分!。

实验七:数据库原理与应用实验报告

实验七:数据库原理与应用实验报告
(5)多表查询和笛卡尔积查询;
(6)使用NUION关键字实现多表连接;
(7)表或查询别名的使用;
(8)使用SQL Server的统计函数;
(9)使用COMPUTE和COMPUTE BY子句;
(10)使用嵌套查询等;
实验内容
1.实验方案设计(可省略)源自2.实验内容与关键SQL语句、实验结果等
习题2.1
习题2.2
数据库原理与应用
实验报告
实验项目名称:SQL语言—SELECT查询操作
实验日期:2016/4/25
姓名:郑昌阳
学号:084314145
班级:软件14
成绩:
信息技术学院计算机软件与理论教研室
南京中医药大学
实验概述:
1.实验目的
表或视图数据的各种查询(与统计)SQL命令操作,具体分为:
(1)了解查询的概念和方法;
习题4.17
3.疑难与未解决的问题
1、部分代码需要思考一会儿才能够理解;
2、读题不仔细,导致花费较长时间检查;
4.实验体会(含已碰到的问题和解决方法)
3、编写程序时有些语句不懂,通过看书本学会了;
4、巩固加深理解了如何创建数据库;
5、巩固加深理解了表的嵌套、连接等使用方法;
教师评语及成绩
附加题
1.
2.
3.
(2)掌握SQL Server集成管理器查询子窗口中执行SELECT操作的方法;
(3)掌握SELECT语句在单表查询中的应用;
(4)掌握SELECT语句在多表查询中的应用;
(5)掌握SELECT语句在复杂查询中的使用方法;
2.实验要求
(1)在SQL Server Management Studio的查询子窗口中(要以具有相应操作权限的某用户登录)执行如下命令创建数据库。需要说明的是不同数据库系统其创建数据库的命令或方法有所不同;

《数据库原理及应用》实验

《数据库原理及应用》实验

《数据库原理及应用》实验数据库原理及应用实验,是一门重要的计算机专业实验课程,主要培养学生对数据库原理的理解和应用技能的掌握。

本文将从实验目的、实验内容、实验过程、实验结果及总结等方面进行详细阐述。

一、实验目的通过本次实验,旨在使学生掌握以下内容:1.理解数据库原理及基本概念;2.了解关系型数据库系统的基本架构;3.掌握数据库的创建、查询和修改等操作;4.熟悉数据库的安全性和完整性保护机制;5.了解数据库在实际应用中的作用和意义。

二、实验内容本次实验主要包含以下几个方面内容:1.数据库的创建和表的设计:通过SQL语句创建数据库和相关表,包括表的字段、数据类型和约束等;2.数据的插入和查询:通过SQL语句向表中插入数据,并进行查询操作;3.数据的修改和删除:通过SQL语句对表中的数据进行修改和删除操作;4.数据库的安全性和完整性保护:通过用户权限控制和数据完整性保护等机制,保障数据库的安全性和完整性。

三、实验过程1.创建数据库和表:根据实验要求,使用SQL语句创建数据库和相关表,定义表的字段、数据类型和约束等;2.插入和查询数据:使用SQL语句向表中插入数据,并进行查询操作,验证数据的插入和查询功能;3.修改和删除数据:使用SQL语句对表中的数据进行修改和删除操作,验证数据的修改和删除功能;4.用户权限和数据完整性保护:设置用户权限,限制用户对数据库的访问和修改权限,同时设置数据完整性保护机制,保障数据的完整性和一致性。

四、实验结果通过实验,我们成功创建了数据库和相关表,插入、查询、修改和删除数据的功能也得到了验证。

同时,对数据库的安全性和完整性保护也进行了相关设置,确保了数据的安全和完整性。

五、实验总结在本次实验中,我们对数据库原理及应用进行了实际操作,通过SQL语句进行数据库的创建、查询和修改等操作。

同时,通过设置用户权限和数据完整性保护机制,提高了数据库的安全性和完整性。

通过本次实验,我深刻理解了数据库的重要性和应用价值,对数据库的设计和操作也有了更深入的认识。

数据库原理与应用实验报告

数据库原理与应用实验报告

数据库原理与应用实验报告数据库原理与应用实验报告一、引言数据库是现代信息技术中不可或缺的一部分,它的应用范围涵盖了各行各业。

数据库原理与应用实验是数据库课程的重要组成部分,通过实验的方式,我们可以更加深入地理解数据库的原理和应用。

本报告将对数据库原理与应用实验进行总结和分析,以期对数据库的学习和应用有更深入的认识。

二、实验目的本次实验的主要目的是通过实际操作,掌握数据库的基本原理和应用技巧。

具体来说,实验要求我们能够熟练使用数据库管理系统(DBMS),了解数据库的结构和组成,学会设计和创建数据库,掌握数据库的查询和更新操作,以及学会使用SQL语言进行数据库的操作和管理。

三、实验内容1. 数据库的设计与创建在实验中,我们首先需要设计一个合理的数据库结构,包括表的设计和字段的定义。

然后,我们使用DBMS创建数据库,并在其中创建相应的表和字段。

通过这一步骤,我们可以更好地理解数据库的组成和结构。

2. 数据库的查询操作数据库的查询操作是数据库应用中最常见的操作之一。

在实验中,我们需要学会使用SQL语句进行查询操作,包括简单查询、多表查询、条件查询等。

通过这一步骤,我们可以了解数据库的查询语法和查询结果的处理方式。

3. 数据库的更新操作数据库的更新操作是对数据库中的数据进行修改和删除的操作。

在实验中,我们需要学会使用SQL语句进行数据的插入、修改和删除操作。

通过这一步骤,我们可以了解数据库的更新语法和更新结果的处理方式。

4. 数据库的备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。

在实验中,我们需要学会使用DBMS提供的备份和恢复功能,保证数据库的数据安全和可靠性。

通过这一步骤,我们可以了解数据库的备份和恢复策略,以及应对数据丢失和故障的应急措施。

四、实验结果与分析通过实验,我们成功地完成了数据库的设计与创建、查询操作、更新操作以及备份与恢复操作。

在实验过程中,我们发现数据库的设计和创建是数据库应用的基础,只有合理的数据库结构才能支撑后续的查询和更新操作。

数据库系统原理及应用实验报告

数据库系统原理及应用实验报告

数据库系统原理及应用实验报告《数据库系统原理及应用》实验报告院系:计算机学院班级:计科1102班姓名:杨康学号:04111043序号:7号实验二定义表和数据库完整性1.使用T-SQL语句在数据库Market中创建客户基本信息表customers,货品信息表goods,订单信息表orders。

create table customers(customerid int identity(1,1)primary key,cname varchar(8)not null,address varchar(50),city varchar(10),tel varchar(20)unique,company varchar(50),birthday datetime,type tinyint default 1);create table goods(goodsid int constraint c1primary key,goodsname varchar(20)not null,price money,description varchar(200),storage int,provider varchar(50),status tinyint default (0));create table orders(orderid int identity(1,1)constraint c2primary key, goodsid int not null references goods(goodsid)on delete cascade, customerid int not null foreign key(customerid)references customers(customerid)on delete no action, quantity int not null constraint c3check(quantity>0), ordersum money not null,orderdate datetime default (getdate()));创建表:实验三表数据的插入、修改和删除1.向表中输入数据,结果如下图所示:customers表:goods表:orders表:2.在表中完成删除、修改数据操作删除数据:delete from orderswhere orderid='2';结果如图:修改数据:update ordersset quantity=100where goodsid in(select goodsidfrom goodswhere goodsid='3');结果如图:实验四数据库的简单查询和连接查询1.查找所有西安客户的信息.语句:select*from customerswhere city='西安';2.查找所有商品的名称、库存量、价格以及折价25%后的价格,并使用别名“Dicount”标识折扣价,结果按价格由低到高排序.语句:select goodsname,storage,price,0.75*price Discountfrom goodsorder by price asc;结果:3.查找2013年5月9日至2013年5月20日期间,订货金额大于80的所有订单的客户姓名,商品名称、单价、订货数量和订货金额。

数据库原理实验指导书-本科

数据库原理实验指导书-本科

数据库原理及应用实验指导材料(本科)温州大学城市学院一、实验内容:实验共7次,每次2学时,期末一次实验考试1、数据库的可视化操作2、单表查询3、连接查询和嵌套查询4、综合查询5、用SQL实现数据库的建立与维护6、存储过程和触发器7、数据库保护实验考试题目由学生抽签决定二、实验成绩实验成绩由实验操作成绩、实验报告成绩及最后的实验考试组成三、实验要求实验准备:每次实验的内容提前公布(但不提供完整的答案及具体的实验操作步骤),因此要求学生在做实验之前提前准备实验内容。

实验:实验时所有的任务必须当场完成,不能将事先完成的数据库拷贝过来作为实验成果,也不能将其他同学的数据库拷贝过来作为实验成果,更不能请其他同学代为完成。

实验测评:学生觉得实验各项内容均已完成,而且自信也比较熟练,可以请老师测评。

老师主要测评以下几方面:各项任务是否当场独立完成;熟练程度如何,对实验中观察到的现象能否合理解释。

老师测评后将当场给出本次实验的成绩。

实验报告:在实验做完的下一周交主讲老师,实验报告成绩由主讲老师或实验老师根据评分标准给出。

实验一数据库的可视化操作一、实验目的:1、了解SQL Server2000的主要功能,并熟悉SQL Server的启动方法2、掌握SQL Server2000的企业管理器的基本使用方法3、掌握用可视化的方法实现数据库建立、建表、定义约束,修改表结构等操作4、掌握用可视化的方法实现数据库表中数据的增加、删除、修改等操作5、进一步理解数据库的实体完整性、参照完整性、自定义完整性约束条件的作用二、实验内容:1.启动SQL Server 2000,进入企业管理器2.建立图书读者数据库,并存于D盘自建的目录3.建立图书表、读者表、借阅表,表结构如下:图书(书号,类别,出版社,书名)读者(读者编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期,归还日期)4.上述各表属性类型及宽度自定(要求为属性选择合适的数据类型,长度,是否为空和缺省值等内容),定义每个表的主码(上述表中划线的属性)。

数据库系统原理及应用(实验指导书)

数据库系统原理及应用(实验指导书)

数据库系统原理及应用实验指导书(本科)软件工程教研室2015年1月目录实验一数据定义语言 (1)实验二SQL Sever中的单表查询 (3)实验三SQL Serve中的连接查询 (4)实验四SQL Serve的数据更新、视图 (5)实验五数据控制(完整性与安全性) (6)实验六语法元素与流程控制 (8)实验七存储过程与用户自定义函数 (10)实验八触发器 (11)实验一数据定义语言一、实验目的1.熟悉SQL Server查询分析器。

2.掌握SQL语言的DDL语言,在SQL Server环境下采用Transact-SQL实现表的定义、删除与修改,掌握索引的建立与删除方法。

3.掌握SQL Server实现完整性的六种约束。

二、实验内容1.启动SQL Server查询分析器,并连接服务器。

2.创建数据库: (请先在D盘下创建DB文件夹)1)在SQL Server中建立一个StuDB数据库:有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。

3.设置StuDB为当前数据库。

4.将STUDB数据库进行分离和附加。

5.在StuDB数据库中作如下操作:设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。

写出实现下列功能的SQL语句。

(1)创建表S;(2)刷新管理器查看表是否创建成功;(3)插入3个记录:insert into s(CLASS,SNO, NAME, SEX, AGE)Values('95031','25','李明','男',21),('95101','10','王丽','女',20),('95131','30','郑和',null,null);(4)将年龄的数据类型改为smallint;(5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);(6)对表S,按年龄降序建索引(索引名为inxage);(7)删除S表的inxage索引;(8)删除S表;6.在StuDB数据库中,(1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。

《数据库原理及应用实验》

《数据库原理及应用实验》

《数据库原理与应用实验》实验报告册学年第学期学院:专业:年级:姓名:学号:任课教师:MySQL+Navicat安装步骤与下载地址百度地址:配置与简单使用百度地址:本文档所书写的代码,为本人纯手工敲打,并且通过软件测试成功,欢迎大家进行学习,如有错误,可联系本人实验一创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 的方法。

(2)掌握启动服务并登录MySQL 数据库的方法和步骤。

(3)掌握MySQL 数据库的相关概念。

(4)掌握使用Navicat 工具和SQL 语句创建数据库的方法。

(5)掌握使用Navicat 工具和SQL 语句删除数据库的方法。

二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 版。

(2)在服务对话框中,手动启动或者关闭MySQL 服务。

(3)使用Net 命令启动或关闭MySQL 服务。

(4)分别用Navicat 工具和命令行方式登录MySQL。

(5)在文件中将数据库的存储位置改为D:\MYSQL\DATA。

(6)创建数据库。

①使用Navicat 创建学生信息管理数据库gradem。

②使用SQL 语句创建数据库MyDB。

(7)删除数据库。

①使用Navicat 图形工具删除gradem 数据库。

②使用SQL 语句删除MyDB 数据库。

四、思考题常见的数据库产品有哪些五、实验总结1、收获2、存在的问题实验二管理表一、实验目的(1) 掌握表的基础知识。

(2) 掌握使用Navicat管理工具和SQL语句创建表的方法。

(3) 掌握表的修改、查看、删除等基本操作方法。

二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤(1)在gradem数据库中创建表~表所示结构的表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七存储过程一、实验目的(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。

相关文档
最新文档