当前位置:文档之家› 数据库原理课程设计实验[创建存储过程与触发器]

数据库原理课程设计实验[创建存储过程与触发器]

数据库原理课程设计实验[创建存储过程与触发器]
数据库原理课程设计实验[创建存储过程与触发器]

存储过程与触发器实验日期和时间:

2016 年 5 月13 日、

期五第节

实验室:DJ2-信息管理实验室

班级:学号:姓名:

实验环境:

1.硬件:笔记本电脑

2.软件:SQL Server 2012

实验原理:

存储过程概念:存储过程是事先编好的,存储在数据库中的一组被编译了的T-SQL命令集合,这些命令用来完成对数据库的指定操作。存储过程可以接受用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,然后返回输入参数。

触发器概念:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。

实验任务:

此作业成绩得分根据你完成的任务的难度和数量评分,完成后在实验室给老师演示验收,课后提交电子版报告。如额外完成自拟题目应当事先将所拟题目提交给老师或在报告中明确标注题意。

假定有学校的图书馆管理信息系统,可以用于日常管理书库和同学们的借还书工作。以下列出参考的库表情况:

根据管理的业务需求来分析,该管理信息系统的数据库应至少包括如下数据表:(打★号的是必须有的表)

1.★图书现有库存表。作用:记录图书的现有库存情况。至少包括:书号、书名、

作者、简介、类别、价格、出版社、出版日期、现有库存数量、最小库存量、库

存总量、库存位置等。

2.★读者信息表。作用:记录读者信息。至少包括:读者编号、证件类型、证件号

码、姓名、性别、职业(可填写教师、学生、教工、其它……)、所属单位、地

址、联系电话等。

3.★借书记录表。作用:记录借书情况,以及是否归还。至少包括:借阅ID(主

键,可设置为自动编号)、书号、读者编号、借阅数量、借阅日期、是否归还、

管理员编号……等。

4.★还书记录表。作用:记录还书情况。至少包括:还书ID(主键,可设置为自动

编号)、书号、读者编号、归还数量、归还日期、是否超期(超过假设45天为

超期)、超期天数、管理员编号……等。(附:为简化操作,续借可视为归还后

再借)。

5.管理员信息表。作用:记录负责管理书库和借书还书工作的管理员信息。至少包

括:管理员编号、职工编号(在职工档案表中的职工编号)、用户名、密码、管

理员级别等……。

6.职工档案表表。作用:记录职工档案。至少包括: 职工编号、姓名、性别、单

位、职称、职务、出生日期、学历、……其它字段自拟。

7.入库单表。作用:记录图书馆购买图书补充书库图书时的入库书单。包括字段:

入库单ID、入库日期、入库书号、书名、入库数量……其它请根据图书现有库存

表自拟……经手人编号等。

实验步骤1、设计并创建数据库。

①)设计数据库,绘制ERD设计图。

②)根据ERD创建数据库中的所有表,并根据业务需求正确设置主键、外键、约束条件、默认

值等。

③)创建关系图,建立表之间的联系以保证参照完整性。注意,建表时,表中的外键的数据类

型应当与其所参照的主表中的主键数据类型一致。(至少创建题目所需要的表)

④)基本数据录入。可以直接录入,也可将其它格式的表中的数据导入,或查询其它表中可利

用的数据并插入到现有的表中。

ERD设计图

图书现有库存表

PK书号

书名

作者

简介

类别

价格

出版社

出版日期

现有库存数

最小库存量

库存总量

库存位置

读者信息表

PK读者编号

证件类型

证件号码

姓名

性别

职业

所属单位

地址

联系电话

借书记录表

PK借阅ID

FK1书号

FK2读者编号

借阅数量

借阅日期

是否归还

管理员编号

还书记录表PK还书ID

FK1书号

FK2读者编号

归还数量

归还日期

是否超期

超期天数FK3管理员编号

管理员信息表

PK管理员编号

FK1职工编号

用户名

密码

管理员级别

职工档案表

PK职工编号

姓名

性别

单位

职称

职务

出生日期

学历入库单表

PK入库单ID

入库日期

入库书号

书名

入库数量

经手人编号

原代码:

创建数据库、所有表,并根据业务需求正确设置主键、外键、约束条件、默认值create database图书管理系统;

use图书管理系统;

create table图书现有库存表(

书号char(10)primary key,

书名char(10)not null,

作者char(10),

简介varchar,

类别char(10),

价格money not null,

出版社char,

出版日期datetime,

现有库存数int,

最小库存量int,

库存总量int,

库存位置varchar default'3F45'

);

create table读者信息表(

读者编号nchar(10)primary key,

证件类型nchar(4),

证件号码nchar(13),

姓名char(10),

性别char(2)default'男',check(性别in('男','女')),职业char(4),

所属单位char(8),

地址char(10),

联系电话char(11)

)

create table借书记录表(

借阅ID int identity(1,1)primary key,

读者编号char(5),

借阅数量int,

借阅日期datetime default getdate(),

是否归还char(2)default'否',

书号char(10),

管理员编号char(10),

foreign key(书号)references图书现有库存表(书号),

foreign key(管理员编号)references管理员信息表(管理员编号), );

create table还书记录表(

还书ID int identity(1,1)primary key,

书号char(10),

foreign key(书号)references图书现有库存表(书号),

归还数量int,

归还日期datetime default getdate(),

是否超期char(2),

超期天数char(5),

管理员编号char(10),

foreign key(管理员编号)references管理员信息表(管理员编号), );

create table管理员信息表(

管理员编号char(10)primary key,

职工编号char(10),

foreign key(职工编号)references职工档案表(职工编号),

存储过程与触发器实验

第一章存储过程与触发器实验 实验目的 1.理解存储过程的工作原理和作用。 2.掌握存储过程设置和程序设计过程。 3.理解触发器的工作原理和作用。 4.掌握触发器编写方法。 实验环境 采用IBM DB2或Sybase数据库管理系统作为实验平台。其中,DB2可以采用DB2 Express-C或DB2 V8 Enterprise。 实验完成人:李肇臻,谢锦 实验内容 一、存储过程实验 1.针对下面2个完整性约束条件,建立存储过程,实现当数据导入或更新时,可以自动修改拥塞率、半速率话务量比例 (1)拥塞率=拥塞数量/呼叫数量 (2)半速率话务量比例=半速率话务量/全速率话务量 在DB2CMD中运行,win7用管理员权限。 create procedure M() language SQL begin update CALLDATA set "callcongs"="congsnum"/"callnum" where "congsnum"<>0 and "callnum"<>0; update CALLDATA set "rate"="thtraff"/"traff" where "thtraff"<>0 and "traff"<>0; end @ 2.将存储过程添加到数据库服务器上

3.在客户端编写调用存储过程的主程序 4.运行客户端程序,调用存储过程,观察存储过程执行过程和数据更新情况;调用就用db2 CALL M() 二、触发器实验 1. 针对下列约束条件,分别建立1个触发器: 1)每个小区/扇区最多占用14个TCH频点,合法频点范围在[1,60]之间。当向小区中新加入频点时,如果小区中现有频点数目已达到14个,则用新加入的频点替换现有频点中的最小频点;当修改或新加入频点时,如果发现频点不在合法范围内,则输出提示信息,并拒绝该操作。 create trigger first_1 after insert on FREQUENCY

存储过程和触发器(数据库实验5)

数据库基础与实践实验报告实验五存储过程和触发器 班级:惠普测试142 学号:1408090213 姓名:闫伟明 日期:2016-11-14

1 实验目的: 1)掌握SQL进行存储过程创建和调用的方法; 2)掌握SQL进行触发器定义的方法,理解触发器的工作原理; 3)掌握触发器禁用和重新启用的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验内容与步骤 利用实验一创建的sch_id数据库完成下列实验内容。 1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。 存储过程定义代码: CREATE PROCEDURE JSXX_PROC AS SELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND https://www.doczj.com/doc/163405647.html,o=https://www.doczj.com/doc/163405647.html,o 存储过程执行语句与执行结果截图: EXECUTE JSXX_PROC 2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、 所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。 存储过程定义代码:

CREATE PROCEDURE XM_PROC @sname VARCHAR(100) AS BEGIN IF EXISTS(SELECT NULL FROM S WHERE sn=@sname) SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE https://www.doczj.com/doc/163405647.html,o=https://www.doczj.com/doc/163405647.html,o AND SC.sno=S.sno AND S.sn=@sname ELSE PRINT'无该姓名的同学。' END 运行截图: 3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业), 统计并显示该专业各年龄段男、女生人数。如果没有该专业,则显示“无此专业”。 存储过程定义代码: CREATE PROCEDURE XBNL_PROC @departName VARCHAR(30)='计算机', @begin INT, @end INT AS

数据库实验报告六_存储过程

HUNAN UNIVERSITY 数据库 实验报告 学生姓名 学生学号 专业班级 指导老师 2017 年5月24日

SELECT COUNT(*)INTO more90 FROM sc WHERE cno = countcno AND grade >= 90; /*将结果存入新表sumScore中*/ create table sumScore( scorestage char(10), number smallint); insert into sumScore values('x<60', less60); insert into sumScore values('60<=x<70', b60a70); insert into sumScore values('70<=x<80', b70a80); insert into sumScore values('80<=x<90', b80a90); insert into sumScore values('x>=90', more90); END$$ call sumScore(); /*调用上述存储过程*/ 首先创建存储过程,然后再调用存储过程。结果如下: (上述结果图截自Navicat软件) 可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。 2、统计任意一门课的平均成绩。 代码如下: DELIMITER $$ CREATE PROCEDURE `scoreAvg`() BEGIN declare curname char(40) default null; /*临时存放课程名*/ declare curcno char(4) default null; /*临时存放课程号*/ declare curavg float; /*临时存放平均成绩*/ declare mycursor cursor for /*定义游标*/ select cno, cname from course;

数据库原理课程设计实验[创建存储过程与触发器]

存储过程与触发器实验日期和时间: 2016 年 5 月13 日、 星 期五第节 实验室:DJ2-信息管理实验室 班级:学号:姓名: 实验环境: 1.硬件:笔记本电脑 2.软件:SQL Server 2012 实验原理: 存储过程概念:存储过程是事先编好的,存储在数据库中的一组被编译了的T-SQL命令集合,这些命令用来完成对数据库的指定操作。存储过程可以接受用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,然后返回输入参数。 触发器概念:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 实验任务: 此作业成绩得分根据你完成的任务的难度和数量评分,完成后在实验室给老师演示验收,课后提交电子版报告。如额外完成自拟题目应当事先将所拟题目提交给老师或在报告中明确标注题意。

假定有学校的图书馆管理信息系统,可以用于日常管理书库和同学们的借还书工作。以下列出参考的库表情况: 根据管理的业务需求来分析,该管理信息系统的数据库应至少包括如下数据表:(打★号的是必须有的表) 1.★图书现有库存表。作用:记录图书的现有库存情况。至少包括:书号、书名、 作者、简介、类别、价格、出版社、出版日期、现有库存数量、最小库存量、库 存总量、库存位置等。 2.★读者信息表。作用:记录读者信息。至少包括:读者编号、证件类型、证件号 码、姓名、性别、职业(可填写教师、学生、教工、其它……)、所属单位、地 址、联系电话等。 3.★借书记录表。作用:记录借书情况,以及是否归还。至少包括:借阅ID(主 键,可设置为自动编号)、书号、读者编号、借阅数量、借阅日期、是否归还、 管理员编号……等。 4.★还书记录表。作用:记录还书情况。至少包括:还书ID(主键,可设置为自动 编号)、书号、读者编号、归还数量、归还日期、是否超期(超过假设45天为 超期)、超期天数、管理员编号……等。(附:为简化操作,续借可视为归还后 再借)。 5.管理员信息表。作用:记录负责管理书库和借书还书工作的管理员信息。至少包 括:管理员编号、职工编号(在职工档案表中的职工编号)、用户名、密码、管 理员级别等……。 6.职工档案表表。作用:记录职工档案。至少包括: 职工编号、姓名、性别、单 位、职称、职务、出生日期、学历、……其它字段自拟。

教学管理系统的设计与实现(数据库原理课程设计)

教学管理系统的设计与实现(数据库原理课程 设计)

1 引言 为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。 1.1课题背景 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视。 1.2课题意义 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。[2]

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的软件。[3] 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。 2 系统分析 2.1 需求分析 1.需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。 为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。[4]新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。 2.需求分析的过程 1)调查教学组织机构的总体状况。本教学系统主要由教师管理系统,学生管理系统 以及教务管理系统。 2)熟悉各部门的业务活动状况。调查各部门的业务活动情况,对现行系统的功能和 和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加

实验六 存储过程和触发器

实验六存储过程与触发器 一、目的与要求 1.掌握编写数据库存储过程的方法。 2.掌握建立数据库触发器的方法,通过实验观察触发器的作用与触发条件设置 等相关操作。 二、实验准备 1.了解编写存储过程与调用的T-SQL语法; 2.了解触发器的作用; 3.了解编写触发器的T-SQL语法。 三、实验内容 (一)存储过程 在studentdb数据库中建立存储过程getPractice,查询指定院系(名称)(作为存储过程的输入参数)中参与“实践”课程学习的所有学生学号、姓名、所学课程编号与课程名称,若院系不存在,返回提示信息。 提示:D_Info表中存储了院系代码D_ID,而St_Info表中学号字段St_ID的前两位与之对应,则D_Info表与St_Info表之间的联系通过这两个字段的运算构成连接条件。 1.分别执行存储过程getPractice,查询“法学院”与“材料科学与工程学院” 的学生中参与“实践”课程的所有学生学号、姓名、所学课程编号与课程名称。 create procedure getPractice @D_Name varchar(30) output as begin if not exists (select * from D_Info where D_Name= @D_Name ) print '对不起,该院系不存在' else select st_info、St_ID,C_Info、C_No,C_Name from s_c_info inner join st_info on st_info、St_ID=s_c_info、st_id inner join C_Info on s_c_info、c_no=C_Info、C_No where st_info、St_ID in ( select St_ID from st_info join D_Info on D_Info、D_ID =left(st_info、St_ID,2) where C_Info、C_Type='实践' and D_Info、D_Name= @D_Name ) end go

sql数据库试验九:T-SQL语言存储过程及数据库的安全性

实验九:T-SQL语言、存储过程及数据库的安全性 一、实验目的 1.掌握数据变量的使用; 2.掌握各种控制语句及系统函数的使用; 3.掌握存储过程的实现; 4.掌握混合模式下数据库用户帐号的建立与取消方法; 5.掌握数据库用户权限的设置方法; 6.掌握在企业管理器中进行备份、恢复操作的步骤; 二、实验学时 2学时 三、实验要求 1.了解T-SQL支持的各种基本数据类型及变量的使用; 2.了解T-SQL各种运算符、控制语句及函数的功能及使用方法; 3.掌握存储过程的编写和运行方法 4.熟悉数据库完全备份及恢复的方法; 5.了解SQL Server 2008系统安全; 6.熟悉数据库用户、服务器角色及数据库角色的用法 7.完成实验报告。 四、实验内容 以student数据库为基础数据,完成以下内容 1.变量及函数的使用: 1)创建局部变量@xh(学号)并赋值,然后输出数据表student中所有等于该值的学生的学号、姓名、性别、所属院系及年龄等信息; 2)将学号为200515008的学生的姓名赋值给变量@name; 3)计算学生信息表student中学生最高年龄和最低年龄之差,并将结果付给@cz;4)定义一函数,按系别统计当前所有学生的平均年龄,并调用该函数。 5)定义一函数,通过姓名查询某学生的学号、性别、年龄、系别、选修课程名及成绩。 2.编写并执行存储过程 ,查询以下信息:班级、学号、姓名、pr_StuScore创建一个无参存储过程(1).性别、课程名称、考试成绩。 (2)创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号在student表中查询此学生的选修课程及成绩信息。 (3)创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生编号和课程名称查询以下信息:班级、学号、姓名、性别、课程名称、考试成绩。

数据库原理课程设计报告

数据库原理课程设计报告

课程设计报告 数据库原理 系别信息学院 专业年级计算机科学与技术专业 0708班 学生姓名付艳艳 迟秀晶 米秋洋 任课教师李明 2010年5月5日

干部档案数据库系统设计报告 一、题目名称 干部档案数据库系统 二、题目简介 干部档案数据库应用系统是通用于各个公关企事业单位干部人员的基本信息的统计,是有关干部系统的登录、干部信息的增加、删除和修改、分类对干部信息进行查询和打印等各种信息的处理及应用。最终简单的实现对该单位干部信息资料的了解和查询,为本单位日常生活和对干部进行考核做了一定的设计,初步实现了干部档案系统的一般功能。 三、需求分析 (一)当今时代的现状及系统的实现工具 当今时代,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域,使原本的旧的管理方法越来越不适应现在社会的发展,许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代化社会人们高度强烈的时间观念,干部档案数据库应用系统软件为档案办公室带来了极大地方便,我们所开发的这个系统所采用的是当前较为流行的编程软件Miscrosoft VisualFoxPro 6.0/8.0为后台结合SQL Server 2000数据库的实现语言,其功能在系统内部命令或直接对数据库进行操作完成。 干部档案材料的收集工作是干部档案工作的基础,是为利用工作积累信息的过程,是维护干部档案完整和真实直接关系其作用发挥的重要环节,因此必须下功夫、花大力气认真做好。 (二)建立健全收集归档制度,认真组织落实 从档案部门来说必须建立健全收集工作制度并严格执行,应该归档的材料认真收集归档。定期收集可以根据本单位的中心工作提出收集工作计划,对应收集的材料做到心中有数,积极主动抓重点、按计划逐项收集,这样可以避免因工作忙漏归、迟归现象。如表彰奖励材料、年终考核材料、工资普调材料等

存储过程与触发器 实验报告

信息工程学院实验报告 课程名称:《数据库原理》 实验项目名称:存储过程与触发器 一、实验目的: (1)了解存储过程的概念 (2)掌握创建、执行存储过程的方法 (3)了解查看、修改和删除存储过程的方法 (4)了解触发器的概念 (5)掌握创建触发器的方法 (6)掌握查看、修改、删除触发器信息的方法 二、实验设备与器件 Win7 +Sql server 2008 三、实验内容与步骤 (一)存储过程 运行实验四附录中的SQL语句,准备实验数据。然后创建下列存储过程,并调试运行存储过程,查看运行结果。 1.在企业管理器中创建一个名为StuInfo的存储过程,完成的功能是在student表中查询系号为D2的学号、姓名、性别、年龄、系号的内容。 CREATE PROCEDURE StuInfo AS SELECT SNO AS学号, SNAME AS姓名, SSEX AS性别, SAGE AS年龄, DNO AS系号 FROM student WHERE DNO='D2' 结果: stuinfo 2.使用T_SQL语句创建存储过程,完成的功能是在表student,course和study中查询以下字段:学号、姓名、性别、课程名称、考试分数。

use mydb --查询是否已存在此存储过程,如果存在,就删除它 if exists(select name from sysobjects where name='StuScoreInfo'and type='P') drop procedure StuScoreInfo go --创建存储过程 CREATE PROCEDURE StuScoreInfo as select student.sno as学号, sname as姓名, ssex as性别, https://www.doczj.com/doc/163405647.html,ame as课程名称, study.grade as考试分数 from student,course,study where student.sno=study.sno and https://www.doczj.com/doc/163405647.html,o=https://www.doczj.com/doc/163405647.html,o 结果: StuScoreInfo 3.使用T_SQL语句创建一个带有参数的存储过程stu_sno_info,该存储过程根据传入的学生编号,在student表中查询此学生的信息。 if exists(select name from sysobjects where name='stu_info'and type='P') drop procedure stu_info go --创建存储过程 create procedure stu_info @sno varchar(8) as select sno as学号, sname as姓名, ssex as性别, sage as年龄, dno as年级

实验6 数据库实验——存储过程和触发器

实验6 存储过程与触发器 一、实验目的 1、加深与巩固对存储过程与触发器概念的理解。 2、掌握触发器的简单应用。 3、掌握存储过程的简单应用。 二、实验内容 一)存储过程: 1、创建一存储过程,求l+2+3+…+n,并打印结果。 CREATE PROCEDURE addresult AS DECLARE @n int=10,/*最后一个数*/ @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 2.调用上面的addresult存储过程,打印l十2+3+…+10的结果。EXEC addresult

3、修改上述存储过程为addresult1,使得@n为输入参数,其具体值由用户调用此存储过程时指定。 CREATE PROCEDURE addresult1 @n int=10 /*最后一个数*/ AS DECLARE @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 4、调用上面修改后的addresult1存储过程,打印l+2+3+…+100的结果。 EXEC addresult1 100 5.修改上述存储过程为addresult2,将@n参数设定默认值为10,并改设@sum为输出参数,让主程序能够接收计算结果。

《数据库原理课程设计》题目

《数据库原理课程设计》任务书 《数据库原理课程设计》是一门独立的实践课程,学分为1,单独记成绩。通过本课程设计,能使学生较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论和设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成简单的数据库应用系统的设计与实现。 一、设计内容 完成一个数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试等。 学生以2~3人为一设计小组,从课程设计题目中选择一个题目,要求每班中各组的题目都不相同。二、设计环境 操作系统:Windows XP/2003/Vista/Win7/Win8; DBMS:SQL Server或MySQL等; 开发工具:JA V A、JSP、C#等。 三、设计步骤 1、需求分析 业务流程分析和功能分析。 2、概念结构设计 生成基本E-R图。 3、逻辑结构设计 关系表设计(主键与完整性约束)、范式分析(至少要达到3NF)。 4、功能模块实现、集成及调试 应用系统功能通常根据实际目标设定,一般应具有基本的增、删、改、查功能。 编写实现系统功能的界面和代码。 5、报告编写。 四、报告内容 1、需求分析(功能分析、工作流图、数据流图、数据字典); 2、概念模型设计(E-R图); 3、逻辑设计(E-R模型转换为关系模式,指明所满足的范式并给出理由); 4、系统功能设计 5、功能模块实现(界面及源代码) 6、总结(设计过程中遇到的问题以及解决方法;课程学习及课程设计的体会)。 7、参考文献 五、报告格式 1、报告一律按A4纸打印,每人1份。 2、全班刻录在一张光盘上,每组一个文件夹,文件夹名为课程设计题目+(该组学生姓名),并在该文件夹中以每个同学的学号+姓名为名称建立子文件夹,子文件夹中是该同学的内容(包括:源代码、课程设计报告电子版)。 特别提示: 凡有抄袭现象一经发现,课程设计成绩均为不及格。

数据库函数、存储过程实验报告

南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验4 实验(实习)日期2016-6-7 得分指导教师顾韵华 系计软院专业计科年级2014级班次计科 3 班姓名仇彤学号20141308071 一、实验目 1、掌握T-SQL函数及其调用方法。 2、掌握存储过程的定义及执行方法。 3、掌握有参存储过程的定义及执行方法。 4、掌握C#访问数据库的方法。 二、实验内容 1、使用系统函数(DA TEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。 3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。 4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。 5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。 6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称和数量,并使用EXEC语句执行存储过程。 7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。 8、定义存储过程SP_Total,查询指定商品编号的总订购数。并执行该存储过程。 9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。并执行该存储过程。 10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。并执行该存储过程。 11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。并执行该存储过程。 12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。 三、实验过程与结果 1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 设计的SQL语句如下: print datediff(d,getdate(),'2020-1-1') 执行结果:

数据库原理课程设计指导书

数据库原理课程设计指导书 课程名称:数据库原理课程设计 课程编号:40406051 课程类型:必修 学时:1周 学分:1 适用专业:计算机科学与技术、网络工程 编制人:数据库原理课程组 一、课程设计的目的和意义 《数据库原理课程设计》是实践性教案环节之一,是《数据库原理》课程的辅助教案课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教案内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库经管系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 二、设计要求: 通过设计一个完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节——概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。集中安排1周进行课程设计,以小组为单位,一般2~3人为一组,组内自由分工协作。教师讲解数据库的设计方法以及布置题目,要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念模型、逻辑模型、物理模型,在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,生成创建数据库的脚本,提出物理设计的文档,最后应用某种宿主语言完成主要功能设计和实现。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 三、课程设计选题的原则 课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教案环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。具体选题见附录。 四、课程设计的一般步骤 课程设计大体分五个阶段: 1、选题与搜集资料:根据分组,选题目,在小组内进行分工,进行系统调查,搜集资料。

实验七 存储过程及应用完整版含截图

实验七存储过程及应用 1.实验目的 1、理解存储过程的概念。 2、掌握存储过程的使用方法。 2.实验要求 1.建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值): (1)按要求设计完成如下功能的存储过程。 ①查询平均分数在x到y范围内的学生信息。 说明: 该存储过程有两个参数; 要求查询的学生信息包括学号、姓名、院系名称和平均分数。 ②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩。 (2)自行再分别设计一个完成查询和完成操作功能的存储过程(在实验报告中要准确描述功能需求)。 (3)在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比较使用和不使用存储过程的区别。 3、实验过程 (1)①查询平均分数在x到y范围内的学生信息 create procedure cc711@x smallint,@y smallint as select学生.学号,学生.姓名,院系.名称,学生.平均成绩 from学生join院系on学生.院系=院系.编号 where学生.平均成绩between@x and@y EXECUTE cc71160,90

②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩 create procedure mcc712@xh nchar(8),@kcbh nchar(8),@cj int as update选课set成绩=@cj where学号=@xh and课程编号=@kcbh declare@pjcj int select@pjcj=AVG(成绩)from选课where学号=@xh return@pjcj declare@avg int execute@avg=mcc7122,5,98 print'更新后平均成绩:'+str(@avg,6)

数据库存储过程与触发器实验报告

南昌航空大学实验报告 二00 年月日 课程名称:数据库概论实验名称:数据库存储过程与触发器 班级:122031 姓名:同组人: 指导教师评定:签名: 一、实验环境 1.Windows2000或以上版本; 2.SQLServer 2005。 二、实验目的 熟悉不同数据库的存储过程和触发器,重点实践SQL Server2005,掌握SQL Server2005中有存储过程与触发器的相关知识。 三、实验要求 完成实验指导书中p115-7和p132 -4。 四、实验步骤及参考源代码 1.创建与执行存储过程 create procedure C_P_Proc as select distinct https://www.doczj.com/doc/163405647.html,o,cna,pna,num from paper,customer,cp where https://www.doczj.com/doc/163405647.html,o=https://www.doczj.com/doc/163405647.html,o and paper.pno=cp.pno and cna='李涛' or cna='钱金浩' go execute C_P_Proc 2.删除存储过程 drop procedure C_P_Proc 3.创建插入触发器 create trigger TR_PAPER_I ON PAKER12203125 FOR INSERT AS DECLARE @appr float DECLARE @apno int SELECT @appr=ppr,@apno=pno from inserted begin if @appr<0 or @appr is null begin

raiserror('报纸的单价为空或小于!',16,1) update paper set ppr=10 where paper.pno=@apno end end 4.创建删除触发器 create Trigger TR_PAPER_D on PAKER12203125 after delete as declare @ipno char(6) declare @icount int; select @icount= count(*) from deleted,cp where deleted.pno=cp.pno if @icount>=1 begin select @ipno=pno from deleted raiserror('级联删除cp表中的数据',16,1) delete from cp where cp.pno=@ipno end 5.创建修改触发器 create trigger TR_PAPER_U ON PAKER12203125 for update as declare @ippr float select @ippr=ppr from inserted if @ippr<0 or @ippr is null begin raiserror('输入单价不正确',16,1) rollback transaction end 6. 分别对PAKER12203125表进行插入、修改、删除操作 insert into PAKER12203125 (pno,pna,ppr)values('000006','江西日报','1') insert into PAKER12203125 (pno,pna,ppr)values('000007','江南都市报','15.5') delete from PAKER12203125 where pno='000001' update PAKER12203125 set ppr=12.5 where pno='000002' update PAKER12203125 set ppr=-2 where pno='000004' 五、实验结果

数据库实验10存储过程

实验10存储过程 一、实验目的 1. 掌握用户存储过程的创建操作。 2. 掌握用户存储过程执行操作。 3. 掌握用户存储过程的删除操作。 二、相关知识 存储过程:SQL Server 提供的一种将一些固定操作集中起来,由SQL Server 数据库服务器来完成的功能。 存储过程是机构编译和优化后存储在数据库服务器中的SQL语句,只需要调试即可使用。存储过程的优点有: 1)让服务器端能够快速执行某些SQL语句。 2)减少了服务器和客户端之间的数据流的。 3)方便实施企业规则。 4)封装后的过程对数据库保护具有一定安全性。 三、实验内容 1. 创建带输入参数的存储过程。 2. 执行所创建的存储过程。 3.删除所有新创建的存储过程。 四、实验步骤 (一) 1. 创建带输入参数的存储过程。 1)启动SQL Server Management Studio,选择要操作的数据库,如“学生选课”数据库,然后打开新建查询窗口。 2)在查询命令窗口中输入创建存储过程的CREATE PROCEDURE 语句,如图14.11.1所示: 这里,我们创建一个带输入参数的存储过程proc_xsqk1,其中的输入参数用于接收课程号,默认值为“001”,然后在“选课表”中查询该课程成绩不及格的学生学号,接着在“学生表”中查找这些学生的基本信息,包括学号、姓名、性别和联系电话信息,最后输出。 图14.11.1在查询窗口中创建存储过程 3)点击快捷工具栏上的快捷铵钮“√”,对输入的CREATE PROCEDURE 语句进行语法分析。 如果有语法错误,则进行修改,直到没有语法错误为止。 4)点击快捷工具拦上的快捷按钮“!”,执行CREATE PROCEDURE 语句。 5)查看生成的存储过程,如图14.11.2。

数据库原理及应用课程设计完整版

如有你有帮助,请购买下载,谢谢! 数据库原理及应用课程 设计 《图书馆管理系统》 数据库设计报告 成都信息工程学院信息管理与信息系统专业 班级:09级二班 姓名:谢泽勇、彭广川、彭圆圆、肖玲

在信息时代,图书馆已成为全社会的一个重要的公共信息资源,面对成千上万的图书和众多的借阅者,妥善的管理图书 和借阅者的资料是及其重要的,借助计算机信息系统可大大减 轻工作强度,提高工作效率。 本文根据《数据库技术及应用》课程要求而做。 课程作业要求如下: 1、严格按照数据库设计步骤,完成该系统的需求分析、概念模型设计、逻辑结 构设计; 2、需求分析分需求调查和需求分析两部分。其中需求调查应首先明确调查对象 (即,图书馆)。然后按照课程讲授的需求调查内容、步骤与方法,对图书馆进行调查。调查结果通过需求分析得到“图书馆管理信息系统”的数据字典和数据流程图,并严格按照数据字典和数据流图的标准格式与图符进行描述。 3、在得到的数据字典和数据流程图基础上,通过概念模型设计方法,得到“图 书馆管理信息系统”的E-R图。 4、将“图书馆管理信息系统”的E-R图转换为SQL Server2000支持的关系模式, 并按标准关系模式格式描述。 5、通过SQL Server2000对数据库物理结构进行设计;组织数据入库,利用SQL 语言进行简单、连接、嵌套、组合、统计等查询操作,将SQL代码及其运行结果保存;利用SQL语言对数据进行更新、删除和修改操作。 一、功能分析 (1) 读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、 借书期限、备注。 (2) 书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关 键词、备注。 (3) 借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借 书日期、借书期限、备注。 (4) 还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还 书日期、还书期限、备注。 (5) 有条件、多条件查询各种信息.

第6章_存储过程与触发器练习题

有教师表(教师号,教师名,职称,基本工资),其中基本工资的取值与教师职称有关。实现这个约束的可行方案是( )。 A 在教师表上定义一个视图 B 在教师表上定义一个存储过程 C 在教师表上定义插入和修改操作的触发器 D 在教师表上定义一个标量函数 参考答案 C 在SQL SERVER中,执行带参数的过程,正确的方法为()。 A 过程名参数 B 过程名(参数) C 过程名=参数 D ABC均可 参考答案 A 在SQL SERVER服务器上,存储过程是一组预先定义并()的Transact-SQL语句。 A 保存 B 解释 C 编译 D 编写 参考答案 C 在SQL Server中,触发器不具有()类型。 A INSERT触发器 B UPDATE触发器 C DELETE触发器 D SELECT触发器 参考答案 D

()允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。 A 存储过程 B 规则 C 触发器 D 索引 参考答案 C 为了使用输出参数,需要在CREATE PROCEDURE语句中指定关键字( )。 A OPTION B OUTPUT C CHECK D DEFAULT 参考答案 B 下列( )语句用于创建触发器。 A CREATE PROCEDURE B CREATE TRIGGER C ALTER TRIGGER D DROP TRIGGER 参考答案 B 下列( )语句用于删除触发器。 A CREATE PROCEDURE B CREATE TRIGGER C ALTER TRIGGER D DROP TRIGGER 参考答案 D

数据库原理课程设计方案

数据库原理课程设 计方案

课程设计方案 课程名称:数据库原理授课教师:日期:

附录: 题目一:人事管理系统 1、系统功能的基本要求: (1)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。 (2)员工各种信息的修改; (3)对于转出、辞职、辞退、退休员工信息的删除; (4)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息; (5)对查询、统计的结果打印输出。 2、数据库要求:在数据库中至少应该包含下列数据表:

(2)员工婚姻情况表,反映员工的配偶信息; (3)员工学历信息表,反映员工的学历、专业、毕业时间、学校、外语情况等; (4)企业工作岗位表; (5)企业部门信息表。 题目二:工资管理系统 1、系统功能的基本要求: (1)员工每个工种基本工资的设定 (2)加班津贴管理,根据加班时间和类型给予不同的加班津贴; (3)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资; (4)员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12; (5)企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印; 2、数据库要求:在数据库中至少应该包含下列数据表: (1)员工考勤情况表; (2)员工工种情况表,反映员工的工种、等级,基本工资等信息; (3)员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等; (4)员工基本信息表

数据库原理课程设计指导书

数据库原理课程设计指导书

数据库原理课程设计指导书 数据库原理课程组

2013年12月2日 、课程设计的目的和意义 《数据库原理课程设计》是实践性教学环节之一,是《数据库原理》课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 二、设计要求 通过设计一个完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目 标和方法。熟练掌握两个主要环节一一概念结构设计与逻辑结构设计;熟练的使用SQL语言实 现数据库的建立、应用和维护。集中安排1周进行课程设计,以小组为单位,一般2~3人为一组,组内自由分工协作。教师讲解数据库的设计方法以及布置题目,要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念模型、物理模型,在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,生成创建数据库的脚本,提出物理设计的文档,最后应用某种宿主语言完成主要功能设计和实现。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研, 勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 三、课程设计选题的原则 课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教学环节,能较好地巩固

相关主题
文本预览
相关文档 最新文档