1. 事务的四个属性

ACID。即原子性(atomicity)、一致性(consistency )、隔离性(isolation)、持久性( durability)。

原子性:表示这事务要么做,要么不做。

一致性:与原子性关系紧密,事务从提交之前由一个一致性状态到另一个一致性状态。

隔离性:事务之间不能互相干扰。

持久性:事务提交后对数据库中华的数据影响是永远的。

2.什么是存储过程,与函数有什么区别?

储存过程是一组编译的SQL语句。在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定的存储过程的名字来调用执行。

与函数的区别:

(1)函数只能返回一个值或表的对象。存储过程可以返回多个参数。

(2)函数可以在SQL语句中使用,可以在select中使用。但是存储过程不行。

(3)存储过程实现的功能较复杂,执行速度会更快。函数实现的功能针对性较强。

3.什么是触发器

触发器是一个特殊的存储过程,存储过程是我们调用的时候发生,而触发器是在某个事件触发的时候,自动执行。根据SQL语句的不同,触发器可分为两类:DML(insert,update,delete)触发器和DLL(create,alter,drop)触发器。

触发器的主要作用表现在以下几个方面:
   (1)增加安全性。
   (2)利用触发器记录所进行的修改以及相关信息,跟踪用户对数据库的操作,实现审计。
   (3)维护那些通过创建表时的声明约束不可能实现的复杂的完整性约束以及对数据库中特定事件进行监控与响应。
   (4)实现复杂的非标准的数据库相关完整性规则、同步实时地复制表中的数据。
   (5)触发器是自动的,它们在对表的数据做了任何修改之后就会被激活。例如,可以自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。以某企业财务管理为例,如果企业的资金链出现短缺,并且达到某种程度时,则发送警告信息。

4.数据库的主键、超键、侯选建

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键

候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
看下面的案列
学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学
我们先看超键。这里{学号}可以作为超键,{名字}不可以作为超键。{学号,姓名}可以作为超键。注意可以是一个属性集。
再来看侯选建,首先它肯定是超键,那么{学号}满足,且没有多余的属性。再看{学号,姓名}这里姓名是个多余的,因为学号可以标识元组了,所以{学号,姓名}不是一个侯选建。
最后看主键。因为侯选建不唯一,主键只要选出一个侯选建,将器当成主键即可。

5.三个范式

第一范式:确保每列的原子性。如一个属性是地址,地址还可以细分为国家,省县,即不满足原子性。
第二范式:首先要满足第一范式的基础上,还要确保每列与主键是相关的。如(订单编号,产品编号,订购日期)这里的产品编号并没有和订单编号是相关的,所以不满足第二范式。
第三范式:在满足第二范式的基础上,还有让每列除了主键都是没有关系的。如(订单编号,订购日期,顾客编号,顾客姓名)虽然每列都与主键订单编号是相关的,但是你会发现顾客编号和顾客姓名是有联系的,即不满足第三范式。

6.什么是索引

索引是一种提高数据库查询速度的机制,它是一个在数据库的表或视图上按照某个关键字段的值,升序或降序排序创建的对象。你可以理解为索引是一种数据结构,按某个关键字建立一个B树,这样按这个关键字查询的时候会很快。但是相应的存储空间的开销大了,要拿出一部分空间来存储这个B树,并且数据在插入和修改的时候所需要的时间也比较多。

7.什么是游标

在数据库中,游标提供了一种对从表中检索出的数据进行操作的灵活手段。它实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
    游标总是与一条SQL选择语句相关联,因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。
    游标允许应用程序对查询语句select返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。它还提供对基于游标位置而对表中数据进行删除或更新的能力。而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。
    游标的优点有以下两个方面的内容:
(1)在使用游标的表中,对行提供删除和更新的能力。
(2)游标将面向集合的数据库管理系统和面向行的程序设计连接了起来。

8.如果数据库日志满了会出现什么情况?

日志文件(Log File)记录所装对数据库数据的修改,主要是保户数据库以防止故障,以及复数据时使恢复用。其特点如下:
   (1)每一个数据库至少包含两个日志文件组。每个日志文件组至少包含两个日志文件成员;
   (2)日志文件组以循环方式进行写操作;
   (3)每一个日志文件成员对应一个物理文件。
    通过日志文件来记录数据库事务可以最大限度地保证数据的一致性与安全性,但一旦数据库中日志满了,就只能执行查询等读操作,不能执行更改、备份等操作。其原因是任何写操作都要记录日志,也就是说基本上处干不能使用的状态。

9.什么是回滚?和撤销有什么区别?

为了保证在应用程序、数据库或系统出现错误后,数据库能够被还原,以保证数据库的完整性,所以需要进行回滚。回滚(rollback)就是在事务提交之前将数据库数据恢复到事务修改之前数据库数据状态。
    需要注意回楼与撤销的区别。回滚是指将数据库的状态恢复到执行事务之前的状态,其中可能会使用UNDO日志进行回漆。撤销是一种记录日志的方式,并不是主要服务于事务回滚,而是主要用于系统从故障中恢复。例如,系统突然断电,系统要根据UNDO日志对未完成的事务进行处理,保证数据库的状态为执行这些事务前的状态。

10.什么是视图

视图是由从数据库的基本表中选取出来的数据组成的逻辑窗口,不同于基本表。它是一个虚表,在数据库中,存放的只是视图的定义而己,不存放视图包含的数据项,这些项目仍然存放在原来的基本表结构中。

视图的作用非常多,主要有以下几点:首先可以简化数据查询语句;其次可以使用户能从多角度看待同一数据;然后,通过引入视图,可以提高数据的安全性;最后,视图提供了一定程度的逻辑独立性等。

这里讲一下为什么视图可以提高安全性。因为视图是虚拟的,物理上是不存在的,用户对视图不可以随意的更改和删除,这样可以在一定程度上保证了安全。

11.什么是共享锁?互斥锁?

在数据库中,锁主要是对数据进行读/写的一种保护机制,从数据库系统的角度来看,一般可以将锁分为共享锁和互斥锁。共享锁简称S锁,也叫读锁。用于不更改或不更新数据的操作(只读操作),如select语句。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。共享锁可阻止其他并发运行的程序获取重叠的独占锁定,但是允许该程序获取重叠的共享锁定。其他用户可以获取共享锁锁定的资源,但是不能进行修改该共事锁。在执行select命令时,SQL Server 通常会对对象进行共享锁锁定。若事务T对数据D加S锁,则其他事务只能对D加S锁,而不能加X锁,直至T释放D上的S锁;一般要求在读取数据前要向该数据加共享锁,所以共享锁又称为读锁。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。互斥锁简称X锁,也叫排他锁,用于数据修改操作,如insert、update或delete。确保不会同时对同一资源进行多重更新。为了保证数据操作的完整性,引入了互斥锁。用互斥锁来保证在任意时刻,只能有一个线程访问对象。若事务T对数据D加X锁,则其他任何事务都不能再对D加任何类型的锁,直至T释放D上的X锁;一般要求在修改数据前要向该数据加排他锁,所以排他锁又称为写锁。

考研复试-操作系统面试题相关推荐

  1. 考研复试操作系统面试题(一)-IO系统

    写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来. 这只是一部分,陆续还有操作系统的其它章节,还会推出数据结构.计算机网络.数据库的复试题整理 思维导图在我的 ...

  2. 考研复试机器学习面试题,我承认有赌的成分

    马上就要考研复试了,如果你的导师不搞机器学习领域,那真的皆大欢喜.如果他在搞机器学习,我不得不预判导师的走位和他要放的技能.我心里是非常惶恐的,别说机器学习,就是python也略知一二.万一导师提到机 ...

  3. 计算机考研复试操作系统题库

    文章目录 1.什么是操作系统?操作系统的主要功能是? 它的主要特征是什么?(重点) 2.进程与线程的关系以及区别(重点) 3.Windows下的内存是如何管理的?(简单了解即可) 4.中断和轮询的特点 ...

  4. 计算机考研复试——操作系统篇

    更多复试科目见此目录 所有科目资料的打印版和md原始文件可从此链接下载 第一章.计算机系统概述 1.操作系统的目标和功能?(什么是操作系统?) 1.操作系统是计算机资源的管理者 处理机管理(进程控制. ...

  5. 考研复试-数据库面试题

    准备复试时自己从别的博客上复制的一些面试题,因为当时都复制到一个文本文件中了,也不知道从谁的博客上复制的. 触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约 ...

  6. 考研复试——操作系统

    文章目录 操作系统 1. 操作系统的特征: 2. 进程与线程的关系以及区别 3. 简述进程和程序的区别 4. 进程的常见状态?以及各种状态之间的转换条件? 5. 进程的调度算法有哪些? 6. 什么是死 ...

  7. 考研复试-数据结构-面试题

    1.如何去度量一个算法的效率? 答:度量一个算法的效率是通过时间复杂度和空间复杂度. 2.请详细说一下数组与链表的区别 答: 数组必须事先定义固定的长度,它并不能适应数据动态的增长,当数据增加的时候, ...

  8. 考研复试-数据库-面试题

    1.数据库管理系统的主要功能是什么? 数据定义·,数据操纵,数据库的运行管理,数据库的建立与维护 2.数据库系统的特点是什么? 数据结构化. 数据共享性高,数据冗余度低. 数据独立性高. 由DBMS统 ...

  9. 考研复试-计算机网络-面试题

    1.OSI,TCP/IP,五层协议的体系结构是怎样的?它们之间又有哪些区别呢? 答:好的,谢谢老师的提问. osi协议分为7层,从上至下分别为,应用层-表示层-会话层-网络层-数据链路层-物理层. t ...

最新文章

  1. 服务信息块协议 SMB(Server Message Block protocol)
  2. 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
  3. github 修改项目为public_在GitHub上为开源项目做贡献
  4. 云计算具有什么平台_究竟什么是云计算?
  5. 边缘计算与云计算的不同,这篇说明白了!
  6. IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR
  7. java条码扫描_JAVA生成扫描条形码
  8. 【测试】嵌入式软件测试VS一般软件测试
  9. 【PC】如何让程序开机自启动/如何打开开机自启动文件夹
  10. 数学三角形的所有定理!所有!
  11. java 0点时间_java 获取当前时间与零点的时间差
  12. java流重定向如何分类,Java 文件流与标准流之间的重定向
  13. 约克大学计算机语言班,约克大学语言班申请
  14. python实现摩斯密码解密
  15. 重装win10之后谷歌chrome浏览器字体模糊的问题
  16. markdown使用数学符号/特殊符号
  17. 再造STM32---第二十二部分:CAN—通讯实验
  18. SYN010E型全国产铷原子钟
  19. linux系统硬盘数据恢复软件下载,11 款最棒的 Linux 数据恢复工具
  20. 有谁还在说入门大数据难?从spark开始带你起飞

热门文章

  1. 物流英语与计算机操作,物流英语与计算机模拟题.doc
  2. 图像特征提取(一)——什么是特征点、特征描述、特征匹配
  3. mDNS__2018.07.30
  4. 学术讲座: 如何把科研变成兴趣 (程序猿专场)
  5. 浅聊OpenSL ES音频开发
  6. resnet,retinanet,fpn网络结构及pytorch实现代码
  7. python数据分析学习框架
  8. uni-app 插件 Calendar 日历多选 (不是范围选择)
  9. 广播信道及CSMA/CD协议
  10. Cisco系列第一节-----前提基础知识