几道数据库的概念性面试题


Posted in 面试题 onMay 30, 2014
这是几道数据库的概念性面试题,有的面试题在之前收录的面试题里面已经出现过了,不过还是要拿来强化一下概念:
1、触发器的作用?
答:触发器是一种特殊的存储过程,它主要是通过事件来触发而被执行的。它的作用是可以强化约束,维护数据的完整性和一致性,也可以可以跟踪数据库内的操作从而不允许未经许可的更新和变化。也可以联级运算。如某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2、什么是存储过程?如何来调用存储过程?
答:存储过程是一个预编译的SQL语句,他的优点是允许模块化的设计,也就是说只需创建一次,在该程序中就可以调用多次。例如某次操作需要执行多次SQL,就可以把这个SQL做一个存储过程,因为存储过程是预编译的,所以使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。

3、什么是内存泄漏?
答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4、什么是事务?
答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。事务有四个特性,分别是:原子性,一致性,隔离性和持久性。

5、索引的作用?和它的优点缺点是什么?
答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。索引很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

6、什么是锁?
答:锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

7、维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?
答:尽可能使用约束,如check、主键、外键、非空字段等来约束。这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。
以上的答案不是很严谨,但是有利于理解,大家可以参考其他数据库的资料进行记忆。

Tags in this post...

面试题 相关文章推荐
介绍下Java的输入输出流
Jan 22 面试题
华为慧通面试题
Sep 11 面试题
.NET初级开发工程师面试题(包括Javascript)
Aug 22 面试题
linux面试题参考答案(5)
Nov 05 面试题
介绍一下gcc特性
Jan 20 面试题
Linux常见面试题
Mar 18 面试题
Linux上比较文件的命令都有哪些
Feb 24 面试题
mysql有关权限的表都有哪几个
Apr 22 面试题
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
May 29 面试题
Java文件和目录(IO)操作
Aug 26 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
阿里巴巴Oracle DBA笔试题答案-备份恢复类
Nov 20 #面试题
Oracle性能调优原则
May 03 #面试题
ORACLE十问
Apr 20 #面试题
ORACLE第二个十问
Dec 14 #面试题
一道写SQL的面试题和答案
Nov 19 #面试题
一个SQL面试题
Aug 21 #面试题
存储过程和sql语句的优缺点
Jul 02 #面试题
You might like
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
应届大学生简历中的自我评价
2014/01/15 职场文书
我的老师教学反思
2014/05/01 职场文书
出租房屋协议书
2014/09/14 职场文书
基层工作经验证明样本
2014/11/16 职场文书
六一活动主持词
2015/06/30 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
初中政治教学反思
2016/02/23 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
关于感恩的作文
2019/08/26 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技