数据库是java编程开发程序员在学习后端开发技术的时候需要重点掌握的编程技术知识之一,而今天我们就通过案例分析来了解一下,数据库编程都有哪些基础知识。
1.什么是存储过程?它有什么优点?
答:存储过程是一组予编译的SQL语句,它的优点有:
允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
2.oracle的存储过程和函数有什么区别?
Oracle中的函数与存储过程的区别:
A:函数必须有返回值,而过程没有.
B:函数可以单独执行.而过程必须通过execute执行.
C:函数可以嵌入到SQL语句中执行.而过程不行.
其实我们可以将比较复杂的查询写成函数.然后到存储过程中去调用这些函数.
Oracle中的函数与存储过程的特点:
A.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
B.对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
C.存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
3.什么是事务?
答:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。
原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性:事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如B树索引或双向链表)都必须是正确的。
隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
4.什么是索引?它有什么优点?
答:索引象书的目录类似,索引使数据库程序无需扫描整个表,就可以在其中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值的行所存储的位置,索引可以是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提高数据库性能。
5.什么是触发器,它有哪些优点?说说你遇到过的常见应用?
答:触发器是一种特殊类型的存储过程,触发器主要通过事件触发而被执行的,触发器的优点:
①.强化约束,触发器能够提供比CHECK约束。
②.跟踪变化,触发器可以跟踪数据库内的操作,从而不允许未经允许许可的更新和变化。
③.联级运算,比如某个表上的触发器中包含对另一个表的数据操作,而该操作又导致该表上的触发器被触发。
6.触发器分为事前触发和事后触发的区别。语句级触发和行级触发有何区别?
事前触发器运行于触发事件发生之前,通常可以获取事件之前和新的字段值
事后触发器运行于触发事件发生之后。
语句级触发器可以在语句执行前或后执行,
行级触发在触发器所影响的每一行触发一次
7.视图是什么?游标是什么?
答:视图是一种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相比多表查询更方便),限制数据检索(比如需要隐藏某些行或列),维护更方便。
游标对查询出来的结果集作为一个单元来有效的处理,游标可以定位在结果集的特定行、从结果集的当前位置检索一行或多行、可以对结果集中当前位置进行修改。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。