文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验五代码

数据库实验五代码

数据库实验五代码
数据库实验五代码

定义:(未加事务,但没错)

CREATE PROCEDURE sp_borrow

@mybookid char(10),@mycardid char(10) , @bname char(30) output,@cname char(20) output,@mystate char(1) output/*,@mydate datetime output*/ AS

if @mybookid is null or @mycardid is null

begin

print'error:your bookid or cardid is null'

return

end

else

begin

if (select state from bookstore where bookid=@mybookid)='y'

begin

update bookstore set state='n' where bookid=@mybookid

insert into borrowlog

values(@mycardid,@mybookid,getdate(),null)

end

else

begin

print'error:book is borrowed!'

end

select

@bname=s.bookname,@cname=c.ownername,/*@mydate=l.borrowdate,*/@mystat e=s.state

from bookstore s,borrowlog l, borrowcard c

where s.bookid=@mybookid and c.cardid=@mycardid and

s.bookid=l.bookid and c.cardid=l.cardid

end

GO

执行:(只剩下借阅日期的与char类型转换没解决)

DECLARE @bid varchar(10), @cid varchar(10),@bname char(30),@cname char(20)/*,@mydate datetime*/,@mystate char(1)

SET @bid='2008112601' set @cid='200602001'

EXECUTE sp_borrow @bid,@cid,@bname output,@cname output, /*@mydate output,*/@mystate output

SELECT '借阅人:'+@cname as '借阅人', '图书名称'+@bname as '图书名称'/*,@mydate as '借阅日期'*/,'借阅状态'+@mystate as'借阅状态'

加了事务处理

CREATE PROCEDURE sp_borrow

@mybookid char(10),@mycardid char(10) , @bname char(30) output,@cname char(20) output,@mystate char(1) output,@mydate datetime output

AS

if @mybookid is null or @mycardid is null

begin

print'error:your bookid or cardid is null'

return

end

else

begin

if (select state from bookstore where bookid=@mybookid)='y'

begin

begin transaction

update bookstore set state='n' where bookid=@mybookid

IF ( @@ERROR <> 0 )

BEGIN

/**//*---------- 自定义错误输出 ----------*/

RAISERROR( 'Insert data error!',16,1 )

/**//*-------- 事务回滚 --------*/

ROLLBACK TRANSACTION

END

insert into borrowlog

values(@mycardid,@mybookid,getdate(),null)

IF ( @@ERROR <> 0 )

BEGIN

/**//*---------- 自定义错误输出 ----------*/

RAISERROR( 'Insert data error!',16,1 )

/**//*-------- 事务回滚 --------*/

ROLLBACK TRANSACTION

END

commit

end

else

begin

print'error:book is borrowed!'

end

select

@bname=s.bookname,@cname=c.ownername,@mydate=l.borrowdate,@mystate=s. state

from bookstore s,borrowlog l, borrowcard c

where s.bookid=@mybookid and c.cardid=@mycardid and

s.bookid=l.bookid and c.cardid=l.cardid

end

GO

执行

DECLARE @bid varchar(10), @cid varchar(10),@bname char(30),@cname char(20),@mydate datetime,@mystate char(1)

SET @bid='2008112602' set @cid='200601001'

EXECUTE sp_borrow @bid,@cid,@bname output,@cname output, @mydate output,@mystate output

SELECT '借阅人:'+@cname as '借阅人', '图书名称'+@bname as '图书名称',@mydate as '借阅日期','借阅状态'+@mystate as'借阅状态'

触发器

CREATE TRIGGER tgs_delete ON s

FOR DELETE

AS

delete from spj where sno in (select sno from deleted)

数据库实验

数据库实验 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

数据库原理上机实验指导

数据库原理上机实验指导 一、实验目的和要求 1.实验目的 力图通过本实践课程的学习,使学生掌握数据库管理系统的基本概念、操作方法和管理方法,能够根据用户应用需求设计出合理的数据库应用系统逻辑模型方案,并且实现之。 2.实验要求 本实践课程主要介绍Microsoft SQL Server 2000系统的基本概念、基本知识;讲述数据库管理系统的安装、操作、设计、管理等基本概念及其操作方法;学习如何创建和管理数据库系统的步骤,为承担DBA角色作好准备。重点要求掌握Transact-SQL语言,学会数据库应用系统逻辑模型的设计和实现。 要求学生实验前认真准备,实验后提供实验报告,给出详细实验结果以及设计依据。 实验报告的格式应采用统一封面,统一的实验报告纸。封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。 二、实验环境介绍 1.硬件设备要求 微型计算机,最好具有局域网环境 2.软件设备要求 Windows 2000或Windows XP操作系统; MS SQL Server 2000数据库管理系统。 三、实验内容和学时分配 1.实验内容 实验1:服务器管理 实验2:创建和管理数据库 实验3:Transact-SQL语言——数据查询 实验4:Transact-SQL语言——数据定义与数据更新 实验5:数据库安全与保护——用户管理和权限管理 实验6:数据库安全与保护——数据完整性 实验7:数据库安全与保护——数据库的一致性和并发性 实验8:数据库安全与保护——数据库的备份与恢复 实验9:存储过程和触发器 实验10:嵌入式SQL的使用

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

数据库实验5实验报告

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的完整性 班级:软件132 学号:2013122907 姓名:莹莹

一.目的与要求 1.掌握索引创建和删除的方法; 2.掌握创建视图和使用视图的方法; 3.掌握完整性约束的定义方法,包括primary key、foreign key等。 二.实验容 1.基于前面建立的factory数据库,使用T-SQL语句在worker表的“部门号”列上创建一个非聚集索引,若该索引已经存在,则删除后重建。 2.在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性。 3.建立视图view1,查询所有职工的职工号、、部门名和2004年2月工资,并按部门名顺序排列。 4.建立视图view2,查询所有职工的职工号、和平均工资; 5.建立视图view3,查询各部门名和该部门的所有职工平均工资; 6.显示视图view3的定义; 7.实施worker表的“性别”列默认值为“男”的约束; 8.实施salary表的“工资”列值限定在0~9999的约束; 9.实施depart表的“部门号”列值唯一的非聚集索引的约束; 10.为worker表建立外键“部门号”,参考表depart的“部门号”列。 11.建立一个规则sex:性别=’男’ OR 性别=’女’,将其绑定到“性别”上; 12.删除上面第7、8、9和10建立的约束; 13.解除第11题所建立的绑定并删除规则sex。 三.实验步骤 1 USE factory GO --判断是否存在depno索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='depno') DROP INDEX worker.depno GO --创建depno索引 CREATE INDEX depno ON worker(部门号) GO EXEC sp_helpindex worker GO 2 USE factory GO --判断是否存在no_date索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='no_date') DROP INDEX salary.no_date GO --创建no_date索引

数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊

目录 实验一熟悉POWER DESIGNER (2) 实验二SQL SERVER 2000的安装与使用 (6) 实验三创建数据库、表 (17) 实验四SQL SERVER2000查询分析器 (29) 实验五SQL语言的DDL (38) 实验六SQL语言的DML初步 (40) 实验七DML的数据查询 (43) 实验八SQL语言综合练习 (48) 实验九嵌入式SQL ...................... 错误!未定义书签。实验十数据库设计....................... 错误!未定义书签。

实验一熟悉Power Designer 一、实验目的 1、掌握安装并破解PD的方法。 2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉Power Designer CDM及其相关知识。 3.掌握运用Power Designer工具建立CDM的方法。 4.初步掌握从Power Designer CDM生成相应的PDM的方法。 二、实验内容及实验步骤 1、PD环境的介绍 Power Designer的4种模型文件: (1) 概念数据模型(CDM) CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构 无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对 象。它给运行计划或业务活动的数据一个正式表现方式。 (2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。 藉由PDM ,你考虑真实的物理实现的细节。你能修正PDM 适合你的表现或物理约束。 (3)面向对象模型(OOM) 一个OOM包含一系列包,类,接口, 和他们的关系。这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概念模型。 (4)业务程序模型(BPM) BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用 2、创建CDM(以学生选课系统为例) (1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名 (3)为各实体和联系创建属性 学生(学号,姓名,性别,年龄)

数据库实验报告

数据库实验报告

数据库原理及应用(本科)实验指导书 -计算机信息教研室- 二○一二年五月 精心整理,用心做精品0

目录 实验1 创建数据库与数据表 (2) 实验2 简单查询和连接查询 (10) 实验3 嵌套查询和集合查询 (12) 实验4 数据完整性 (14) 精心整理,用心做精品1

时间:机房号:得分: 实验1 创建数据库与数据表 实验目的: 1.熟悉SQL SERVER环境; 2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER 和DROP命令; 3.掌握数据表的创建和数据记录的插入方法。 实验内容: 1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE 和选修SC三个数据表,各表中的数据如下所示: 学生STUDENT: Sno Sname Ssex Sage Sdept 95001 李勇M 20 CS 95002 刘晨 F 19 IS 95003 王敏 F 18 MA 95004 张立M 18 IS 课程COURSE: Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构7 4 6 数据处理 2 精心整理,用心做精品2

7 C语言 6 4 选修SC: Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 2. 创建供应系统“GYXT”数据库,其中包括供应商表S、零件表P、工程项目表J和供应情况表SPJ四个数据表,各表中数据如下所示。 供应商S: SNO SNAME CITY S1 精益天津 S2 万胜北京 S3 东方北京 S4 丰泰隆上海 S5 康健南京 零件P: PNO PNAME COLOR WEIGHT P1 螺母红12 P2 螺栓绿17 P3 螺丝刀蓝14 P4 螺丝刀红14 P5 凸轮蓝40 P6 齿轮红30 工程项目J: JNO JNAME CITY J1 三建北京 J2 一汽长春 J3 弹簧厂天津 J4 造船厂天津 精心整理,用心做精品3

数据库实验报告五

数据库原理及应用实验报告(五) 实验题目:过程 专业:数字媒体技术 班级:1306班 姓名:***************

运城学院实验报告 专业:数字媒体技术系(班):计算机科学与技术系1306班姓名:************* 课程名称:数据库原理及应用 实验项目:过程实验类型:验证型指导老师:***** 实验地点:软件实验室一时间:2015年12月10日 一、实验目的: 掌握用户存储过程的创建,了解一些常用的系统存储过程,以及调用和删除过程,并熟悉使用存储过程来进行数据库应用程序的设计。 二、实验内容: (1)基于学生—课程数据库创建一存储过程,用于检索数据库中某个专业学生的人数,带有一个输入参数,用于指定专业。执行结果如图二所示: create procedure pro_s @stu_sdept varchar(5) //这是带参数的过程,参数不用()括 As select count(*) as 人数from student where sdept = @ stu_sdept 1、存储过程的执行 execute pro_s 实参//实参可以是变量,也可以是常量 (2)基于学生-课程数据库创建一存储过程,该过程带有一个输入参数,一个输出参数。其中输入参数用于指定学生的学号,输出参数用于返回学生的平均成绩。执行结果如图四所示: create procedure pro_stu @stu_sno char(6),@stu_avg float output //这个带output的是输出参数as select @stu_avg = avg(grade) //将平均值给了变量 from student,sc where student. sno = sc. sno and student.sno=@stu_sno 1.存储过程的执行 declare @stuavg float //用于存放输出变量内容的 execute pro_stu ‘1000’,@stuavg output// 输出参数必须是变量 select @stuavg //看结果 (3)在pubs数据库中建立一个存储过程,用于检索数据库中某一价位的图书信息。参数有两个,用

数据库实验报告

合肥师范学院实验报告册 2014 / 2015 学年第2学期 系别计算机学院 实验课程数据库原理 专业 班级 姓名 学号 指导教师

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)2)分析并建立各表的主码,用下划线在上面表结构中标出主码。 3)建立各表之间的关联,请简述操作步骤。 (1)CREATE TABLE Stu ( sno char(9), sname varchar(50), ssex char(2), sage int, sdept char(2) ); CREATE TABLE COURSE ( cno char(3), cname varchar(50), cpno char(3), credit int); CREATE TABLE SC ( sno char(9), cno char(3), grade int); 4)参考实验指导书的【第5章数据库的备份和还原】,使用企业管理器对数据库STC 进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作的步骤。

桂林理工《数据库原理及应用》实验指导(改版)

数据库原理及应用(本科)实验指导书 -计算机信息教研室- 桂林理工大学信息科学与工程学院 二○一二年五月

目录 实验 1 创建数据库与数据表 (2) 实验2 简单查询和连接查询 (10) 实验3 嵌套查询和集合查询 (12) 实验4 数据完整性 (14)

时间:机房号:得分: 实验1 创建数据库与数据表 实验目的: 1.熟悉SQL SERVER环境; 2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令; 3.掌握数据表的创建和数据记录的插入方法。 实验内容: 1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示: 学生STUDENT: Sno Sname Ssex Sage Sdept 95001 李勇M 20 CS 95002 刘晨 F 19 IS 95003 王敏 F 18 MA 95004 张立M 18 IS 课程COURSE: Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构7 4 6 数据处理 2 7 C语言 6 4 选修SC: Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 2. 创建供应系统“GYXT”数据库,其中包括供应商表S、零件表P、工程项目表J 和供应情况表SPJ四个数据表,各表中数据如下所示。

供应商S: SNO SNAME CITY S1 精益天津 S2 万胜北京 S3 东方北京 S4 丰泰隆上海 S5 康健南京 零件P: PNO PNAME COLOR WEIGHT P1 螺母红12 P2 螺栓绿17 P3 螺丝刀蓝14 P4 螺丝刀红14 P5 凸轮蓝40 P6 齿轮红30 工程项目J: JNO JNAME CITY J1 三建北京 J2 一汽长春 J3 弹簧厂天津 J4 造船厂天津 J5 机车厂唐山 J6 无线电厂常州 J7 半导体厂南京 供应情况SPJ: SNO PNO JNO QTY S1 P1 J1 200 S1 P1 J3 100 S1 P1 J4 700 S1 P2 J2 100 S2 P3 J1 400 S2 P3 J2 200 S2 P3 J4 500 S2 P3 J5 400 S2 P5 J1 400 S2 P5 J2 100 S3 P1 J1 200

数据库系统实验

实验指导书 班级:090402 姓名:郑锦坤

序言 数据库是数据管理的最新技术,是计算机科学的重要分支。通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。 为了达到这个目的,这里安排五个实验单元。 实验报告的内容 1.题目 描述每个实验的内容是什么。 2.需求分析 用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程 的头和规格说明; 3.源程序清单和结果 源程序要加注释,要有测试数据及结果。

实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时) 本次实验的主要目的在于学会使用SQL SERVER环境建 库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库 的查询实现方法。实验数据如下: Student SC

实验报告 1 日期: 一.SQL语句实验题目: 1.建立课程表 2.建立学生表 3.建立选课表 4.查询所有学生的详细信息

SELECT Student.SCLASS, Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,https://www.wendangku.net/doc/8714626445.html,O,SC.GRADE,https://www.wendangku.net/doc/8714626445.html,AME,Course.CPNO,Course. CCREDIT FROM Course,Student,SC WHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND https://www.wendangku.net/doc/8714626445.html,O=https://www.wendangku.net/doc/8714626445.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库实验5报告

北京联合大学信息学院实验报告 题目:实验五用户自定义函数 系别:软件系 专业:软件工程 班级:软件1203B 学号:20120803600 姓名: 同组人:无 指导教师:果晓来 2014年5月21日

5.用户自定义函数(2学时) 实验目的: 学习、掌握用户自定义函数的建立和使用 实验内容: 1、创建自定义函数 创建一个用户自定义函数,并测试、查看函数返回值。1)输入并执行下面语句 USE Northwind GO CREATE FUNCTION fn_TaxRate (@ProdID INT) RETURNS numeric(5,4) AS BEGIN RETURN (SELECT CASE CategoryID WHEN 1 THEN 1.10 WHEN 2 THEN 1 WHEN 3 THEN 1.10 WHEN 4 THEN 1.05 WHEN 5 THEN 1 WHEN 6 THEN 1.05 WHEN 7 THEN 1 WHEN 8 THEN 1.05 END FROM Products WHERE ProductID = @ProdID) END GO

2)此函数中输入变量是什么?返回值类型?如何定义的返回值? 输入变量:@ProdID 返回类型:numeric 定义的返回值:RETURNS numeric(5,4) 3)输入并执行语句测试函数 SELECT ProductName, UnitPrice,Northwind.dbo.fn_TaxRate(ProductID) AS TaxRate, UnitPrice * Northwind.dbo.fn_TaxRate(ProductID) AS PriceWithTax FROM Products

数据库实验指导书

数据库实验指导书 电气与电子工程学院

实验项目 实验一认识DBMS及数据库的建立 实验二交互式SQL(数据库查询与更新) 实验三数据控制(安全性部分) 实验四数据控制(完整性部分)

实验一认识DBMS及数据库的建立 一、实验目的: 1.掌握使用SQL SERVER企业管理器及SQL语言创建数据库与表。 2.掌握使用SQL SERVER企业管理器及SQL语言修改数据库与表。 3.掌握使用SQL SERVER企业管理器及SQL语言删除数据库与表。 二、实验内容及步骤: 1.通过用企业管理器创建一个指定多个数据文件和日志文件的数据库,该数据库名称为jiaoxuedb,要求: 有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件。数据文件逻辑名称为jiaoxuedb1和jiaoxuedb2,物理文件名为jiaoxuedb1.mdf和jiaoxuedb2.mdf。主文件是jiaoxuedb1,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为jiaoxuedblog1和jiaoxuedblog2,物理文件名为jiaoxuedblog1.df和jiaoxuedblog2.ldf,最大尺寸均为50MB,文件增长速度为1MB。 2.用企业管理器在jiaoxuedb数据库中建立如下表: 学生表: jiaoxuedbdent 课程表: Course 选课表: SC

3.查看表格:显示当前数据库中所有对象的信息。 4.利用企业管理器删除表: 在企业管理器中,展开指定的数据库和表格项,用右键单击要删除的表,从快捷菜单中选择“除去表”选项,则会出现除去对象对话框。单击“全部删除”按钮,即可去除表。

数据库实验指导及报告-2015正式版

编号:2015版 《数据库原理及应用》 实验报告 实验报告作者(姓名及学号): 实验指导教师:鲍芳 实验时间:2015-2016 秋季实验班级:自动化电气13级班 实验中心三号楼 广东工业大学

(MS SQL SERVER 2005) 第一次实验注意事项: 1.携带U盘;本实验使用MS SQL SERVER 2005; 2.在“我的电脑\|管理\服务及应用\SQLSERVER配置管理器\SQLSERVER2005服务” 菜单下启动“SQL SERVER(MSSQLSERVER)”服务,双击应用程序“SQL Server Management Studio”,注意“服务器名称”不要使用缺省设置,通过“浏览更多” 及展开“数据库引擎”选择本机号码,点击“连接”; 3.在“对象资源管理器”窗口显示有绿色箭头;在对象资源管理器中附加myCapeCodd 数据库:鼠标右键点击“数据库”选择“附加”,指明数据文件.mdf的位置(均指向U盘的某个文件夹);附加成功后在数据库目录下可见myCapeCodd; 4.点击“新建查询”即可在窗口输入相关SQL语句,可以用截图软件保存查询结果。(注意MS SQL SERVER 2008 不支持数据库.mdf.及log文件指向U盘。) 2015数据库原理及应用实验安排(实验一至实验七) 在实验四至实验七中,务必对提交的SQL语句返回的查询结果与人工检索的结果相对比,以此方式验证SQL语句的正确性。 以下实验内容涉及学生自己创建数据库。 5.在对象资源管理器中创建自己的数据库:鼠标右键点击“数据库”选择“新建数据 库”,名称取为“电气X班XXX学生成绩管理数据库”;在“新建数据库”时要指明数据文件及事务日志的位置(均指向U盘的某个文件夹),不要使用缺省设置; 6.在“新建查询”下输入SQL语句,注意先选择对应的“电气X班XXX学生成绩管 理数据库”,而不是缺省的master数据库;检查及执行该语句,注意每次输入新的SQL语句时先清空输入界面;注意在半角状态输入空格,若在全角状态输入空格容易导致出错; 7.创建数据库中的表后(注意刷新),在对象资源管理器窗口可见该表及其所拥有的 键及约束:学生:键:1,约束:1;课程:键:1;选课:键:3,约束:1 8.在对象资源管理器中“数据库”子菜单使用“附加”命令选中.mdf文件(对应的.log

数据库系统原理及应用实验全套

数据库系统原理及应用实验指导书 (本科) 福建工程学院计算机与信息科学系计算机软件与理论教研室 浅诺制作 2012年5月

目录 实验一数据定义语言 (1) 实验二 SQL Sever中的单表查询 (5) 实验三 SQL Serve中的连接查询 (8) 实验四 SQL Serve的数据更新、视图 (12) 实验五数据控制(完整性与安全性) (17) 实验六语法元素与流程控制 (22) 实验七存储过程与用户自定义函数 (28) 实验八触发器 (34)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%

2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在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)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录;

数据库实验报告1

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库实验报告

计算机与信息学院 实验报告 专业班级 计科3班 学生姓名及学号 2014217151 李勤阳课程教学班号 任课教师 实验指导教师 实验地点 计算机楼303 20 16 ~20 17 学年第一学期

实验一数据库的创建和删除 一. 实验目的: 1. 了解SQL Server数据库的环境。 2. 掌握使用SQL 语句创建数据库的方法。 二.实验要求 1. 掌握通过查询分析器进行交互式SQL语句的使用方法。 2. 理解SQL Server中的共享架构dbo。 3.注意操作结果的截图与保存,供撰写实验报告使用。 三.实验内容 1. 使用SQL语句创建数据库EDUC。 数据库的参数要求: 数据库名称:EDUC 数据库存储路径:将数据库文件存储在D:\jxgl\目录中。 (注,如果该目录不存在,需在D盘新建一个名为jxgl的文件夹) 其他参数要求: 数据文件的初始大小:10M 最大:60M 按5%的比例自动增长。 日志文件的初始大小:4M 最大:10M 增量为1M。 2. 将新创建的数据库设置为当前数据库。 四.实验步骤

1.创建数据库EDUC的SQL语句: 示例:创建数据库userdb1 maxsize=5 , filegrowth=1)create database userdb1 on (name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='d:\sql_data\userdb1.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb1_log, filename='d:\sql_data\userdb1.ldf ' , size=2 , reate database EDUC on (name=EDUC_data, filename='E:\jxgl\EDUC.mdf', size=10, maxsize=60, filegrowth=5%) log on ( name=EDUC_log, filename='E:\jxgl\EDUC.ldf ',

数据库原理及应用实验指导★---实验4_SQL语言——SELECT查询操作[1]

实验4 SQL 语言——SELECT 查询操作 1 实实验验44 S S Q Q L L 语语言言————S S E E L L E E C C T T 查查询询操操作作 实验示例 实验示例中要使用包括如下三个表的“教学管理”数据库JXGL : (1)学生表Student ,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为Sno 。 (2)课程表Course ,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为Cno 。 (3)学生选课SC ,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。 1、在SQL SERVER 查询分析器或企业管理器(以具有相应操作权限的某用户登录)的SQL 操作窗口中执行如下命令创建数据库。需要说明的是不同数据库系统其创建数据库的命令或方式有所不同。 CREATE DATABASE JXGL 2、刷新数据库目录后,选择新出现的JXGL 数据库,在SQL 操作窗口中,创建Student 、SC 、Course 三表及表记录插入命令如下: Create Table Student ( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno), Sname VARCHAR(20), Sage SMALLINT CHECK(Sage>=15 AND Sage<=45), Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='女'), Sdept CHAR(2)); Create Table Course ( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno), Cname VARCHAR(20), Cpno CHAR(2), Ccredit SMALLINT); Create Table SC ( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL, Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN 0 AND 100)), PRIMARY KEY(Sno,Cno),

数据库系统-实验3

实验九触发器的创建与使用 一、实验目的 本实验的目的是使学生进一步掌握SQL Server触发器的创建及使用方法,加深SQL触发器的理解。通过对数据的更新操作体会其触发器的作用。 二、实验准备 结合课堂教学内容,了解触发器的相关知识,掌握触发器的定义,理解触发器的使用方法及其特点。 三、实验要求 1. 掌握T-SQL创建触发器语句Create trigger的使用。 2. 完成所规定的触发器定义要求。 3. 通过数据查询检查触发器的使用效果。 4. 注意操作结果的截图与保存,供撰写实验报告使用。 四、实验内容 1. 在班级表class中增加班级人数(c_total)字段。 2. 为学生表(student)创建INSERT触发器t_inst_stu:新增一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动加1。 3. 为学生表(student)创建DELETE触发器t_dele_stu:删除一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动减1。 4. 为学生表(student)创建UPDATE触发器t_update_stu: 当某学生所在班号发生变化时(即调到另一班级后),将其原先所在班级的人数(c_total)减1,将新调入的班级班级的人数(c_total)加1。 5. 体会触发器的作用。 五、实验步骤 在查询分析器中完成实验内容。 1. 使用alter table语句在班级表class中增加班级人数(c_total)字段,默认值(DEFAULT)是0; 2. 为学生表(student)分别创建:

数据库实验五报告

《数据库原理与应用》实验报告 实验名称:存储过程与触发器班级: 学号:姓名: 一、实验目的 (1)掌握Oracle数据库编程语言PL/SQL的基础知识。 (2)掌握游标、存储过程和触发器的创建,使用方法。 (3)了解使用高级语言连接数据库的技术、基本方法,了解ODBC、ADO和JDBC 的技术。 二、实验过程 在实验一、实验二创建的表中用PL/SQL语言完成以下内容: 1.创建存储过程,根据调用时提供的学生姓名查询该学生所修课程的课程信息,在过程体中将课程号、课程名和成绩输出到输出窗口,在SQL窗口中给出过程调用语句块。 语句:create or replace procedure p1(v_sname in s.sname%type) is a https://www.wendangku.net/doc/8714626445.html,o%type; b https://www.wendangku.net/doc/8714626445.html,ame%type; cursor c1 is select https://www.wendangku.net/doc/8714626445.html,o,https://www.wendangku.net/doc/8714626445.html,ame from course,sc where https://www.wendangku.net/doc/8714626445.html,o=https://www.wendangku.net/doc/8714626445.html,o and sno= (select sno from student where sname=v_sname); begin open c1; loop fetch c1 into a,b; exit when c1%notfound; dbms_output.put_line(a||' '||b); end loop; close c1;

end; begin p1('张北辰'); end; 执行结果: 2.(1)删除SPJ关系中所有数据。 语句:delete from spj; 执行结果: (2)在插入和修改SPJ表中QTY属性列的值时用触发器实现约束:如果是北京的供应商,供应任何零件的数量不能少于300,如果少于则自动改为300。 语句: create or replace trigger tr1 before insert or update on spj for each row declare v_citys.city%type; begin select city into v_city from s where sno=:new.sno;

相关文档