1.触发器的作用?
答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2。什么是存储过程?用什么来调用?
答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
3。索引的作用?和它的优点缺点是什么?
答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
3。什么是内存泄漏?
答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4。维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?
答:我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。
5。什么是事务?什么是锁?
答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
锁:在DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。
6。什么叫视图?游标是什么?
答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
7。为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄
C(C#,CN)C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’)
(2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?
答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?
答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)
(4)查询选修了课程的学员人数
答:select 学员人数=count(distinct s#) from sc
(5) 查询选修课程超过5门的学员学号和所属单位?
答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)

转载于:https://www.cnblogs.com/t0404/p/10290997.html

数据库面试中常用的10个问题相关推荐

  1. 面试中常用的英语对话

    Q: Can you sell yourself in two minutes? Go for it. (你能在两分钟內自我推荐吗?大胆试试吧!) A: With my qualifications ...

  2. 代码面试最常用的10大算法

    摘要:面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序.二叉树遍历等等. 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在 ...

  3. java bitmap jar_Java面试中常用的BitMap代码

    引言 阿里内推面试的时候被考了一道编程题:10亿个范围为1~2048的整数,将其去重并计算数字数目. 我看到这个题目就想起来了<编程珠玑>第一章讲的叫做BitMap的数据结构,但是我并没有 ...

  4. 网络安全渗透中常用的10种渗透测试方式

    1.信息收集 信息收集剖析这是所有侵略恶意攻击前提条件/原曲/基本.根据对互联网信息收集剖析,能够随之.针对性地制订仿真模拟黑客攻击恶意攻击方案,以提升侵略成功概率.减少曝露或被发现了的机率.信息收集 ...

  5. 【基础不牢地动山摇】一遍记住 Java 面试中常用的八种排序算法与代码实现!...

    作者:KaelQ www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个 ...

  6. 移动网站开发中常用的10段JavaScript代码

    在开发移动网站过程中,有一些Javascript代码会经常用到.以下是10段常用的JavaScript代码.需要注意的是某几段代码需要jQuery mobile framework支持. 1.如果网页 ...

  7. es6添加删除class_ES6中常用的10个新特性讲解

    ECMAScript 6(ES6) 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ...

  8. CSS中常用的10个文本样式属性——让文本设置再无难点

    一个页面中,文本样式,是必不可少的,当然css也给我们准备了很多很多很多的文本样式,以下列举了10个常用的文本样式属性及常用的属性值,掌握了,也基本满足使用了 1: text-transform 可以 ...

  9. 关于DB2数据库工作中常用的语法总结

    一.=========================增删改查表方面============================= 1.创建表:CREATE  TABLE  <TABLE_NAME& ...

最新文章

  1. 程序员在地铁写代码遭疯狂吐槽!网友:装什么装
  2. selenium+python自动化84-chrome手机wap模式
  3. C Primer Plus 第10章 数组和指针 10.5 指针操作
  4. 2016.11.17随笔
  5. 什么是进程什么是线程,他们的区别是什么
  6. GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合
  7. Android开源框架——图片加载与缓存库 Picasso
  8. JavaScript数据结构和算法
  9. 虚拟机扩容后mysql无法使用_VMWARE 扩容踩坑记
  10. 《纽约时报》:互联网新一轮品牌争夺战到来
  11. 黑色炫酷粒子动态html网站源码
  12. 第四届HTML5峰会 - 上海站
  13. QTcreator的一些设置
  14. postgresql 中int4rang类型项目应用
  15. R12-表详解-总帐
  16. hp服务器开机进系统黑屏,开机黑屏卡住?有办法了!
  17. 有关微博营销的社交营销打法
  18. 深交所“区块链50指数”,成分股的成色几何?
  19. 计算机桌面保护时间,请教一个屏幕保护的问题,域内的计算机可以设置不同时间的屏幕保护策略吗?...
  20. win11 即将来临 —— 你真的会管理你的Windows 10吗?

热门文章

  1. 使用NPOI库导入导出EXCEL
  2. .propertie文件注释
  3. zoj 3811 untrusted patrol
  4. json php 数组读写_PHP如何将数据写入JSON?
  5. SAS的数组array介绍
  6. python 读取geotiff_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...
  7. python27怎么使用_pygtk:glade的使用(针对python27的第一个例子)
  8. C语言用循环写出新年祝福语图案,非常漂亮的新年祝福!C语言实现漂亮的烟花效果...
  9. java 支付重复问题_Airbnb支付系统如何在分布式环境下避免重复打款
  10. 阿里云ECS服务器连接不上3306端口?