第8章 存储过程的应用
- 格式:ppt
- 大小:662.00 KB
- 文档页数:26
2021年国开电大《数据库应用技术》形考任务二答案形考任务2第6章数据库其他对象管理关于视图的说法,正确的是()。
正确答案是:对视图的操作最终都转换为对基本表的操作在视图的定义语句中,只能包含()。
正确答案是:数据查询语句视图对应数据库三级模式中的()。
正确答案是:外模式关于视图的说法,正确的是()。
正确答案是:视图提供了数据的逻辑独立性创建视图的主要作用是()。
正确答案是:提供用户视角的数据设有学生表(学号,姓名,所在系)。
建立统计每个系的学生人数的视图语句中,正确的是()。
正确答案是:CREATE VIEW v1(系名,人数) AS SELECT 所在系, COUNT(*) FROM 学生表GROUP BY 所在系关于索引的说法,正确的是()。
正确答案是:在一个表上可以建立多个唯一的非聚集索引创建存储过程的用处主要是()。
正确答案是:提高数据操作效率关于存储过程的说法,正确的是()。
正确答案是:在定义存储过程的代码中可以包含数据的增、删、改、查语句修改存储过程P1的语句,正确的是()。
正确答案是:ALTER PROC P1删除存储过程P1的语句,正确的是()。
正确答案是:DROP PROC P1触发器的主要作用是()。
正确答案是:实现复杂的约束现有学生表和修课表,其结构为:学生表(学号,姓名,入学日期,毕业日期)修课表(学号,课程号,考试日期,成绩)现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。
正确的实现方法是()。
正确答案是:在修课表上建立一个插入和更新操作的触发器设在SC(Sno,Cno,Grade)表上定义了触发器:CREATETRIGGERtri1ONSCAFTERINSERT…当执行语句:INSERTINTOSCVALUES('s001','c01',90)会引发该触发器执行。
关于触发器执行时表中数据的说法,正确的是()。
正确答案是:SC表和INSERTED表中均包含新插入的数据当执行由UPDATE语句引发的触发器时,关于该触发器临时工作表的说法,正确的是()。
MySQL变量、函数、存储过程的使⽤MySQL语句:1.2.3.4.⼀、变量在mysql⽂档中,mysql变量可分为两⼤类,即系统变量和⽤户变量。
但根据实际应⽤⼜被细化为四种类型,即、、和。
1、局部变量mysql局部变量,只能⽤在begin/end语句块中,⽐如存储过程中的begin/end语句块。
其作⽤域仅限于该语句块。
-- declare语句专门⽤于定义局部变量,可以使⽤default来说明默认值-- DECLARE 变量名 [,variable_name...] 数据类型 [DEFAULT value];declare age int default0;-- 局部变量的赋值⽅式⼀-- SET 变量名 = 表达式值 [,variable_name = expression ...]set age=18;-- 局部变量的赋值⽅式⼆select StuAgeinto agefrom demo.studentwhere StuNo='A001';2、⽤户变量mysql⽤户变量,mysql中⽤户变量不⽤提前申明,在⽤的时候直接⽤“@变量名”使⽤就可以了。
其作⽤域为当前连接。
1-- 第⼀种⽤法,使⽤set时可以⽤“=”或“:=”两种赋值符号赋值2set@age=19;34set@age:=20;56-- 第⼆种⽤法,使⽤select时必须⽤“:=”赋值符号赋值7select@age:=22;89select@age:=StuAge10from demo.student11where StuNo='A001';3、会话变量mysql会话变量,服务器为每个连接的客户端维护⼀系列会话变量。
其作⽤域仅限于当前连接,即每个连接中的会话变量是独⽴的。
1-- 显⽰所有的会话变量2 show session variables;34-- 设置会话变量的值的三种⽅式5set session auto_increment_increment=1;6set@@session.auto_increment_increment=2;7set auto_increment_increment=3; -- 当省略session关键字时,默认缺省为session,即设置会话变量的值89-- 查询会话变量的值的三种⽅式10select@@auto_increment_increment;11select@@session.auto_increment_increment;12 show session variables like'%auto_increment_increment%'; -- session关键字可省略1314-- 关键字session也可⽤关键字local替代15set@@local.auto_increment_increment=1;16select@@local.auto_increment_increment;4、全局变量mysql全局变量,全局变量影响服务器整体操作,当服务启动时,它将所有全局变量初始化为默认值。
第6章习题与参考答案一.单项选择题1.下列关于视图的说法,正确的是(B)。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含(A)。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的(A)。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是(B)。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是(D)。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表(学号,姓名,所在系)。
下列建立统计每个系的学生人数的视图语句中,正确的是(D)。
A.CREATE VIEW v1ASSELECT 所在系, COUNT(*) FROM 学生表GROUP BY 所在系B.CREATE VIEW v1ASSELECT 所在系, SUM(*) FROM 学生表GROUP BY 所在系C.CREATE VIEW v1(系名,人数) ASSELECT 所在系, SUM(*) FROM 学生表GROUP BY 所在系D.CREATE VIEW v1(系名,人数) ASSELECT 所在系, COUNT(*) FROM 学生表GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设T表中已在C1列上建立了主键约束,且该表只建有该约束。
为提高该查询的执行效率,下列方法中可行的是(C)。
A.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引B.在C1和C2列上分别建立一个非聚集索引C.在C2列上建立一个非聚集索引D.在C1和C2列上建立一个组合的非聚集索引8.下列关于索引的说法,正确的是(C)。
第6章习题与参考答案一.单项选择题1.下列关于视图的说法,正确的是〔B。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含〔A。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的〔A。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是〔B。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是〔D。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表〔学号,姓名,所在系。
下列建立统计每个系的学生人数的视图语句中,正确的是〔D。
A.CREATE VIEW v1ASSELECT 所在系, COUNT<*> FROM 学生表GROUP BY 所在系B.CREATE VIEW v1ASSELECT 所在系, SUM<*> FROM 学生表GROUP BY 所在系C.CREATE VIEW v1<系名,人数> ASSELECT 所在系, SUM<*> FROM 学生表GROUP BY 所在系D.CREATE VIEW v1<系名,人数> ASSELECT 所在系, COUNT<*> FROM 学生表GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设T表中已在C1列上建立了主键约束,且该表只建有该约束。
为提高该查询的执行效率,下列方法中可行的是〔C。
A.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引B.在C1和C2列上分别建立一个非聚集索引C.在C2列上建立一个非聚集索引D.在C1和C2列上建立一个组合的非聚集索引8.下列关于索引的说法,正确的是〔C。
第1章数据库概述1.填空题(1)Oracle(2)U 1U 2U 4U(3)体积小、安装成本低、速度快、源码开放(4)Memcached、Redis、mongoDB(5)大、中、小型网站中2.选择题(1)A(2)B(3)A(4)A(5)D3.简答题(1)常见的关系型数据库有MySQL、Oracle、SQL Server和Access数据库。
MySQL数据库主要应用在广泛地应用到互联网上的大、中、小型网站中;Oracle数据库主要应用在传统大企业、政府机构、金融机构、证券机构等;SQL Server数据库主要应用在部分电商和使用Windows 服务器平台的企业;Access数据库早期应用于小型程序系统ASP + Access、系统留言板、校友录等。
(2)关系型数据库按照结构化的方法存储数据,具备纵向扩展能力,采用结构化查询语言,强调ACID规则,强调数据的强一致性,可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以回滚事务。
非关系型数据库不需要固定的表结构,一般情况下也不存在对数据的连续操作。
不同点:关系型数据库使用表结构,非关系型的数据库格式灵活。
关系型数据库支持SQL语言,支持事务,非关系型数据库不提供SQL语言,无事务处理。
相对于关系型数据库,非关系型数据库在大数据存取上具备无法比拟的性能优势。
(3)应该注意MySQL的版本和开发人员使用的版本。
第2章环境的安装与基本配置1.填空题(1)Ubuntu CentOS Red Hat(2)RPM包二进制包源码包(3)仅主机模式NAT模式桥接模式(4)数据库语言(5)Mysqladmin、mysqldump等命令2.选择题(1)A(2)B(3)B(4)D(5)D3.简答题(1)在企业中应该使用源码编译方式安装MySQL,使用源码安装在编译安装过程可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。
(2)VMware虚拟平台提供3种网络模式。
数据库应用技术阶段作业第一阶段一、单项选择题(共20道小题,共100.0分)1.GRANT语句属于SQL的()语言。
A.数据定义语言(DDL)B.数据操作语言(DML)C.数据控制语言(DCL)知识点:第1章数据库与MySQL试题分值:5.0学生答案:[C;]得分:提示:[5]2.CREATE语句属于SQL的()语言。
A.数据定义语言(DDL)B.数据操作语言(DML)C.数据控制语言(DCL)知识点:第1章数据库与MySQL试题分值:5.0学生答案:[A;]得分:提示:[5]3.INSERT(插入)语句属于SQL的()语言。
A.数据定义语言(DDL)B.数据操作语言(DML)C.数据控制语言(DCL)知识点:第1章数据库与MySQL试题分值:5.0学生答案:[B;]得分:提示:[5]4.SQL是高级的()编程语言。
A.非过程化B.过程化知识点:第1章数据库与MySQL试题分值:5.0学生答案:[A;]得分:提示:[5]5.“开放源码=什么都允许”,这种说法对吗?A.正确B.错误知识点:第1章数据库与MySQL试题分值:5.0学生答案:[B;]得分:提示:[5]6.()数据库保证对任意数据唯一的连接路径,能够以简洁的代码实现数据的读取。
A.网络型B.阶层型C.关系型D.面向对象型知识点:第1章数据库与MySQL试题分值:5.0学生答案:[B;]得分:提示:[5]7.()是终端用户与DBMS间的窗口。
A.数据库B.数据C.应用程序D.操作系统知识点:第1章数据库与MySQL试题分值:5.0学生答案:[C;]得分:提示:[5]8.CREATETABLE命令的选项很多,()用于禁止设置重复的值。
A.NULLB.NOTNULLC.UNIQUED.AUTO_INCREMENT知识点:第3章启动MySQL监视器(Monitor)试题分值:5.0学生答案:[C;]得分:提示:[5]9.修改MySQL用户root的密码的指令是()。
存储过程及应用存储过程是一组预定义的数据库操作集合,它被存储在数据库中,可以被多处调用和执行。
存储过程可以将多个SQL语句和业务逻辑组合在一个单一的单元中,从而提高数据库的性能和可维护性。
存储过程的应用范围非常广泛,以下是一些常见的应用场景:1. 数据库事务处理:存储过程可以用于处理数据库事务,将多个SQL操作打包在一起,保证了数据的一致性和完整性。
通过使用事务和存储过程,可以在多个数据库操作之间建立一致的执行顺序,并能够在出现错误时回滚到事务的起始状态。
2. 数据库日志记录和审计:存储过程可以用于记录和审计数据库操作,例如记录用户登录、数据修改、数据删除等操作,并可以定义相应的触发器,触发存储过程进行日志记录和审计。
3. 数据有效性验证:存储过程可以用于验证输入数据的有效性。
例如,可以编写存储过程来验证用户输入的用户名和密码是否正确,或者验证输入的数据是否符合特定的格式要求。
4. 数据转换和计算:存储过程可以用于进行复杂的数据转换和计算。
例如,可以编写存储过程来计算销售额、平均值、总和等聚合函数,或者进行数据格式转换、数据清洗等操作。
5. 复杂查询的封装和重用:存储过程可以用于封装复杂的查询逻辑,并可以在多个地方重用这些查询。
例如,可以编写存储过程来获取用户的购买记录、浏览记录等,然后在多个业务场景中重用这些查询逻辑。
6. 数据安全性控制:存储过程可以用于实现数据安全性控制。
例如,可以编写存储过程来限制用户对某些敏感数据的访问权限,只有经过认证的用户才能够执行这些存储过程。
7. 批量操作的优化:存储过程可以用于批量操作的优化。
例如,可以编写存储过程来处理大量的数据插入、更新和删除操作,减少与数据库的通信次数,提高数据操作的效率。
8. 数据库备份和还原:存储过程可以用于数据库的备份和还原操作。
例如,可以编写存储过程来执行数据库的全量备份、增量备份和还原操作,以保证数据的安全性和可恢复性。
总之,存储过程是数据库管理和开发中非常重要的工具,它可以提高数据库的性能、可维护性和安全性,适用于各种不同的业务场景和需求。
《数据库原理与应用》课程教学大纲一、课程基本信息(一)课程代码:(二)课程中文名称:数据库原理与应用(三)课程英文名称:Principle and Application of Database(四)课程性质:专业基础课程(五)适用专业:计算机科学与技术、软件工程、大数据与人工智能(六)开课单位:(七)教学时间安排:第 3学期(八)先修课程:计算机基础、高级语言程序设计(九)后续课程:网络程序开发、大数据技术原理及应用(十)学时、学分:32学时、2学分二、课程目标《数据库原理与应用》是计算机类各专业的必修课,是一门重要的专业基础课。
原理部分以数据库技术的实际应用为目标,重点讲述数据库的基础知识、基本原理和基本技术;应用部分以数据库应用开发为主,介绍数据库应用系统的设计方法、步骤和范例。
通过本课程学习,使学生在掌握数据库系统基本概念、原理的基础上,能熟练使用SQL语言在某一个具体的数据库管理系统上进行应用操作;掌握数据库原理、方法及步骤,具有数据库设计以及应用数据库管理系统的基本能力。
达成支撑专业学习成果相应的指标点。
课程目标对学生能力要求如下:课程目标1. 逐步掌握科学的学习方法,阅读并理解数据库相关教材、参考书和科技文献,不断地扩展知识面,增强独立思考的能力,更新知识结构。
课程目标2. 掌握关系代数语言的使用;能够熟练使用SQL语句进行数据操纵和数据定义。
课程目标3. 了解关系模型的基本概念;掌握关系数据库规范化理论,能够利用分解算法将关系模式进行合理的分解;掌握数据库设计方法和数据库系统维护的相关概念和应用。
课程目标4. 能够在MySQL平台环境和开发工具下使用SQL语句进行数据操纵和数据定义。
课程目标5. 具备良好的沟通、表达和团队协作能力。
三、教学内容与课程目标的关系第1章数据库系统的基本原理1.章节学时:1学时2.教学内容:(1)数据库系统概述(数据库系统概念;数据管理技术的产生和发展;数据库系统组成)。