计算机考研复试常问问题 数据库篇

1、数据库设计的基本步骤是什么?

  • 需求分析:了解和分析用户需求。
  • 概念模型设计
    • 把客观现实世界的对象抽象为某一种信息结构,即对用户的需求进行抽象和归纳,提炼出一些概念的东西来描述用户的需求。
    • 常用的方法是画E-R图(实体关系图):由实体、属性和关系组成,用于进行关系型数据库系统的概念设计。
    • 如:学生管理系统中有“学生”和“成绩单”等。
  • 逻辑模型设计
    • 将概念模型具体化,即实现概念模型所描述的东西需要哪些具体的功能。
    • 主要包括层次模型、网状模型、关系模型。
    • 如:“学生”包括:姓名、性别等,“成绩单”包括:语文、数学等。
  • 物理模型设计
    • 对真实数据库的具体描述。
    • 如:关系数据库中的表、字段、长度、数据类型等。
  • 数据库实施阶段
  • 数据库的运行与维护

2、数据库管理系统DBMS

  • 操纵和管理数据库的大型软件。
  • 功能:数据定义、数据操纵、数据库的运行管理、数据库建立和维护。

3、数据库系统的特点是什么?

  • 数据结构化。
  • 数据共享性高,冗余度低。
  • 数据独立性高。
  • 数据由DBMS统一管理。

4、数据库管理员DBA的职责是什么?

  • 负责管理和维护数据库管理系统,具体为:
    • 决定数据库中要存放哪些信息。
    • 决定数据库的存储结构和存储策略。
    • 定义数据的安全性要求和完整性约束条件。
    • 监控数据库的使用和运行。
    • 对数据库进行改进和完善。

5、关系模型中的三类完整性约束

  • 实体完整性:关系模型中主码不能为空值、不能重复
  • 参照完整性:关系模型中的外码只能是空值或者另一关系模型的主码
  • 用户定义完整性:关系模型中针对某一属性的约束,即指明属性的取值范围

6、数据库操纵语言和数据库控制语言

  • 数据库操纵语言:通过对表中的数据进行插入、删除和修改等,实现对数据库的基本操作。
  • 数据库控制语言:用来设置或者更改数据库用户或用户权限的语句。

7、连接查询

  • 又称多表查询,当查询的字段涉及多个表的时候,就要用到连接查询。
  • 分类:内连接和外连接。
    • 内连接:连接查询的结果中仅包含满足条件的行。分为:
      • 等值连接:使用等号比较被连接列的值,其查询结果中包含了重复行
      • 自然连接:连接条件和等值连接相同,但是其查询结果中不包含重复行
      • 不等连接:使用除等号以外的运算符比较被连接列的值。
    • 外连接:连接查询的结果中既包含满足条件的行,还包含某个表中的全部行。分为:
      • 左外连接:显示左表全部行,和右表中与左表相同的行。
      • 右外连接:显示右表全部行,和左表中与右表相同的行。
      • 全外连接:显示左表和右表中的全部行。

8、索引

  • 功能:当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度
  • 缺点:索引需要占用一定的存储空间,且基本表更新时需要维护索引表。
  • 索引方式:B+树索引、Hash索引。

9、索引和键的区别

  • 索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录
  • 键是一个逻辑概念,分为主键和外键等。
    • 主键:一条记录的唯一标识,不能重复,不能为空,用来保证数据完整性。相当于一本书中的页码
    • 外键:其他表的主键,可以重复,可以为空,用来与其他表建立联系。
    • 【注】主键和主码是一个意思。

10、视图

  • 视图是存储在数据库中的SQL查询语句。是由数据库中的一张或多张表导出的虚拟表,类似于查询函数,方便用户对数据进行查询操作。
  • 基本表中的数据发生变化,从视图中查询出来的数据也会随之发生变化。
  • 优点:简化了查询操作;提高了数据库的安全性。

11、数据库的安全性技术

  • 作用:保护数据库以免被恶意破坏和非法存取。
  • 方法:用户标识和鉴别、多层存储控制、审计、视图、数据加密。
    • 用户标识和鉴别:保证只有合法的用户才能进入数据库系统访问数据库资源。
    • 审计:审计员利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
    • 视图:可以对不同的用户定义不同的视图,即把需要保密的数据对无权存取的用户隐藏。

12、断言

  • 断言是更具一般性的约束。断言创建后,任何涉及到断言的操作都会引发数据库对断言进行检查,任何使断言为假的操作都会被拒绝执行,相当于if语句
  • 【注】约束是防止数据库被非法操作的规则,有主键约束,外键约束,检查约束等。

13、触发器

  • 触发器是用户定义在关系表上的一类由数据驱动的特殊过程
  • 用户对表进行增删改操作会引起数据库系统自动激活相应的触发器完成某种操作
  • 例如:有一张期中考试成绩表和一张期末考试成绩表。期末考试后某一位同学退学了,需要把他的所有信息从表中删除。可以建立一个触发器,当从期末考试成绩表中删除某个同学的信息时,会引起在期中考试成绩表中也把该同学的信息删除。

14、合并E-R图时有哪些冲突?

  • 属性冲突:不同实体对同一属性的定义不同。
  • 命名冲突:同名异义,同义异名。
  • 结构冲突:同一实体在不同的局部E-R图中有不同的抽象。

15、什么是存储过程?用什么来调用?

  • 存储过程是预编译的SQL语句集合,就像函数一样,只需创建一次,即可在程序中进行多次调用,且比执行单纯的SQL语句更快。
  • 可以创建一个命令对象进行调用。

16、游标

  • 系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
  • 可以通过遍历游标,逐行访问处理执行结果中的数据。

17、关系数据库中查询处理的步骤

  • 查询分析:对查询语句进行语法分析。
  • 查询检查:对合法的查询语句进行语义检查。
  • 查询优化:选择一个高效执行的查询处理策略。
  • 查询执行:依据优化得到的执行策略生成查询执行计划,并生成相应的查询执行计划代码。

18、事务

  • 事务是对数据库进行操作的一个基本单位
  • ACID特性(数据库事务正确执行的四个基本要素)
    • 隔离性:一个事务的执行不能被其他事务干扰。
    • 原子性:事务是一个不可分割的单位,即一次执行完。
    • 一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。
    • 永久性:一旦事务被提交,它对数据库的改变就是永久的。

19、为什么事务非正常结束时会影响数据库数据的正确性?

  • 事务具有一致性,如果数据库系统在运行过程中发生了故障,有些事务尚未完成就被迫中断,这些未完成的事务对数据库所做的修改有一部分已经写入物理数据库,这时数据库就处于一种不一致的状态。

20、数据库恢复的关键是什么?

  • 关键是建立冗余数据

21、数据库恢复的基本技术

  • 当数据库系统运行过程中发生故障,可以利用后备副本和日志文件将数据库恢复到故障前的某个一致性状态。
  • 数据转储:定期将数据库的数据复制到其他介质上进行保存,这些备份的数据被称为后备副本。
  • 登记日志:记录用户对数据库进行的更新操作,用来记录这些操作的文件被称为日志文件。

22、登记日志文件时为什么必须先写日志文件,后写数据库?

  • 如果没有先写日志文件对数据库进行了修改,而后发现这次修改出现了错误,再想要对数据库进行恢复时,发现在日志文件中根本没有登记这次操作,就不能对数据库进行恢复了。

23、数据库故障分类

  • 事务故障
    • 事务在执行结束前被中止。
    • 可利用日志文件撤销此事务对数据库进行的修改。
  • 系统故障
    • 造成系统停止运转的任何事件,使得系统要重新启动。
    • 为了防止系统故障造成的数据不一致性,必须撤销故障时未完成的事务再重做。
  • 介质故障
    • 磁盘上的物理数据或日志文件被破坏。
    • 需要重装数据库,重做已经完成的事务。

24、在数据库中为什么要并发控制?

  • 数据库是共享资源,多个事务可以同时对数据库进行操作。当多个事务并发地操作数据库时,就可能存在同时读和写数据的情况(写后读,读后写,写后写),如果不对并发操作加以控制,就可能存在数据存取错误,破坏数据库的一致性,如丢失修改、不可重复读和读取脏数据。

25、并发造成的数据不一致性包括哪些?

  • 丢失修改:A、B两个事务同时对一数据进行操作,A的修改破坏了B的修改,导致B的修改丢失。
  • 不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再读取前一次的结果。
  • 读取脏数据:A对数据进行修改后,B读取了该数据,然后A又因为某一原因撤销了本次修改,导致数据恢复原值,此时B读取的数据就成了脏数据。

26、锁

  • 锁是最常见的并发控制机制,是防止其他事务访问指定资源,实现并发控制的一种手段。
  • 排他锁(写锁):当数据被加上写锁后,其他事务不能对该数据进行读和写操作。
  • 共享锁(读锁):当数据被加上读锁后,只允许其他事务对该数据进行读操作,不允许写操作。

27、一、二、三级封锁协议

  • 一级封锁协议:事务在修改数据之前加上写锁,直到事务结束才释放。该协议可以防止丢失修改
  • 二级封锁协议:在一级封锁协议的基础上,事务在读取数据之前对其加读锁,读完后释放读锁。该协议可以防止读取脏数据
  • 三级封锁协议:在一级封锁协议的基础上,事务在读取数据之前对其加读锁,直到事务结束才释放读锁。该协议解决了不可重复读

28、增删改查操作语句

  • 增:insert into
  • 删:delete
  • 改:update
  • 查:select

29、范式

  • 范式是我们在设计数据库结构过程中需要遵循的规则和指导方法
  • 三大范式分别为:第一范式、第二范式、第三范式。
    • 第一范式:表中每一列都不可再分,即每一个字段的值必须具有原子性
    • 第二范式:在第一范式的基础上,所有非主键字段,都必须完全依赖主键,即一张表只描述一件事情。
    • 第三范式:在第二范式的基础上,数据表中的所有非主键字段不能依赖于其他非主键字段,即非主键字段之间是相互独立的。
    • 【注】什么是依赖?
      • 部分依赖:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。
      • 完全依赖:通过AB能得出C,但是A和B单独得不出C,那么说C完全依赖于AB。
      • 传递依赖:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么说C传递依赖于A。
  • 2
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1. 什么是数据库系统?数据库系统有什么优点? 答: 数据库系统是一种能够高效地存储、管理和利用大量数据的计算机软件系统,它是由数据库数据库管理系统(DBMS)、数据库应用程序和数据库管理员组成的一个完整的数据管理系统。 数据库系统的优点包括: (1)数据共享:多个用户可以共享同一个数据库,避免了数据的冗余和不一致; (2)数据独立性:数据库系统可以将数据和应用程序分离,使得应用程序不依赖于具体的数据存储方式和物理结构; (3)数据安全性:数据库系统提供了访问控制和安全性保护机制,可以对不同的用户进行权限控制,保护数据的安全性; (4)数据一致性:数据库系统可以保证数据的一致性,避免了数据的冲突和不一致; (5)数据恢复性:数据库系统提供了数据备份和恢复机制,可以有效地防止数据的丢失和损坏。 2. 数据库系统的架构有哪些?请简要说明各部分的功能。 答: 数据库系统的架构主要包括三个部分:外模式、概念模式和内模式。 (1)外模式:也称为用户模式,是用户对数据库的逻辑视图,它是用户与数据库系统之间的接口。外模式描述了用户可以访问的数据和数据的组织方式,以及用户可以执行的操作和操作的语法。 (2)概念模式:也称为全局模式,是数据库整体的逻辑结构和逻辑关系的描述,它是数据库管理员和应用程序员所看到的数据库模型。概念模式定义了数据库中所有数据的组织方式、数据之间的关系以及数据的完整性约束等。 (3)内模式:也称为存储模式,是数据库在存储介质上的物理结构,它是数据库管理系统所看到的数据库模型。内模式描述了数据在存储介质上的存储方式、存储结构和存储方式的细节实现。 外模式、概念模式和内模式之间的关系如下图所示: ![数据库系统架构图](https://img-blog.csdn.net/20171022115502684?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hvcnRqb2hucy9ibHVlMTAy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80) 3. 数据库设计中的三层模式是什么?分别有什么作用? 答: 数据库设计中的三层模式是外模式、概念模式和内模式。 (1)外模式:也称为用户模式,是用户对数据库的逻辑视图,它是用户与数据库系统之间的接口。外模式描述了用户可以访问的数据和数据的组织方式,以及用户可以执行的操作和操作的语法。外模式的作用是为不同的用户提供不同的数据访问方式,实现数据的共享和保护。 (2)概念模式:也称为全局模式,是数据库整体的逻辑结构和逻辑关系的描述,它是数据库管理员和应用程序员所看到的数据库模型。概念模式定义了数据库中所有数据的组织方式、数据之间的关系以及数据的完整性约束等。概念模式的作用是为数据库管理员和应用程序员提供一个全局的数据视图,以便于管理和维护数据库。 (3)内模式:也称为存储模式,是数据库在存储介质上的物理结构,它是数据库管理系统所看到的数据库模型。内模式描述了数据在存储介质上的存储方式、存储结构和存储方式的细节实现。内模式的作用是为数据库管理系统提供数据库的物理实现细节,以便于高效地存储和管理数据。 三层模式之间的关系如下图所示: ![三层模式图](https://img-blog.csdn.net/20171022120011635?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hvcnRqb2hucy9ibHVlMTAy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恣睢s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值