C/C++笔试忍法帖03——数据库篇

1.存储过程是什么?有什么用?有什么优点?

存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

存储过程用于实现频繁使用的查询、业务规则、被其他过程使用的公共例行程序。

存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

2.一般数据库若出现日志满了,会出现什么情况,是否还能使用?

答:只能执行查询等读操作,不能执行更改,备份等写操作,原因是任何写操作都要记录日志。也就是说基本上处于不能使用的状态。

3.SQL Server是否支持行级锁,有什么好处?

答:支持,设立封锁机制主要是为了对并发操作进行控制,对干扰进行封锁,保证数据的一致性和准确性,行级封锁确保在用户取得被更新的行到该行进行更新这段时间内不被其它用户所修改。因而行级锁即可保证数据的一致性又能提高数据操作的并发性。

4.如果数据库满了会出现什么情况,是否还能使用?

答:见2

5.对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现?

答:将操作多个表的操作放入到事务中进行处理

6.触发器怎么工作的?

答:触发器主要是通过事件进行触发而被执行的,当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,数据库就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。

C/C++笔试忍法帖03——数据库篇

时间: 2024-12-18 20:11:58

C/C++笔试忍法帖03——数据库篇的相关文章

C/C++笔试忍法帖01——系统篇

1.进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销. 2.如果只想让程序有一个实例运行,不能运行两个.

C/C++笔试忍法帖02——网络篇

1.网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别 1,进程:子进程是父进程的复制品.子进程获得父进程数据空间.堆和栈的复制品. 2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列. 区别:两者都可以提高程序的并发度,提高程序运行效率和响应时间.线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护:而进程正相反.同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移. 2.描述三

C/C++笔试忍法帖00——开始索引篇

即将出去找个C++的实习,网上随便一搜C++笔试题,网友们整理的一套套的笔试题目,看了大有收获,原来自己还差的远呢,即便是学习过的,也不一定能回答的出来.所以看这些题目,不仅可以学到新的东西,可以起到复习基础的作用. 为此,绿整理并分类了自己已经看过一遍的C++相关的笔试题,分类成如下: 1.系统篇(涉及进程,线程等问题等) 2.网络篇(涉及各种网络协议,基础概念等) 3.数据库篇(设计数据库的概念的解释等) 4.C/C++语法特性篇(涉及堆栈,多态,内存分配,编译器特性,注意事项,技巧编程,容

C/C++笔试忍法帖04——C/C++语法特性篇

1.Heap与stack的差别 Heap是堆,stack是栈. Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放. Stack空间有限,Heap是很大的自由存储区 C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符. 程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行. 2.In C++, what does "explicit" mean? what does "protected&

C/C++笔试忍法帖05——数据结构篇

1.写出下列算法的时间复杂度. (1)冒泡排序: O(n^2) (2)选择排序: 直接选择排序是O(n^2) (3)插入排序:直接插入排序是 O(n^2) (4)快速排序: O(nlog2 n) (5)堆排序:   O(nlog2 n) (6)归并排序: O(nlog2 n) 2.编程,请实现一个c语言中类似atoi的函数功能(输入可能包含非数字和空格) #include <stdio.h> int isspace(int x) { if ((x == 0)||(x == '\t') || (

iOS开发数据库篇—FMDB数据库队列(下)

iOS开发数据库篇—FMDB数据库队列(下) 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "Y

【转】BAT及各大互联网公司2014前端笔试面试题:JavaScript篇

原文转自:http://blog.jobbole.com/78738/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确,如有错误或有更好的解法,还请斧正. 前面几题是会很基础,越下越有深度. 附上第二篇:BAT及各大互联网公司2014前端笔试面试题–Html,Css篇 前面几题是会很基础,越下越有深度. 初级Javascript: 1.Jav

iOS开发数据库篇—SQLite的应用

iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面中放四个按钮(分别是,增加.删除.修改.查询). 1.sqlite3_open(<#const char *filename#>, <#sqlite3 **ppDb#>)函数的一些说明: (1)作用:把一个文件名称传递给他,它会自动检测这个文件是

iOS开发数据库篇—FMDB简单介绍

iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDa