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

                 

     

  • 相关阅读:
    Anagram
    HDU 1205 吃糖果(鸽巢原理)
    Codeforces 1243D 0-1 MST(补图的连通图数量)
    Codeforces 1243C Tile Painting(素数)
    Codeforces 1243B2 Character Swap (Hard Version)
    Codeforces 1243B1 Character Swap (Easy Version)
    Codeforces 1243A Maximum Square
    Codeforces 1272E Nearest Opposite Parity(BFS)
    Codeforces 1272D Remove One Element
    Codeforces 1272C Yet Another Broken Keyboard
  • 原文地址:https://www.cnblogs.com/sweetyu/p/5045327.html
Copyright © 2011-2022 走看看