zoukankan      html  css  js  c++  java
  • 数据库原理

    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

                 

     

  • 相关阅读:
    【转载】ZendFrameWork application.ini配置
    【转载】从魔兽看PHP设计模式
    SVN 中tag branch trunk的用法
    work04
    今天的收获
    work03
    work02
    C# winform 获取当前路径
    使用Silverlight3中的DataPager实现服务器端分页
    应用系统架构设计
  • 原文地址:https://www.cnblogs.com/sweetyu/p/5045327.html
Copyright © 2011-2022 走看看