SQL数据库简答题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、数据模型由哪三要素组成,简要说明。
数据模型一般由数据结构、数据操作和数据完整性约束三部分组成,是严格定义的一组概念的集合。
(1)数据结构:数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型、关系模型和面向对象模型。
(2)数据操作:数据操作用于描述系统的动态特性,是指对数据库中各种对象及对象的实例允许执行的操作的集合,包括对象的创建、修改和删除,对对象实例的检索和更新两大类操作及其它有关的操作等。
(3)数据完整性约束:数据的完整性约束是一组完整性约束规则的集合。完整性约束规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
2、数据库系统的三级模式结构是什么?为什么要采用这样的结构?
1)从数据库管理系统内部系统结构看,数据库系统通常采用三级模式结构。
数据库系统的三级模式结构是指外模式、模式和内模式。
(1)外模式:外模式也称子模式或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。
(2)模式:模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。
(3)内模式:内模式也称为存储模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象,模式/内模式映象,这种结构能较好地保证数据库系统的数据具有较高的逻辑独立性和物理独立性。
3、数据独立性包括哪两个方面,含义分别是什么?
数据独立性分为数据逻辑独立性与数据物理独立性两个方面。
1)数据逻辑独立性
当模式改变时,由数据库管理员对各个外模式/模式映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称为数据逻辑独立性。
2)数据物理独立性
当数据库的存储结构等内模式改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称为数据物理独立性。
4、数据库管理系统有哪些主要功能?
数据库管理系统是数据库系统的核心组成部分,主要包括:数据定义、数据操纵、数据查询和数据控制。
(1)数据定义:DBMS提供数据定义语言DDL,定义数据对象及系统结构和约束。(2)数据操纵:DBMS提供数据操纵语言DML,实现对数据库的查询,插入,删除和修改等等
(3)数据库的运行管理:DBMS主要通过数据的安全性控制、完整性控制、多用户应用环境的并发性控制和数据库数据的系统备份与恢复四个方面来实现对数据库的统一控制功能。(4)数据库的建立和维护功能:数据库的建立和维护功能包括数据库初始数据的输入、转换功能、数据库的转储、恢复功能、重组织功能和性能监视、分析功能。
5、关系数据库的完整性规则有哪些?简要说明。
1)关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
2)(1)实体完整性:若属性K是基本关系R的主码,则所有元组K的取值唯一,并且K中属性不能全部或部分取空值。
(2)参照完整性:若属性F是基本关系R的外码,它与基本关系S的主码K s相对应,则对于R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。
(3)用户定义的完整性:用户定义的完整性就是针对某一具体应用的关系数据库所制定的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
6、简述数据库保护的主要内容。
对数据库的保护一般包括4个方面的内容:
一是对数据库完整性的保护,即保证库中的数据是正确的和相容的,符合完整性约束条件的;
二是对数据库安全性的保护,即防止库中数据被非法访问、修改,甚至恶意破坏;
三是对并发的事务进行控制,保证数据库的一致性;
四是在发生故障后,对数据库进行恢复,尽量减少故障造成的损失。
7、什么是事务?简述事务的ACID特性。
事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列组成。
事务具有以下四个特征ACID:
(1)原子性:一个事务是一个不可分割的工作单位,事务在执行时,应该遵守“要么不做,要么全做”的原则,
(2)一致性:事务对数据库的操作使数据库从一个一致状态转变到另一个一致状态。
(3)隔离性:如果多个事务并发地执行,应像各个事务独立执行一样,一个事务的执行不能被其他事务干扰。
(4)持久性:指一个事务一旦提交,它对数据库中数据的改变就应该是持久的。
8、在数据库操作中不加控制的并发操作会带来什么样的后果?简要说明。
在数据库操作中不加控制的并发操作会破坏数据的完整性。带来丢失更新、污读、不可重读等现象。
丢失更新:一个事务的更新操作被另一事务更新时覆盖。
污读:一个事务读取了另一个事务中间修改的结果,而另一个事务又回滚了,中间修改过的结果,不成立。
不可重复读:一个事务中两次读取同一个值时,结果不同。
幻读:一个事务读到另一事务插入而后又撤销的行。
9、什么是封锁?封锁的基本类型有哪几种?含义是什么?
1)所谓封锁就是当一个事务在对某个数据对象(可以是数据项、记录、数据集、以至整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性。
2)基本的封锁类型有两种:排它锁和共享锁。
(1)排它锁:排它锁又称写锁,简称为X锁,其采用的原理是禁止并发操作。
(2)共享锁:共享锁又称读锁,,简称为S锁,其采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。
10、什么是死锁?产生死锁的必要条件。
1)在同时处于等待状态的两个或多个事务中,每个事务都在等待其中另一个事务解除封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这种状态称为死锁。
2)发生死锁的必要条件有以下四条:
①互斥条件:一个数据对象一次只能被一个事务所使用,即对数据的封锁采用排它式;
②不可抢占条件:一个数据对象只能被占有它的事务所释放,而不能被别的事务强行抢占;