考研复试问题之数据库概论
1.什么是存储过程?存储过程的好处是什么?
sql需要编译才可以运行。存储过程是一组为了完成特定功能的sql语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字和参数来调用执行它。
好处:
1.增强sql语言的功能和灵活性,存储过程可以控制语句的编写,有很强的灵活性,可以完成复杂的判断和复杂的运算。
2.标准组件式编程。在存储过程中创建后可以多次被程序调用,而不必重新编写该存储过程的sql语句。而专业人员可以随时对存储过程进行修改,对应用源代码毫无影响
3.较快的执行速度,如果某一操作包含大量的transaction-sql代码或者分别被多次执行,那么存储过程会比批处理的执行速度要快。因为存储过程是预编译的,在首次运行一个存储过程时的查询,优化器会对其进行分析优化,并且给出最终被存储在系统表中的执行计划,而批处理的transaction-sql语句在每次运行时都要进行编译和优化,速度也相对慢一些
4.减少网络流量。针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织进存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大减少网络流量并降低了网络负载。
5.作为一种安全机制来充分利用。通过执行对某一存储过程的权限进行限制,能够实现对相应数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
2.数据库的恢复方法
数据转储(备份)和登陆日志文件
3.数据库的发展阶段
人工管理阶段,文件管理阶段,数据库系统阶段。
4.什么是数据库系统?
数据库系统是有数据库、数据库管理系统(以及应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
5.什么是数据库管理系统
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
6.什么是数据库管理系统的功能
- 数据定义功能
- 数据组织、存储和管理
- 数据操作功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
- 其他功能
7.什么是数据库系统的三级模式?
模式(逻辑模式或概念模式)、外模式(子模式或用户模式)、内模式(存储模式或物理模式)
8.什么是数据模型的组成要素
数据结构、数据操作、数据完整性
9.数据库中的数据模型
层次模型,网状模型、关系模型,面向对象模型
10.什么是第一范式、第二范式、第三范式?
第一范式:关系模式R中每个属性都不可再分
第二范式:关系模式R属于第一范式、且所有非主属性与主码之间是完全函数依赖
第三范式:关系模式R属于第二范式,且所以非主属性与主码之间不存在传递函数依赖的关系
11.触发器的作用
触发器是一种特殊的存储过程,主要是通过事件来触发而执行的。他可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化,可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
12.索引的作用?和它的优点缺点是什么?
索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
13.什么是事务?什么是锁?
事务是被绑定在一起作为一个逻辑工作单位的sql语句分组,如何任何一个语句失败则整个操作就会失败,以后操作就会回滚到操作之前的状态。为了确保要么执行,要么不执行,就可以使用事务,要将语句作为事务考虑,就需要通过ACID测试,原子性,一致性,隔离性,持久性。
锁:在所有的DBMS中,锁是事务的关键,锁可以保证事务的完整性和并发性。获得锁的数据拥护者,其他程序则不能抢夺这些资源。
14.什么叫视图?游标是什么?
视图是一张虚拟的表,具有和物理表相同的功能。可以对视图进行增、改、查操作,视图通常是一个表和多个表的行或列的子集。对视图修改不影响基本表,它使得获取数据更容易,相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理,游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
15.何为完整性约束?
完整性约束:为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束规则,包括实体完整性,参照完整性,用户自定义完成性。
16.数据库系统和文件系统相比有什么优点?
文件系统:某一应用,共享性差,冗余度大,记录内有结构,整体无结构,应用程序自己控制 ,独立性差。
数据库系统:现实世界,共享性高,冗余度小,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力,具有高度的物理独立性和一定的逻辑独立性
17.关系模式的组成
关系模式有关系数据结构、关系操作集合和关系完整性约束三部分组成的。
18.并发操作会带来哪些问题
- 数据丢失
- 不可重复读
- 读脏数据
19.数据库设计的步骤
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 数据库运行与维护
20.事务的四大特性
原子性:事务中所有操作是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全部执行失败。
一致性:事务执行后,数据库状态与其它业务规则保持一致。事务执行的结果必须是使数据库从一个一致性状态变成另一个一致性状态,如转账业务,无论事务执行成功与否,参与转账的两个账号余额之和应该是不变的。
隔离性:是指在并发操作中,不同事务之间应该隔离开来,使每个并发中的事务不会相互干扰。
持久性:一旦事务提交成功,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时,也必须能保证通过某种机制恢复数据。
21.事务的隔离级别
- Read Uncommitted(读取未提交):最低的隔离级别,什么都不需要做,一个事务可以读到另一个事务提交的结果。所有的并发事务问题都会发生。
- Read Committed(读取提交内容):只有在事务提交后,其更新结果才会被其他事务看见。可以解决脏读问题。
- Repeated Read(可重复读):在一个事务中,对于同一份数据的读取结果总是相同的,无论是否有其他事务对这份数据进行操作,以及这个事务是否提交。可以解决脏读、不可重复读。
- Serialization(可串行化):事务串行化执行,隔离级别最高,牺牲了系统的并发性。可以解决并发事务的所有问题。