文档库 最新最全的文档下载
当前位置:文档库 › 数据库原理与应用实验9

数据库原理与应用实验9

数据库原理与应用实验9
数据库原理与应用实验9

数据库原理及应用实验讲义

实验九存储过程与触发器

一、实验目的及要求

本实验主要目的是让学生通过实验掌握存储过程的创建及使用方式、触发器的创建,具体要求有:

●理解存储过程的概念及类型,深刻理解存储过程的优点

●掌握创建各种存储过程的方法

●掌握调用存储过程的方法

●掌握查看、修改、删除存储过程的方法

●理解触发器的概念与类型

●理解触发器的功能及工作原理

●掌握创建、更改、删除触发器的方法

●掌握利用触发器维护数据完整性的方法

二、实验原理及背景知识

(一)存储过程知识

存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。它的运行速度比独立运行同样的程序要快。

1、存储过程类型

1)系统存储过程

存储在master数据库中,以sp_为前缀。可以在其他数据库中对其进行调用。

2)用户自定义存储过程

由用户创建并能完成某一特定功能的存储过程,或称本地存储过程。

2、创建存储过程

存储过程的三个组成部分:

(1)所有的输入参数以及传给调用者的输出参数。

(2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句。

(3)返回给调用者的状态值,以指明调用是成功还是失败。

3、T-SQL创建存储过程的基本语法格式:

CREATE PROC[EDURE] 存储过程名称参数定义

AS SQL语句

(二)触发器知识

触发器是一种特殊类型的存储过程,主要通过事件进行触发执行的。可以实现由主键和外键所不能保证的参照完整性和数据的一致性;强化约束;跟踪变化;级联运行;存储过程的调用等功能。

1、触发器的种类

1)AFTER触发器:只有对表执行某一操作这后,才能被触发。可以为表的同一操作定义多个触发器,其触发次序可使用sp_settriggerorder来完成。

2)INSTEAD OF触发器:并不执行其所定义的操作而仅是执行触发器本身,对同一操作只能定义一个instead of 触发器。

2、INSERTED和DELETED临时表

插入一行时,INSERTED表保存了一份插入行的拷贝。

删除一行时,DELETED表保存了删除行的拷贝。

-1-

数据库原理与应用实验教材

-2-

更新一行时,INSERTED 表中保存了一份新行的拷贝,DELETED 表中保存了一份旧行的拷贝。 3、语法格式:

CREATE TRIGGER 触发器名称 ON 表或视图

{ FOR | AFTER | INSTEAD OF } {[DELETE],[INSERT],[UPDATE]} AS SQL 语句

三、实验内容及步骤:

Ⅰ:基本实验内容

在SQL Server 2000中创建存储过程和触发器虽然可以通过企业管理器进行,但是企业管理器仅仅是提供了一个利用T-SQL 编写存储过程和触发器的简单模板,大部分内容都是需要自己手工编写的。而且在SQL Server 2005中只能通过T-SQL 来编写存储过程和触发器。因此,本实验只要求通过T-SQL 来创建并管理存储过程和触发器,可视化方式请参考相关资料。(一)存储过程的创建和执行

1、创建下面的存储过程并执行,然后分析其功能 1)创建

2)执行

EXEC list_stu_course 或者

list_stu_course 3)功能分析

_____________________________

2、带参数存储过程并执行

1)创建

2)

数据库原理及应用实验讲义

-3-

执行

EXEC list_student_department @department=‘工程与信息学院’

3)功能分析

______________________________

3、根据功能要求完成下面的任务

在stuManag 数据库中创建一个名为proc_1的存储过程,产生某门课程的选课学生情况列表,其中包括课程号、课程名、学号、姓名、成绩。要求输入某门课程的课程号,得到上述信息。

1)创建:

2)执行:

EXEC proc_1 ‘050504’

4、根据功能要求,完成下面任务

在stuManag 数据库中,定义存储过程proc_2,要求实现输入学生学号,根据该学生所选课程的平均成绩显示提示信息,即如果平均成绩在60分以上,显示“此学生综合成绩合格!”,否则显示

“此学生综合成绩不合格!”。 1)创建:

2)执行:

(二)管理存储过程 1、查看存储过程代码

数据库原理与应用实验教材

-4-

EXEC sp_helptext ‘list_student_department ’

EXEC sp_helptext @objname=‘list_student_department ’ 2、修改存储过程

1)修改

2)执行(查询’工程与信息学院’情况)

3、删除存储过程

DROP PROCEDURE list_stu_course (三)触发器操作 1、触发器创建及验证

新建一个Test 数据库,然后在Test 数据库中完成下面内容。在查询分析器中输入下面的代码,思考其功能,运行后,查看输出结果。并描述每一部分的功能或者输出结果。 1)创建触发器

创建表TestTable1

创建触发器

--下面两个语句分开执行

INSERT TestTable1 VALUES(1,’林冲’)

UPDATE TestTable1 SET c2=‘宋江’ WHERE c1=1

数据库原理及应用实验讲义

-5-

2)inserted 表和deleted 表的使用

--下面三个语句分开执行

INSERT TestTable1 VALUES(2,’吴用’)

UPDATE TestTable1 SET c2=‘关胜’ WHERE c1=2

3)insert 和update 触发器

--下面三个语句分开执行

INSERT TestTable2 VALUES (200,’武松’) INSERT TestTable2 VALUES (15,’武松’)

UPDATE TestTable2 SET c1=300 WHERE c2=‘武松’

数据库原理与应用实验教材

-6-

4)delete 触发器

--执行下面语句

DELETE FROM stu WHERE sno=‘03170356’

5)instead of 触发器

--执行下面语句,然后查询TestTable1表

2、基于stuManag 数据,根据功能要求,完成T-SQL 语句

1)创建触发器trigger_1,实现当修改学生表(student )中的数据时,显示提示信息“学生表被修改了”。

2)创建触发器trigger_2,实现当删除课程表中某门学生的记录时,对应学生成绩表中所有有关该学生的记录均删除。

数据库原理及应用实验讲义

-7-

3)创建触发器trigger_3,实现当修改学生课程表(course )中的某门课的课程号时,对应学生成绩表(student_course )中的课程号也作修改。

当修改学生课程表中记录时,相当于删除一条旧记录并插入一条新记录,删除的旧记录在deleted 临时表中,插入的新记录在inserted 临时表中。因此,可以通过在查询分析器的查询窗口中输入如下语句创建触发器:

3、删

除触发器trigger_1

____________ trigger_1

Ⅱ:高级实验内容

基于stuManag 数据库完成下面的任务

1、创建一个存储过程proc_name :当任意输入一个学生的姓名时,将返回该学生的学号、选修的课程名称和课程成绩。并执行该存储过程,查询“蔡大炮”的学号、选修课程和课程成绩。

2、创建一个存储过程proc_totalcredit ,要求实现如下功能:输入学生学号,根据该学生所选课程的总学分显示提示信息,如果总学分<9,则显示“此学生所选总学分为XXX ,学分不足!”,否则显示“此学生所选总学分为XXX ,学分已足!”。并调用修改后的存储过程,显示“091650102”学生的总学分情况。

3、创建一个带输入参数和输出参数的存储过程,要求实现如下功能:输入学生学号,然后输出学生的选课门数、平均分以及所选学分。

第二篇实验内容及安排

4、首先创建一个表stu_credit,用来存放学生的学号及选修总学分。然后创建一个触发器trigger_scredit,实现如下功能:当在学生选课表(student_course)中删除一条学生选课信息后,自动实现更新stu_credit中的总学分信息。

5、创建一个触发器,当在student_course中添加一个学生选课的时候,验证学生所选的总学分,如果已选学分不足10分,则自动更新stu_credit表中的总学分信息,并显示“选课成功!”;如果已选学分超过10分,则拒绝学生本次选修,并显示“已选学分超过分,不需选课!”。

四、实验思考题

1、触发器的种类和用途?

2、存储过程的类型有哪些?分别有什么特征?。

3、如何创建一个存储过程?试述存储过程在程序设计的作用。

4、触发器在维护数据完整性方面有什么功能?

-8-

广东工业大学数据库原理与应用试卷答案

广东工业大学试卷用纸,共 页,第 页

广东工业大学试卷用纸,共页,第页

广东工业大学试卷用纸,共页,第页

一、填空(每题1分,共10分) 1、层次模型,网状模型,关系模型 2、逻辑结构设计,物理结构设计 3、原子性,持续性 4、并发调度的可串行性 5、闭包 6、描述事物的符号记录 二、选择题(每题2分,共20分) 三、简答题(每题4分,共16分) 1、解释数据库,数据库系统,数据库管理系统三个概念。 数据库是指长期存储于计算机内的、有组织的、可共享的数据集合。(1分) DBMS是指位于用户与OS之间的一层数据管理软件,它位用户或应用程序提供访问DB的方法。(1分) DBS是实现有组织的、动态的存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。(2分) 2、试述视图和基本表之间的联系和区别? (1)视图和基本表在概念上等同,他们都是关系。(1分) (2)基本表是本身独立存在的表。视图是从一个或几个基本表(或视图)中导出的表,它与基本表不同,是一个 虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然放在原来的基本表中。(3分) 3、数据库的完整性概念与数据库的安全性概念有什么区别和联系? 数据的完整性和安全性是两个不同的概念,但是有一定的联系。 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。(2分) 后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。(2分) 4、什么是封锁?基本的封锁类型有几种,简要说明它们的含义。 封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。(2分)基本封锁类型:排它锁和共享锁。 排它锁又称为写锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁(1分) 共享锁又称为读锁:若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T 释放A 上的S锁。(1分) 四、计算(4分) 1、(R÷S)×S={(2,3,4,5),(2,7,2,3)} 2 广东工业大学试卷用纸,共页,第页

2019年大学《数据库原理及应用教程》试题及答案

《数据库原理及应用教程》试题及答案 一、选择题 1、下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)

A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D)

oracle实验--存储过程

实验八存储过程的使用 一、实验目的 1、熟练掌握存储过程的定义及使用 二、实验要求 1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成 实验内容的预习准备工作; 2、能认真独立完成实验内容; 3、实验后做好实验总结,根据实验情况完成实验报告。 三、实验内容 创建图书管理库的图书、读者和借阅三个基本表的表结构: 图书表: BOOK ( BOOK_ID NUMBER(10), SORT V ARCHAR2(10), BOOK_NAME V ARCHAR2(50), WRITER V ARCHAR2(10), OUTPUT V ARCHAR2(50), PRICE NUMBER(3)); 读者表 READER ( READER_ID NUMBER(3), COMPANY V ARCHAR2(10), NAME V ARCHAR2(10), SEX V ARCHAR2(2), GRADE V ARCHAR2(10), ADDR V ARCHAR2(50)); 借阅表 BORROW ( READER_ID NUMBER(3),

BOOK_ID NUMBER(10), BORROW_DA TE DA TE); 插入数据: BOOK表: insert into book values(445501,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445502,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445503,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(332211,'TP5/10','计算机基础','李伟','高等教育出版社',18.00); insert into book values(112266,'TP3/12','FoxBASE','张三','电子工业出版社',23.60); insert into book values(665544,'TS7/21','高等数学','刘明','高等教育出版社',20.00); insert into book values(114455,'TR9/12','线性代数','孙业','北京大学出版社',20.80); insert into book values(113388,'TR7/90','大学英语','胡玲','清华大学出版社',12.50); insert into book values(446601,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446602,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446603,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(449901,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(449902,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(118801,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); insert into book values(118802,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); READER表: insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316'); insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224'); insert into reader values(116,'信息系','李明','男','副教授','1号楼318'); insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214'); insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216'); insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318'); insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506'); insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510'); insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512'); insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212'); BORROW表:

数据库原理和应用教程第4版习题与解析

习题参考答案 第1章习题参考答案 一、选择题 1. C 2. B 3. D 4. C 5. D 6. B 7. A 8. B 9. D 10. B 11. C 12. D 13. D 14. D 15. B 16. C 17. D 18. A 19. D 20. A 21. D 22. D 23. C 24. A 25. C 二、填空题 1. 数据库系统阶段 2. 关系 3. 物理独立性 4. 操作系统 5. 数据库管理系统(DBMS) 6. 一对多 7. 独立性 8. 完整性控制 9. 逻辑独立性 10. 关系模型 11. 概念结构(逻辑) 12. 树有向图二维表嵌套和递归 13. 宿主语言(或主语言) 14. 数据字典 15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构 16. 现实世界信息世界计算机世界 三、简答题 1、简述数据库管理技术发展的三个阶段。各阶段的特点是什么? 答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (1)、人工管理数据的特点: A、数据不保存。 B、系统没有专用的软件对数据进行管理。 C、数据不共

享。D、数据不具有独立性。 (2)、文件系统阶段的特点: A、数据以文件的形式长期保存。 B、由文件系统管理数据。 C、程序与数据之间有一定的独立性。 D、文件的形式已经多样化 E、数据具有一定的共享性 (3)、数据库系统管理阶段特点: A、数据结构化。 B、数据共享性高、冗余度底。 C、数据独立性高。 D、有统一的数据控制功能。 2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系 答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系。 答:数据库是指存储在计算机内、有组织的、可共享的数据集合。 数据库管理系统是软件系统的一个重要组成部分,它通过借助操作系统完成对硬件的访问,并对数据库的数据进行存取、维护和管理。 数据库系统是指计算机系统中引入数据库后的系统构成。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统几部分组成。 三者的联系是:数据库系统包括数据库和数据库管理系统。数据库系统主要通过数据库管理系统对数据库进行管理的。 4、数据库系统包括哪几个主要组成部分?各部分的功能是什么?画出整个数据库系统的层次结构图。 答:数据库系统包括:数据库、数据库用户、软件系统和硬件系统。 数据库主要是来保存数据的。 数据库用户是对数据库进行使用的人,主要对数据库进行存储、维护和检索等操作。 软件系统主要完成对数据库的资源管理、完成各种操作请求。 硬件系统主要完成数据库的一些物理上的操作,如物理存储、输入输出等。

实验五 存储过程和触发器的定义和使用3

实验五存储过程和触发器的定义和使用 一、实验目的 1、掌握局部变量、全局变量、流程控制语句的使用方法 2、了解存储过程的类型和作用,并掌握使用对象资源管理器和Transact-SQL语句创建 存储过程的方法及使用方法。 3、理解触发器的特点和作用,并掌握使用Transact-SQL语言创建触发器的方法 二、实验内容 1.在学生成绩库中中有如下各表: 学生表(Student) 学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147 020102方露露01981-1-15信息管理计算机88297147 020103俞奇军11980-2-20信息管理计算机88297151 020104胡国强11980-11-7信息管理计算机88297151 020105薛冰11980-7-29水利工程水利系88297152 020201秦盈飞01981-3-10电子商务经济系88297161 020202董含静01980-9-25电子商务经济系88297062 020203陈伟11980-8-7电子商务经济系88297171 020204陈新江11980-7-20房建水利系88297171 create database学生成绩数据库 create table Student ( 学号Char(6)not null, 姓名Char(8)not null, 性别Bit not null, 出生日期smalldatetime, 专业Char(10), 所在系Char(10), 联系电话Char(11)null ) 课程表(Course) 课程号课程名教师开课学期学时学分 101计算机原理陈红2453 102计算方法王颐3453 103操作系统徐格2604 104数据库原理及应用应对刚3755 105网络基础吴江江4453 106高等数学孙中文1906 107英语陈刚1906 108VB程序设计赵红韦3705

沈阳工业大学849 数据库原理及应用

2019年硕士研究生招生考试题签 (请考生将题答在答题册上,答在题签上无效) 科目名称:数据库原理及应用第1页共4页 精品文档,欢迎下载! 一、单项选择题(40分,每题2分) 1、数据库中存储的是0A.数据B,信息C,数据之间的联系D,数据以及数据之间的联系 2、数据的物理独立性是指应用程序独立于。A.外模式B,模式 C.内模式D.子模式 3、关系数据库的查询操作由三种基本运算组合而成,这三种基本运算不但葬A.投影 B.除法 C.连接 D.选择 4、不允许在关系中出现重复记录的约束是通过实现的。 A.主码 B.外码 C.索引 D.惟一索引58、部分匹配查询中有关通配符的正确的叙述是。A.代表多个字符 B.可以代表零个或多个字符C.不能与“%”一同使用 D.代表一个字符9、在关系双据库系统中,为了简化用户的查询操作,后又不增加数据的存储空间,常用的方法12、下列说法中正确的是 A,关系模式的规范化程度越高越好 B,若关系模式R 中只有两个属性,则R 至少属于3NF C,属于3NF 的关系模式中己完全消除了插入异常和删除异常 D,具有无损链接性的模式分解能保证不丢失原模式中的信息 13、数据库设计中,建立数据字典的时机是阶段。A,需求分析B,概念设计C.逻辑设计D.物理设计14、数据库物理设计不但聲 A.存储记录结构设计C.确定数据存放位置 B.存取方法设计D.关系规范化 是创建 A.索引 B.游标 C.视图10、数据库的是指数据的正确性和相容性。A 一荷枇R 安仝桦C 穽整桂D 并舄桂 11、 将数据库对象的操作权限授予用户,属于安全控制机制中的 D.另一个表D,审计

实验六存储过程设计

嘉应学院计算机学院 2012年 12月12日 一、实验目的 通过实验掌握SQL SERVER存储过程的基本设计方法。 二、实验原理 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合,它被编译并存储为一个单一的数据库对象,可用存储过程实现批处理。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 游标(Cursor)它使用户可逐行访问由数据库返回的结果集。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。基本语法: create procedure 存储过程名 (参数表 ) as t_sql语句的集合 t_sql语句除SQL语句外,还可包括声明变量,流控制语句及游标等。 (注意:t_sql语句在不同的数据库系统中,语法不同)

三、实验环境 操作系统:Windows Server 2003 、Windows 7 编译环境:SQL Server Enterprise Manager 数据库管理系统:Microsoft SQL Server 2005 四、实验步骤及内容 1. 了解T_SQL语法 (1)变量 A.局部变量 例如:declare @v_sno nvarchar(20), @v_grade float /* 声明了两个局部变量 */ B.全局变量 如:@@error, @@fetch_status C.表变量 声明表类型变量的语句将该变量初始化为一个具有指定结构的空表。 例如: declare @Mytab table (id int primary key, books varchar(15) ) insert @Mytab values(1,'9901') insert @Mytab values(2,'9902')

数据库原理及应用

数据库原理及应用 数据库技术简介 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。 第一章绪论 1.1 数据库系统概述 1.1.1 四个基本概念 数据(Data) 数据库(Database)数据库管理系统(DBMS) 数据库系统(DBS) 一、数据 数据(Data)的定义 数据是信息的具体表现形式 描述事物的符号记录 数据的表现形式——数字文字图形图像声音等 各类数据必须数字化后才能加工处理。 数据与其语义是不可分的 例如:93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机系2007级学生人数 例如:学生档案中的一条记录:(李明男1982 江苏计算机系2000) 二、数据库(续) 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。 三、数据库管理系统 什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。 DBMS的用途 组织和存储好大量的数据,并提供方便、高效地检索数据和维护数据的手段。 DBMS的主要功能: 数据定义功能 数据组织 存储和管理 数据操纵功能 数据库的事务管理和运行管理 数据库的建立和维护功能 其它功能 四、数据库系统 什么是数据库系统

数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统。 数据库系统的构成 数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员(DBA) 1.1.2 数据管理技术的产生和发展 数据管理:是指对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中心环节。 数据处理:是指对数据进行收集、组织、存储、加工、抽取和传播等一系列活动的总和。其目的是从大量的、原始数据中抽取、推导出对人们有价值的信息。 数据管理技术的发展动力:应用需求的推动、计算机软/硬件的发展 数据管理技术的发展过程 人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中) 数据库系统阶段(60年代末--现在) 一、人工管理 时期 40年代中--50年代中 产生的背景 应用需求科学计算 硬件水平纸带、卡片、磁带 软件水平没有操作系统 处理方式批处理 特点:数据不保存、数据由程序各自管理(逻辑结构、存储结构、存取方法、输入方式等) 数据不共享:一组数据只能对应一个程序 数据不具独立性:数据的结构发生变化后(物理或逻辑上),应用程序必须做相应的修改。 应用程序与数据的对应关系(人工管理阶段) .. 二、文件系统 时期

6实验六 存储过程

实验六存储过程 一、实验目的 (1)掌握T-SQL流控制语句。 (2)掌握创建存储过程的方法。 (3)掌握存储过程的执行方法。 (4)掌握存储过程的管理和维护。 二、实验内容 1、创建简单存储过程 (1)创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生的选课信息(含未选课同学的信息)。要求在创建存储过程前请判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。 if exists(select*from sysobjects where name='stu_pr'and type='P') begin drop procedure stu_pr print'已删除!' end else print'不存在,可创建!' create procedure stu_pr as select distinct*from Student s left join SC on s.Sno=SC.Sno left join Course c on https://www.wendangku.net/doc/8018165975.html,o=https://www.wendangku.net/doc/8018165975.html,o where Classno='051'

执行: exec stu_pr 2、创建带参数的存储过程 (1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄,选修课程名、成绩。系名和姓名在调用该存储过程时输入,其默认值分别为“%”与“林%”。执行该存储过程,用多种参数加以测试。 if exists(select*from sysobjects where name='stu_proc1'and type='P') begin drop procedure stu_proc1 print'已删除!' end else print'不存在,可创建!'

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

实验七存储过程及应用 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)

数据库原理与应用期末复习总结含试题及其答案

数据库原理综合习题答案 1.1名词解释 (1) DB:即数据库(Database),是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。 (2) DBMS:即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。 (3) DBS:即数据库系统(Database System),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。 (4) 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。 (5) 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。 (6) M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。 (7) 数据模型:模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。它可分为两种类型:概念数据模型和结构数据模型。 (6) 概念数据模型:是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。 (9) 结构数据模型:是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。 (10) 层次模型:用树型结构表示实体类型及实体间联系的数据模型。 (11) 网状模型:用有向图结构表示实体类型及实体间联系的数据模型。 (12) 关系模型:是目前最流行的数据库模型。其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。关系模型是由若干个关系模式组成的集合。 (13) 概念模式:是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。 (14) 外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。 (15) 内模式:是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。 (16) 模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。此映象一般在内模式中描述。 (17) 外模式/模式映象:这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。此映象都是在外模式中描述。 (18) 数据独立性:在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。 (19) 物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对模式的修改尽量不影响概念模式。

实验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为输出参数,让主程序能够接收计算结果。

数据库原理及应用教案(北京联合大学优秀教案)

北京联合大学优秀教案评选 参赛教案 申报单位北京联合大学 参赛教师XXX 课程名称数据库原理及应用 授课章节第3讲第3节 参赛类别理工类 授课对象本科生 课程性质专业必修 授课时间2学时 北京联合大学教务处

、课程简介 在先修课“离散数学”、“数据结构”、“VB程序设计”,为本课程提供数学、算法、程序设计基础、程序设计语言和 Windows 应用程序开发工具的基础上,本课程主要讲授两大部分内容:一为“数据库系统概论” ,二为“ Microsoft SQL Server数据库管理系统”。本课程为后续课程“网络编程课程设计”、“软件系统基础”、“信息系统开发实习”提供数据库的概念、方法和技术基础。 本课程为信息与计算科学专业专业基础必修课。要求学生了解数据库系统的基本概念、基本结构和关系模型的基本概念;掌握数据库查询和操作方法;掌握数据库保护的基本技术;掌握关系数据理论的基本概念和基本理论;掌握数据库设计的基本步骤和方法。掌握使用Microsoft SQL Server关系数据库管理系统管理数据的方法,并结合Visual Basic设计开发简单的数据库应用系统。 二、单元教学目标 通过本单元的教学,使学生初步掌握标准SQL的查询语句结构,掌握简单查询、连表查询和嵌套查询的方法,并在 SQL Server 环境下应用各类查询语句,完成实际查询任务。 1、知识层面 (1)掌握标准 SQL 的查询语句结构; (2)掌握简单查询,连表查询,嵌套查询的方法。 2、能力层面 (1)分析查询需求,选择应用合适的查询语句,解决实际查询问题; (2)在 SQL Server 环境下,实现各类查询,分析查询结果,分析查询执行错误的原因并找出和实践解决办法。 3、思维层面进一步训练逻辑思维能力。 三、单元教学内容 本单元主要介绍标准SQL及SQL Serve环境下SQL的数据查询功能(DQL)。 1、认识数据库查询;( 5分钟) 2、示例数据库的结构;(2分钟) 3、标准 SQL 的查询语句结构,包括: FROM、 WHERE 、 SELECT、 GROUP BY、HAVING 、 ORDER BY 子句;(5分钟) 4、简单查询,包括:浏览查询,投影查询,选取查询(带IN、BETWEEN 、LIKE、IS NULL运算符及一般比较运算符的查询),SELECT子句带表达式的查

数据库原理与应用(第四版)

数据库 一、选择题30’ 二、填空题20’涉及内容:C1,C2,C3,C7概念为主。其余章节少量涉及。 三、问答题20’(4*5’) 1.论述数据、数据库、数据库管理系统、数据库系统的概念; 数据:描述事物的符号记录。是数据库中存储的基本对象。 种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等 特点:数据与其语义是不可分的 数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。 基本特征: ?数据按一定的数据模型组织、描述和储存 ?可为各种用户共享 ?冗余度较小 ?数据独立性较高 ?易扩展 数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件,是基础软件, 是一个大型复杂的软件系统。 用途:科学地组织和存储数据、高效地获取和维护数据 数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 2.数据库系统的特点 ?数据结构化 整体结构化 不再仅仅针对某一个应用,而是面向全组织 不仅数据内部结构化,整体是结构化的,数据之间具有联系 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释 数据可以变长 数据的最小存取单位是数据项 ?数据的共享性高,冗余度低,易扩充 数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。 数据共享的好处 减少数据冗余,节约存储空间 避免数据之间的不相容性与不一致性 使系统易于扩充 ?数据独立性高 物理独立性 指用户应用程序与存储在磁盘上的数据库中数据是相互独立的。 当数据的物理存储改变了,应用程序不用改变。

实验4创建和使用存储过程

实验4创建和使用存储过程 4.1 实验目的 (1)理解存储过程的功能和特点。 (2)学会使用Transact-SQL编写存储过程的方法。 (3)学会如何使用SSMS创建存储过程。 (4)理解可以使用存储过程来完成对数据库的操作。 4.2 实验内容 (1)创建带输入参数的存储过程。 (2)执行所创建的存储过程。 (3)删除所有新创建的存储过程。 4.3.1 创建带输入参数的存储过程 在查询命令窗口中输入创建存储过程的CREATE PROCEDURE语句。 这里创建一个带输入参数的存储过程Stu_Proc1,其中的输入参数用于接收课程号,默认值为c01,然后在SC表中查询该课成绩小于70的学生学号,接着在Student表中查找这些学生的基本信息,包括学号、姓名、性别和系信息, 4.3.2 执行所创建的存储过程 在查询分析器里运行存储过程,输出运行结果。 EXECUTE Stu_Proc1 'c01'

CREATE PROCEDURE Stu_Proc2 @dept char(20) AS select student.sno, sname, https://www.wendangku.net/doc/8018165975.html,o.credit from student join sc on student.sno=sc.sno join course on https://www.wendangku.net/doc/8018165975.html,o=https://www.wendangku.net/doc/8018165975.html,o where student.sdept=@dept 4.3.3 删除新建的存储过程 在查询命令的窗口中输入DROP PROCEDURE语句和所有新创建的存储过程名。DROP PROCEDURE Stu_Proc1

4.3.4 查询学生的学号、姓名、修的课程号、课程名、课程学分,将学生所在系作为输入参数,执行此存储过程,并分别指定一些不同的输入参数值。 4.3.5 查询指定系的男生人数,其中系为输入参数,人数用输出参数返回。

大学数据库原理及应用核心概念

数据库系统概论复习资料 第一章 一、名词解释 1. Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。 2. Database:数据库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。 3. DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学 地组织、存储和管理数据、高效地获取和维护数据。 4. DBS:数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。 5. 数据模型:是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的模拟,是数据库系统的核心和基础;其组成元素有数据结构、数据操作和完整性约束。 6. 概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。 7. 逻辑模型:是按计算机系统的观点对数据建模,用于DBMS实现。 8. 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。 9. 实体和属性:客观存在并可相互区别的事物称为实体。实体所具有的某一特性称为属性。 10. E-R图:即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设 计的主要工具。 11. 关系模式:从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规范化的二维表。 12. 型/值:型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例。 13. 数据库模式:是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等) 和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。 14. 数据库的三级系统结构:外模式、模式和内模式。 15. 数据库内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。 16. 数据库外模式:又称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。通常是模式的子集。一个数据库可有多个外模式。 17. 数据库的二级映像:外模式/模式映像、模式/内模式映像。 二、填空题 1. 数据库系统由数据库、数据库管理系统、应用系统和数据库管理员构成。 2. 数据管理是指对数据进行分类、组织、编码、存储、检索和维护等活动。 3. 数据管理技术的发展经历了人工管理、文件系统、数据库系统3个阶段。 4. 数据模型分为概念模型、逻辑模型和物理模型3个方面。 5. 数据模型的组成要素是:数据结构、数据操作、完整性约束条件。 6. 6. 实体型之间的联系分为一对一、一对多和多对多三种类型。

数据库技术与应用实验八

实验8 存储过程和触发器 1.实验目的 (1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。 (2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。 (3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。 (4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE 删除存储过程的方法。 (5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER 创建触发器的方法和步骤。 (6)掌握引发触发器的方法。 (7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。2.实验内容及步骤 (1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。 CREATE PROCEDURE letters_print AS DECLARE @count int SET @count=0 WHILE @count<26 BEGIN PRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END 单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。 使用EXECUTE命令执行letters_print存储过程。 (2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。 CREATE PROCEDURE stu_info @name varchar(40) AS SELECT a.学号,姓名,课程编号,分数 FROM student_info a INNER JOIN grade ta ON a.学号= ta.学号 WHERE 姓名= @name 使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。 如果存储过程stu_info执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义? (3)使用studentsdb数据库中的student_info表、curriculum表、grade表。 ①创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。

相关文档
相关文档 最新文档