数据库原理

ACID原则

原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

1、原子性 —— 意味着数据库中的事务执行是作为原子,即不可再分,整个语句要么执行,要么不执行(回滚)。

2、一致性 —— 即在事务开始之前和事务结束以后,数据库的完整性约束(唯一约束/外键约束/Check约束/触发器等)没有被破坏。

3、隔离性 —— 事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。

     隔离等级由低到高分别为:

  •     Read Uncommited(最高的性能,但可能出现脏读,不可重复读,幻读)

  •     Read commited(可能出现不可重复读,幻读)  <默认>

  •     Repeatable Read(可能出现幻读)

  •     Serializable(最低的性能,Range锁会导致并发下降)  

   SQL Server利用加锁和阻塞来保证事务之间不同等级的隔离性。事务之间的互相影响的情况分为几种,分别为

  •     脏读(Dirty Read)                       写-读错误

  •     不可重复读(Unrepeatable Read)   读-写错误

  •     幻读(phantom read)               写-写错误

4、 持久性 —— 意味着在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 、

 

第一章 数据库系统概述

1、数据库管理系统的基本功能?

 答:并发控制、故障恢复、完整性、安全性、数据独立性。

2、数据库系统的三个抽象层次?

 答:视图抽象、概念抽象、物理抽象。

3、简述数据抽象、数据模型及数据模式的概念,以及它们之间的关系?

 答:数据抽象,指的是一种数据抽取的过程;数据模型,是数据抽象的工具,是数据组织和表示的方式;数据模式,是数据抽象的结果。

4、数据模型的三个评价标准、三个要素、分类?

 答:三个评价标准:1)真实地描述现实问题;2)用户易理解;3)计算机易实现;

     三个要素:数据结构、数据操作、完整性约束

     分类:概念数据模型、逻辑数据模型、物理数据模型

5、数据字典的作用?

 答:数据字典用于存储数据库的一些说明信息。

6、请简述计算机学科中“逻辑”与“物理”、“高级”与“低级”的含义。

 答:逻辑,一般是指事物的主观抽象表示,着重对内在机制的描述;而物理是指事务的外在的表现形式或客观存在。

        高级和低级,是衡量与人类思维接近或是易于人类使用的程度。与人类思维越接近或是越易于人类使用,则越高级;否则,越低级。

7、SQL语言最早在(  System R  )上开发。

8、SQL语言的标准?

 答:SQL-89    SQL-92   SQL-1999

9、一个数据库系统设计中,概念模式只有一个。

第二章 高级数据模型

1、ERM属于哪个层次的数据模型?关系模型又是哪个层次的数据模型?

 答:ERM属于概念数据模型,关系模型是逻辑数据模型。

2、属性按结构的分类,以及按取值的分类?

 答:按结构分类:简单属性、复合属性、子属性

        按取值分类: 单值属性、多值属性、导出属性、空值属性

3、实体用什么来唯一标识?

 答:键。

4、键与候选键的区别?

 答:键与候选键都是具有唯一标识的一个或一组属性,但候选键是最小属性集合的键。主键是候选键的特例。

第三章 关系数据库系统RDBS

1、表间数据完整性的实现方式?

 答:外键/触发器。

2、对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对表中其它一般性的列,用什么限制来保证它们的完整性?

 答:主键:主键约束

        侯选建:唯一约束

        外键:外键约束

        一般性列:断言、检查约束

3、SQL-92标准支持的完整性限制是否一定会在SQL SERVER中实现,举例说明?

 答:不一定。断言是SQL-92标准支持的,但SQL SERVER不支持断言。

4、请说明在维护表间数据完整时外键限制与触发器的异同。

 答:异——定义外键约束的列,必须是另一表中的主键或侯选建;触发器的主表和从表之间只要有共同的列即可,且触发器可以用来完成更复杂的功能。

        同——都可以用来维护表间数据的完整性。

5、关系代数的基本操作符?

 答:基本操作符:交(intersaction)、并(union)、笛卡尔乘积(cross product)、差(difference)、选择(selection)、投影(projection)

6、关系代数中对结果有重复元组时,如何处理?SQL中呢?

 答:关系代数中,通过改名解决重复元组问题;SQL中,通过distinct去除重复元祖

7、列 —— 字段、成员、属性

8、TSQL

  8-1)查询1957年之前出生的男演员的姓名

    姓名(δ性别=男,出生年<1957演员)

    select 演员姓名 from 演员 where 演员性别='男' and 演员出生年<1957

  8-2)查询2000年环球公司出品的电影的名字和导演姓名

    导演姓名,电影名称(δ出品时间=2000(电影公司   电影   导演))

    select  导演姓名,电影名称  from  电影公司 C,导演 D,电影 M  where C.导演工作证号=D. 导演工作证号  and  M.电影编号=C.电影编号 And  C.出品时间=2000

  8-3)查询张一导演所导演的影片中的主角演员姓名

    演员姓名(δ导演姓名=张一,角色=主演(演员   导演))

    select 演员姓名 from 演员 Y,导演 D where D.导演工作证号=Y.导演工作证号 and D.导演姓名='张一' and Y.角色='主角'

第四章 SQL查询语言

1、SQL语言的使用方式?

 答:嵌入式和交互式

2、 Select查询中各子句的执行顺序?

答:  当SELECT语句被DBMS执行时,其子句会按照固定的先后顺序执行: 
   (1)FROM  子句。 
   (2)WHERE 子句。 
   (3)GROUP BY 子句。 
   (4)HAVING 子句。 
   (5)SELECT 子句。 
   (6)ORDER BY 子句。

3、游标的作用?

 答:为了能够对获取的集合的值按行按列处理

4、使用存储过程的好处?

 答:(1)执行速度快;

     (2)可用于实现经常实现的数据操作;

     (3)实现较复杂的完整性约束;

     (4)可在程序中被反复调用,有利于程序的模块化;

     (5)有助于提高安全性;

     (6)实现复杂、敏感事务的自动化;

     (7)减少网络流量

第五章 数据库保护

1、导致数据库破坏的四种类型?DBMS分别用何措施来保护之?

 答:非法用户,通过权限机制保护;非法数据,通过完整性约束保护;系统或硬件故障,通过故障恢复保护;并发访问破坏一致性,通过并发控制保护。

2、 SQL SERVER的安全体系?

 答:DBMS服务器级,数据库级,语句和对象级。

3、事务的特点是什么?它有哪几个特性或性质?

 答:事务的特点:由多个步骤构成,只有所有步骤都成功执行,该事务才可提交完成;否则,其中任一个步骤执行失败,则该事务失败,事务中已执行的步骤应撤销或回退(rollback)。

4、 日志的基本内容?

 答:活动事务表(ATL)、提交事务表(CTL)、前像(BI)、后像(AI)

5、为何要并发?何谓并发调度?何谓串行调度?

 答:并发的目的:1、提高系统资源利用率;2、改善短事务的响应时间。

   并发调度:多个事务之间交替调度。

   串行调度:一个事务的所有操作都执行完后才开始执行另一个事务。

6、并发执行可能引起哪些问题?产生这些问题的原因各是什么?

 答:问题:1、丢失更新           原因:  1、写写冲突

      2、读脏数据                      2、写读冲突

      3、读值不可复现                 3、读写冲突

4、加锁协议的两个补丁分别解决什么现象(或问题)?

  答:补丁1:避免级联回退,防止读脏数据。

    补丁2:“先来先服务”原则,可避免活锁现象。

                                                      (S,X)相容矩阵

 

未加锁 

已加S锁

已加X锁

S锁

Y

Y

N

X锁

Y

N

N

 

5、为何需要事务隔离等级?

 答:可以使得应用系统能在读一致性和并发性之间找到最佳平衡。

6、 数据库复制的方式?

 答:主从复制、对等复制、级联复制。

7、SQL SERVER的安全体系分:(DBMS的服务器级、数据库级、语句和对象级)。

8、SQL SERVER中的DBO是(数据库所有者)。

第六章 关系模式

1、关系模式可能存在的问题?

 答:插入异常、删除异常、冗余、更新异常。

2、函数依赖的分类?

 答:平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递函数依赖。

3、 关系模式规范化的方法?

 答:分解

4、设有关系模式:R(Sid,Sname,Cid,Cname,Score,Tid),其中:Sid、Sname、Cid、Cname、Score、Tid分别表示学号、学生姓名、课程编号、课程名、成绩、教师编号,并有如下语义要求:

  • l  课程与教师间的联系为1:1;
  • l  学生与课程间的联系为m:n;
  • l  一名学生只能有一个学号,且学号唯一;
  • l  一门课程只能有一个课程号,且课程号唯一。

  1)根据语义给出R的函数依赖

    

  2)将该关系模式分解成3NF

             

 

原文地址:https://www.cnblogs.com/sweetyu/p/5045327.html