1. 数据库-硕士研究生复试常问

1、 关系型数据库和非关系型数据库的区别


1、 存储方式不同:关系型数据库像 MySQL 是以二维表的形式存储数据,而非关系型数据库如 Redis 是以键值对的形式存储数据。

2、 处理数据的数量级不同:关系型数据库一般适用于处理一般量级的数据,而非关系型数据库适合处理海量的数据。

3、 关系型数据库的性能比较稳定,能保证数据的完整性和一致性,且易于回滚事务。

2、 数据库的实体完整性


1、 实体是表中的一行或一条记录称为一个实体;而实体完整性的定义是:标识每一行的数据不重复。

2、 作用是:保证用户输入的数据保存到数据库中是正确的。

3、 确保数据完整性,需要在创建表的时给表添加约束:主键约束、唯一约束、自动增长列。

3、 活锁和死锁的概念,解决活锁的方法


1、 活锁的情况是:如果事务 T1 封锁了数据 R,事务 T2 又请求封锁了 R,于是 T2 等待,此时 T3 也请求封锁 R,当 T1 释放了 R 上的封锁之后,系统首先批准了 T3 的请求,T2 仍然等待,T4 同 T3 一样,如此循环,T2 可能永远在等待,导致了活锁。

2、 解决活锁的办法是:采用先来先服务的策略,但是事务请求封锁同一数据对象的先后次序进行排队,既可以避免活锁。

3、 死锁:此时每个事务都得不到执行,彼此卡住。

4、 数据库系统的组成和特点


1、 数据库系统 DBS

主要由数据库 DB、数据库管理系统 DBMS、数据库管理员 DBA组成。

2、 特点:

a) 数据结构化的特点,也是与文件系统的主要差别,即描述数据的时候不仅要描述数据本身,还要描述数据之间的联系。

b) 共享性高、冗余度低、易扩充。

c) 数据的独立性高。

物理独立性:数据的物理存储改变时,应用程序不用改变;

逻辑独立性,逻辑结构改变时,用户程序不用改变。

d) 由 DBMS 统一管理:保证数据的安全、完整性、并发以及可恢复。

5、 关键字 UNION 和 UNION ALL 的含义


1、 union:对两个结果集进行并集操作,把重复行过滤,同时进行默认规则的排序。

2、 而 union all 是对两个结果集进行并集操作,不进行去重操作,所以包括重复行,不进行排序。

6、 Sql 语言的特点

1、 综合统一:SQL 语言集 数据库定义语言 DDL、数据库操纵语言 DML、数据库控制语言 DCL 于一体。

2、 高度非过程化:只需提出“做什么”,不需要知道“怎么做”

3、 面向集合的操作方式:不仅操作对象,查找的结果也可以是元组的集合,而且一次插入、删除、更新操作的对象也就可以是元组的集合。

4、 是所有关系型数据库的通用语言。

7、 视图的定义与基本表的区别


1、 定义:视图是由一个或几个基本表根据用户的需要而做成的一个虚表,在存储时只存储视图的定义,而不存储数据。

2、 视图是已经编译好的 sql 语句,而表不是。

3、 视图没有实际的物理记录,不占用物理空间,是虚表;而表是内容,是实表。

4、 视图只有创建语句能修改,而表可以时时进行修改。

5、 视图的建立和删除只影响视图本身,不影响对应的基本表。

8、 什么是完整性约束 没有完整性约束会怎么样


1、 定义:完整性约束时要求输入数据库的数据要完整或者符合某种条件,如果没有完整性约束,那么就有可能导致数据库表出错。

2、 常见的完整性约束有:

a) 实体完整性:规定表的每一行在表中是唯一的实体。

b) 域完整性:指表中的列必须满足某种特定的数据类型约束。

c) 参照完整性:两个表中的主键和外键的数据应当一致,保证表之间的数据一致性。

d) 用户自定义完整性:针对某个特定关系数据库的约束条件。

9、 关系模式规范化的目的是什么


1、 关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例

2、 关系模式规范化的作用是:设计一个好的关系型数据库,使其结构更加合理,消除存储异常、减少数据冗余、便于插入、删除、更新。

3、 常见的范式包括:第一、第二、第三以及 BC 范式。

10、 数据库的安全性是什么 怎么维护数据库的安全性


1、 数据库的安全性是防止不合法的使用所造成数据泄露、更改和破坏。

2、 不安全因素:可能由非授权用户对数据库的恶意存取和破坏、数据库中的重要或敏感的数据被泄露、安全环境的脆弱性。

3、 怎么维护:因为数据库系统是由 DBMS 统一管理的,所以可以通过如:用户身份鉴别、存取控制(即定义用户权限的方法)、给用户分配数据库角色的方式来保证数据库的安全性。

11、 DDL、DML、DCL 的语句有哪些


1、 DDL 是数据定义语言,包括了对不同数据段、数据库、表、列、索引等数据库对象的定义,常用的关键字主要包括 create、drop、alter。

2、 DML 是数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据库的完整性,常用的关键字有:insert、delete、update、select。

3、 DCL 是数据库控制语句,主要用于控制不同数据段许可和访问级别的语句,定义访问权限和安全级别,主要的关键字包括:grant、revoke。

12、 Drop 和 Delete 的区别


1、 根本的区别是 delete 删除的是数据,不修改表结构;而 drop 可以对数据库、表以及字段进行修改,设计到对结构的修改。

2、 Drop 是 DDL 语句,会隐式提交,不会混滚,不会触发触发器;而 Delete 式 DML语句,可以回滚和重做,但是表空间要足够大,且需要手动提交操作,也可以通过rollback 撤销操作。

13、 封锁技术


1、 封锁是指事务在对某个数据对象操作之前,先向系统发出请求,对其加锁。加锁之后,事务对该数据对象具有一定的控制,在事务释放锁之前,其他事务不能对此数据对象进行更新。所以封锁技术是实现并发控制一个非常重要的技术。

2、 封锁的类型:

a) 排它锁  X 锁,又称写锁;若事务 T 对数据对象加上 X 锁,则只允许事务 T 读取和修改 A,直到T 释放锁。

b) 共享锁  S 锁,又称读锁。若事务 T 对数据对象加上 S 锁,则事务 T 可以读 A 但不能修改,其他对象也只能对 A 加 S 锁,不能加其他锁,直到 T 释放锁。

3、 封锁的协议(三级)

a) 一级封锁协议:事务 T 在修改数据 R 之前必须对其加 X 锁,直到事务结束才释放(正常结束:Commit 和异常结束:Rollback),解决丢失修改。

b) 二级封锁协议:一级封锁协议的基础上,事务 T 在读取数据 R 之前必须对其加S 锁,读完之后就释放,解决了丢失修改和读脏数据。

c) 三级封锁协议:一级封锁协议加上事务 T 读取数据 R 之前必须加 S 锁,知道事务结束之后再释放,解决了丢失修改,读脏数据和不可重复读。

14、 SQL 的三级模式是什么


1、 数据库的三级模式指的是模式、外模式和内模式。

2、 模式:也称逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,位于三级结构的中间层。

3、 外模式:也称用户模式,是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某以应用有关的数据的逻辑表示,一个数据库可以又多级外模式,保证数据安全性的有力措施。

4、 内模式:也称存储模式,一个数据库中只有一个内模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

3、 SQL 三级模式之间的映射


1、 外模式/模式映射:一个模式可以对应多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式改变时,数据库管理员对各个外模式/模式做出相应的改变,可以使得外模式保持不变,这样外模式编写的应用程序就不用改变,保证了数据与程序的逻辑独立性。

2、 模式/内模式:数据库中只有一个模式和一个内模式,所以模式/内模式之间的映射是唯一的,定义了数据库的全局逻辑结构与存储结构之间的关系,当数据库的存储结构改变时,由数据库管理员对模式/内模式做出相应的改变,可以使模式保持不变,应用程序也不做变动,这样保证了数据与程序的物理独立性。

4、 索引

1、 定义:数据库索引是数据库管理系统中一个排序的数据结构,通过缩小一张表中需要查询的记录来加快搜索的速度,索引的实现通常是使用 B+树

2、 优点:1)提高系统的性能、2)可以通过创建唯一索引,保证数据库表中每一行数

据的唯一性、3)使用分组和排序子句进行数据库检索,可以减少查询中分组和排序

的时间。

3、 坏处:1)创建索引和维护索引耗费时间、2)索引占用物理空间、3)对表中的数据

进行维护也需要较多时间。

5、 主键、主码、主属性、关键字、候选码、候选关键字、候选关键码

1、 候选码=关键字,某一属性组能唯一标识一个元组,而子集不能,该属性组为候选码。

2、 主属性:后选码包含的属性(可以是一个或是多个属性)。

3、 主键=主码=主关键字,若一个关系有多个候选码,选择其中一个组为主码。

6、 数据库管理员都需要管理什么

1、 DBA 是从事管理和维护数据库管理系统的相关人员的统称

2、 主要职责:

a) 决定数据库中的信息内容和结构

b) 定义数据库的安全性要求和完整性约束

c) 监控数据库的运行和使用

d) 对数据库进行改进和重组,甚至重构

7、 解释数据库事务的回滚

1、 事务时一段 sql 语句的批处理集合,但是这个批处理具有原子性,不可分割,所以要么都提交,要么都回滚。

2、 事务回滚提交 Rollback,开启事务之后的一系列操作都会被清空,数据库中的数据依然不会发生任何变化,提交和回滚都需要告知数据库,而不是让其自动判断。

8、 数据库的概念和目标

1、 数据库 DataBase,是用于存储和管理数据的仓库。

2、 目标:

a) 实现持久化存储数据。

b) 方便存储和管理数据。

c) 使用统一的方式操纵数据库-SQL 语句。

9、 什么是日志文件?日志文件的作用

1、 日志文件就是通过简化的格式记录了对数据库的所有修改(insert、delete、update等)操作的文件。

2、 作用:

a) 能记录对数据库操作的信息,包括错误的信息。

b) 能将数据从逻辑上恢复至事务执行之前的状态。

3、 类型:比较常见的类型有重做日志文件和回滚文件。

a) 重做日志:是一种物理格式,可以确保事务的持久性,重新执行事务,解决事务发生故障带来的错误。

b) 回滚日志:是一种逻辑格式,执行 undo 的时候,仅仅将数据从逻辑上恢复至事务之前的状态,而不是从物理页面上实现的。

10、 中断隐指令、两段锁协议

1、 中断隐指令:在中断响应的时候做三件事,做这三件事的时候没有任何一条指令控制,都是自己去做,所以叫中断隐指令:

1)硬件关中断、2)保护断点、3)中断服务程序的入口跳转

2、 两段锁协议:事务必须分成两个阶段对数据进行加锁和解锁,一个事务中一旦开始释放锁,就不再申请新锁了。有可能导致死锁。

11、 简述完全函数依赖、部分函数依赖和概念结构设计

1、 完全函数依赖:X、Y 是关系 R 的两个属性集合,存在 X->Y,若 X’是 X 的真子集,但对每一个 X’,都有 X‘!->Y,则称 Y 完全函数依赖与 X。

2、 部分函数依赖:X、Y 是关系 R 的两个属性集合,存在X->Y,若 X’是 X 的真子集,存在 

X’->Y,那么称 Y 部分函数依赖于 X。

3、 概念结构设计就是建立 E-R 模型过程,其中 E-R 图中:矩形表示实体、菱形表示实体之间的关系、椭圆表示实体的属性

12、 关系模式中的五种基本查询

1、 选择:基于表中某个属性 A 得到另外一张表。

2、 投影:从表中选择指定的属性组,建立新表。

3、 并:在两张具有相同属性(列)的情况下,取所有的元组进行合并,删除重复的元组,建立新表。

4、 差:在两张具有相同属性(列)的情况下,取 R 表中于 S 表中任意元组不相同的元组构成新表。

5、 笛卡尔积:R 表和 S 表可以拥有不同的属性,让 R 表的每一行元组后面都要跟随 S表的所有元组。

13、 等值连接和自然连接

1、 等值连接先用笛卡尔积算出 R 表和 S 表新建的表,然后再我们所选取的要求 R 表和S 表属性值进行限制的元组构建成新表。

2、 R 表和 S 表必须要有相同的列,通过相同的列建立等值连接,然后删除掉相同列中的其中一列。

14、 数据库的恢复技术有哪些 简要说明

1、 数据库的恢复技术涉及到两个关键性的问题:

1)如何建立冗余数据、2)如何利用这些冗余的数据实时数据库的恢复

2、 建立冗余数据最常用的技术是数据转储和登记日志文件

3、 数据转储:DBA 定期的将整个数据库复制到磁带或另一个磁盘上保存起来的过程。

a) 静态转储:进行转储的过程中无事务的进行,能保证得到的一定是一个数据一致性的副本

b) 动态转储:可以让事务运行,但是这个时候不能保证数据正确有效,所有通过用建立日志文件的形式,用日志文件+副本就可以恢复到正确的状态。

4、 登记日志文件:用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障的恢复。

a) 登记的次序严格按照并发事务执行的时间次序

b) 必须先日志文件,后写数据库

15、 什么是数据库的角色

1、 数据库的角色就是一组特权,角色的特点如下:

a) 特权不是每次一个直接授予一个用户,而是先创建角色,再向角色授予一些特权,然后再将该角色授予多个用户或角色

b) 再增加或删除一个角色的某种特权时,被授予该角色的用户或角色将自动增加或失去这种特权

c) 可以为角色设置密码

16、 数据库的索引分为哪几种 举例说明场景下用这个索引

1、 普通索引:仅实现加速查询的功能

2、 唯一索引:加速查询+列值唯一(可以有 null)

3、 主键索引:加速查询+列值唯一(不可以有 null)+表中只有一个

4、 全文索引:对文本的内容进行分词,进行搜索

17、 一个关系模式 R 主码全是全码,那么起步是几范式

1、 BCNF,理由如下

2、 如果 R 是全码,意味着所有的属性都是主属性,没有非主属性,因此符合第三范式

3、 其次,如果主属性不可能对码存再部分函数依赖或传递函数依赖

4、 假设 R(A,B,C,D),若有部分函数依赖,如(A,C)->B,那么将违背“全码“这一

条件,此时的码应当是(A,C,D)

5、 另外,不可能存在传递函数依赖,因为任何主属性都直接依赖于(A,B,C,D)

6、 综上。满足全码的 关系模式必定符合 BCNF

18、 数据库设计中物理设计阶段的功能

1、 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,定义:为一个给定的逻辑模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设

2、 物理设计对时间效率、空间效率、维护代价和各种用户要求进行权衡,将一个给定的逻辑数据模型,选取一个最适合应用环境的物理结构。

19、 存储过程

1、 定义:我们知道 SQL 语句需要先编译后执行,而存储过程是为了完成特定功能的 SQL语句集,经编译后存储在数据库中,用户通过指定的存储过程的名字,并给指定的参数来调用执行它。

2、 优点:

a) 增加 SQL 语言的功能和灵活性,可以完成复杂的判断和运算

b) 存储过程被创建后,可以在程序中多次调用,而不必重新编写该存储过程的SQL 语句

c) 较快的执行速度,因为存储过程时预编译的 SQL 语句集

d) 可以充当安全机制来充分利用,避免非授权用户对数据的访问

20、 什么是触发器

1、 触发器(Trigger)是一种特殊类型的存储过程,由事件触发,包括 insert、update、delete 语句,当数据库执行这些事件时,会自动完成这些 SQL 语句。

2、 触发器可以保证数据的有效性和完整性,完成比约束更复杂的数据约束

3、 触发器与存储过程的区别在于:

1)触发器是操作 DML 语句时发生隐式的调用、2)而存储过程是显示的调用

3)触发器禁止使用 commit 和 rollback 语句、4)触发器不接受参数的输入

21、 SQL 有哪三种注入方式

1、 数值型注入:select * from user where id = 1

2、 字符型注入:select * from user where username=“陈志辉”

3、 其他类型注入:

a) Get:使用 get 请求提交数据,比如 xxx?id=1

b) Post:使用 post 请求提交数据,比如表单

c) Cookie:使用 Cookie 的某个字段提交数据,比如在 Cookie 中保存用户的信息

d) Http Header:使用请求头提交数据,比如检测 HTTP 中的源地址、主机 IP 地址

22、 数据库有哪几种数据类型

1、 整型:int

2、 浮点型:float、double

3、 字符串型:定长 char、变长 vachar,其中 varchar 会删除末尾的空格

4、 时间日期型:与时区无关的 date time,与时区有关的 time stamp

23、 Grant 语句实现什么功能

1、 grant 是由数据库管理员使用的授权语句,可以把增删改查这四种权限授予用户

2、 语法:

a) grant(功能)on 表或列 to 用户

b) grant(功能)on 表或列 to 用户 with grant option 由这个可以由这个用户授权予别的角色

24、 非关系型数据库有哪些

1、 Redis:键值存储数据库,用作缓存、永久存储。

2、 MongoDB:文档存储数据库,Json 格式串形式。

3、 Hbase:分布式数据库,列式存储以流的方式在列中存储所有数据,处理大数据量的功能需要 Hadoop      作为文件系统,能通过主键和主键的范围来检索数据,特点是大、稀疏、面向列。

25、 数据模型的三要素

1、 数据结构:是描述一个数据模型最重要的部分,主要描述了两方面的内容:一是数据库对象的类型、内容;二是数据之间联系有关的对象。

2、 数据操作:是在对象的实例上允许进行操作的集合。

3、 完整性约束:是一组规则,对数据及其关系起到相互制约的作用,保证数据的正确

性和可靠性。

26、 概念模型到逻辑模型的转换规则

1、 概念模型:是按照用户的观点来对数据和信息建模,是现实世界到信息世界的第一层抽象,确定领域实体属性关系,通常用 E-R 图来表示

2、 逻辑模型:是将概念模型转化为具体的数据模型的过程,按照概念模型表示的 E-R图,按选定的 DBMS 支持的数据模型(层次、关系、网状),转化为相应的逻辑模型,并且这种转换要符合关系数据模型的原则。

3、 物理模型是对真实数据库的描述。

27、 概念结构设计事务作为属性应满足什么要求

1、 作为属性,不能再具有需要描述的性质,必须是不可再分的数据项。

2、 属性不能与其他实体具有联系,即 E-R 图所表示的联系是实体之间的联系。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容