发布于 

数据库

# 第一章(二级映射)

  1. 什么是数据处理?什么是数据管理?两者的关系如何?

    • 数据处理是对数据进行收集、整理、分析和输出的过程。
    • 数据管理是对数据进行规划、组织、存储、维护和控制的过程。
    • 数据处理是数据管理的一部分,数据管理提供了数据处理所需的基础设施和规则。
  2. 试述数据库的三级模式结构。

    • 外模式:用户视图,描述用户能看到的数据部分。
    • 概念模式:全局视图,描述数据库的逻辑结构和全局约束。
    • 内模式:物理视图,描述数据在存储设备上的存储方式。
  3. 数据库采用三级模式结构有什么好处?

    • 提供数据的抽象和独立性。
    • 支持多用户视图。
    • 提高数据的安全性和完整性。
  4. 什么是程序与数据的逻辑独立性和物理独立性?

    • 逻辑独立性:应用程序与概念模式的独立性,概念模式改变不影响应用程序。
    • 物理独立性:应用程序与内模式的独立性,内模式改变不影响概念模式和应用程序。

# 第二章

  1. 试述概念模型的特点和作用。

    • 概念模型是对现实世界的抽象,主要用于数据建模。
    • 作用是帮助理解和设计数据库结构,确保数据的完整性和一致性。
  2. 表示概念模型最常用的方法是什么?简述画 ER 图的步骤。

    • 最常用的方法是实体 - 关系(ER)模型。
    • 画 ER 图的步骤:
      1. 确定实体集。
      2. 确定实体之间的关系。
      3. 确定属性并分配给实体和关系。
      4. 画出实体、关系和属性的图示。
  3. 试述关系模型中的三类完整性约束条件。

    • 实体完整性:主键不能为空。
    • 参照完整性:外键必须引用有效的主键或为空。
    • 用户定义完整性:特定领域的业务规则。
  4. 外码可以取空值吗?什么情况下才可以取空值?

    • 外码可以取空值。
    • 当外码表示的关系是可选的,即不需要强制关联到另一张表的记录时,可以取空值。

# 第七章

  1. 试述事务的概念及事务的 ACID 属性。

    • 事务是一个或多个操作的集合,这些操作作为一个单元执行。
    • ACID 属性
      • 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成。
      • 一致性(Consistency):事务执行前后,数据库保持一致状态。
      • 隔离性(Isolation):并发事务之间互不影响。
      • 持久性(Durability):事务完成后,其结果永久保存。
  2. 事务为什么要并发执行?并发事务会产生哪些数据不一致性?

    • 并发执行提高系统资源利用率和吞吐量。
    • 数据不一致性包括:脏读、不可重复读、幻读。
  3. 什么是幻影现象?

    • 幻影现象是指在一个事务中两次查询同一范围的数据,第二次查询时发现有新的数据插入,导致结果不一致。
  4. 什么是正确的事务并发调度?什么是可串行化调度?

    • 正确的事务并发调度是指保证事务的 ACID 属性。
    • 可串行化调度是指并发执行的结果与某个串行执行的结果相同。
  5. 什么是封锁?有哪两种基本类型的锁?试述它们的含义。

    • 封锁是控制并发访问的一种机制。
    • 两种基本类型的锁:
      • 共享锁(S 锁):允许多个事务读取数据,但不允许修改。
      • 排他锁(X 锁):允许事务读取和修改数据,其他事务不能访问。
  6. 什么是死锁?预防死锁有哪些方法?怎样诊断死锁的发生?怎样解除死锁?

    • 死锁是指两个或多个事务互相等待对方释放资源,导致无法继续执行。
    • 预防死锁的方法包括:资源有序分配、一次性申请所有资源、超时机制。
    • 诊断死锁的方法包括:检测等待图。
    • 解除死锁的方法包括:回滚事务、释放资源。

# 第十章

  1. 试述 Python 使用 pymysql 连接数据库的基本步骤。

    • 导入 pymysql 库。
    • 使用 connect 方法连接数据库。
    • 创建游标对象。
    • 执行 SQL 语句。
    • 提交事务(对于写操作)。
    • 关闭游标和连接。
  2. 试述如何对 MongoDB 进行基本的增删改查操作?聚合管道又该如何使用?

    • :使用 insert_oneinsert_many 方法。
    • :使用 delete_onedelete_many 方法。
    • :使用 update_oneupdate_many 方法。
    • :使用 find_onefind 方法。
    • 聚合管道:使用 aggregate 方法,定义一系列的操作步骤,如匹配、分组、排序等。