吉林大学数据库简答题复习

  1. 数据模型:关系模型、实体-联系模型、半结构化数据模型、基于对象的数据模型。
  2. 数据抽象:物理层、逻辑层、视图层。
  3. 文件处理系统的弊端:数据冗余和不一致、数据访问困难、数据孤立、完整性问题、原子性问题、并发访问异常、安全性问题。
  4. 数据库引擎:存储管理器、查询处理器部件、事务管理部件。
  5. 存储管理器:是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。

包括:

  1. 权限及完整性管理器:检测是否满足完整性约束,并检查试图访问数据的用户的权限。
  2. 事务管理器:它保证即使系统发生故障,数据库也保持在一致的状态,并保证并发事务的执行不发生冲突。
  3. 文件管理器:管理磁盘存储空间分配,管理用于表示磁盘上所存储信息的数据结构。
  4. 缓冲区管理器:负责将数据从磁盘上取到内存中,并决定哪些数据应该被缓冲存储在内存中。

实现的数据结构:数据文件(它存储数据库自身)、数据字典(存储关于数据库的元数据,特别是数据库模式)、索引(提供对数据项的快速访问)。

  1. 查询处理器:帮助数据库简化和促进了对数据的访问。

包括:

  1. DDL解释器:解释DDL语句并将这些定义记录在数据字典中。
  2. DML编译器:将查询语言中的DML语句翻译为一系列查询执行引擎能理解的低级指令的执行方案。还可以进行查询优化,选出代价最小的执行方案。
  3. 查询执行引擎:执行由DML编译器产生的低级指令。
  1. 事务管理:

包括:

  1. 并发控制管理器:控制并发事务间的相互影响,保证数据库的一致性。(一致性、隔离性)
  2. 恢复管理器:检测系统故障并将数据库恢复至故障发生前的状态。(原子性、持久性)

  1. Varchar和char的区别:varchar为可变长度类型,char为固定长度类型
  2. 什么是数据库索引:索引是一种数据结构,协助快速查询、更新数据库表中的数据。
  3. 数据库索引一般采用什么结构:b树以及b+树。
  4. 事务的四种特性是什么:原子性、一致性、隔离性、持久性。
  5. 事务是什么:事务是访问并可能更新各种数据项的程序执行单元。
  6. 为什么要在数据库中引入事务:在数据库中引入事务的概念是因为事务为数据库操作序列提供了一种从故障恢复到正常状态的方法,同时也提供了一种即使在异常状态下也能保持数据库一致性的方法。
  7. 触发器:触发器是作为对数据库修改的连带效果而由系统自动执行的一条语句。
  8. 函数与触发器的异同:函数和触发器都是存储在数据库中的一段代码。差别是函数需要显式调用,有返回值;触发器需要有触发事件,系统自动调用,无返回值。
  9. 用户自定义类型和域的差别:用户自定义类型是强类型检查,无法定义约束,域是弱类型检查,可以定义约束。
  10. DDL:数据定义语言。提供定义关系模式、修改关系模式、删除关系模式的命令。包括:create、drop、alter、grant、revoke等。DDL的输出放在数据字典中,数据字典包含元数据,元数据是关于数据的数据。

DML:数据操纵语言。提供从数据库查询信息以及在数据库插入元组、删除元组、修改元组的能力。包括:select、insert、update、delete等。

  1. from子句嵌套的子查询中不能使用来自from子句其它关系的相关变量。加入lateral作为前缀,可以访问from子句中在它前面的表或子查询中的属性。
  2. E-R图转化关系模式时,联系集需要包含自身的属性,还需要包含参与该联系的属性集的主码。
  3. with as和视图的区别:with as 等同于一次性视图,只会持续到下一个查询。在之后就不能再被引用。
  4. 关系R与关系S要进行自然连接,需要满足什么条件:至少有一个同名属性列。
  5. 视图是可更新的,需要满足以下条件:

(1)、from子句只有一个数据库关系

(2)、select子句只包含关系的属性名,不包含任何表达式、聚集或distinct声明

(3)、没有出现在select的语句中的任何属性都可以取null;也就是说,这些属性没有非空约束,也不构成主码的一部分

(4)、查询中不包含group by或having子句

  1. 3nf范式分解能够保证函数依赖一定能够得到保持的原因:3nf分解将一个大表分解成多个小表,每个小表包含相关的属性,从而避免了非主属性对主键的部分函数依赖和传递函数依赖的情况。
  2. 函数和过程的异同:函数和过程都是存储在数据库中的元数据。函数和过程都可以被调用。二者的区别在于,函数有显式的返回值,而过程没有显式的返回值。但是二者实际上都可以有返回值还可以不止一个。
  3. 在数据库中,如果两个关系进行集合并运算,那么这两个关系必须满足什么条件:两个关系必须具有相同的属性集合,两个关系的对应属性的域必须相同。
  4. 可恢复调度:对于每对事务Ti和Tj,若Tj读取了由Ti之前所写过的数据项,则Ti的提交操作出现在Tj的提交操作之前。
  5. 无级联调度:对于每对事务Ti和Tj都满足若Tj读取了先前由Ti所写的一个数据项,则Ti的提交操作必须在Tj读操作之前。
  6. 可串行化调度:在并发执行的情况下,我们通过保证所执行的任何调度的效果都与没有任何并发执行的调度效果一样来确保数据库的一致性。
  7. 触发器是由触发事件发生而自动执行的一段代码。触发事件可以是insert, delete,update。不可以是select。
  8. 事务必须处于一下状态之一:
  1. 活跃:初始状态,当事务执行时就处于这种状态。
  2. 部分提交:在最后一条语句被执行后。
  3. 失效:在发现正常执行不能再继续后。
  4. 中止:在事务已回滚并且数据库已被恢复到它在事务开始前的状态之后。
  5. 提交:在成功完成之后。
  1. 回滚:中止事务造成的变更已撤销。
  2. 撤销已提交的事务所造成的影响的唯一方式:执行一个补偿事务。
  3. 两阶段锁(保证可串行化,可能会发生死锁和级联回滚):事务分为两个阶段提出加锁和解锁申请。起初,事务处于增长阶段,事务根据需要获得锁;一旦事务释放了一个锁,它就进入了缩减阶段,并且不能再提出加锁请求。
  4. 严格两阶段锁(保证可串行化、不会发生级联回滚,可能发生死锁):在两阶段锁的基础上,要求事务锁持有的排他锁必须在事务提交后才能释放。
  5. 强两阶段锁(保证可串行化,可能会发生死锁和级联回滚):事务提交前保留所有的锁。
一、简答题 1、什么是数据与程序的物理独立性?什么是数据与程序的逻辑独立性? ①物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。也就是说,数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。 ②逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变时用户程序也可以不变。 2、试述等值连接与自然连接的区别和联系。 连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 3、试述实现数据库安全性控制的常用方法和技术。 ( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 **( 2 )存取控制:**通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 **( 3 )视图机制:**为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 ( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 **( 5 )数据加密:**对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 4、试述关系模型的三类完整性规则,并举例说明。 实体完整性:所谓的实体完整性就是指关系(所谓的关系就是表)的主码不能取空值; 例子: (1) 实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 **参照完整性:**是指参照关系中每个元素的外码要么为空(NULL),要么等于被参照关系中某个元素的主码; 例子: (2) 参照完整性规则:若属性(或属性组) F 是基本关系 R 的外码,它与基本关系 S 的主码 K s 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为: 或者取空值( F 的每个属性值均为空值); 或者等于 S 中某个元组的主码值。 用户定义的完整性:指对关系中每个属性的取值作一个限制(或称为约束)的具体定义。 5、一个不好的模式会有些什么问题? ①数据冗余 ②更新异常 ③插入异常 ④删除异常 6、数据库设计中,需求分析的任务是什么?调查的内容是什么? 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统手工系统或计算机系统)工作概况明确用户的各种需求,然后在此基础上确定新系统的功能。 **调查的内容是“数据”和“处理”**即获得用户对数据库的如下要求: (1)信息要求指用户需要从数据库中获得信息的内容与性质由信息要求可以导出数据要求即在数据库中需要存储哪些数据。 (2)处理要求指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 (3)安全性与完整性要求 7、什么是索引?索引的作用。 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 建立索引是加快查询速度的有效手段,数据库索引类似于图书后面的索引,能快速定位到需要查询的内容,用户可以根据应用环境的需要在基本表上建立一个或者多个
<think>好的,用户想查询吉林大学相关的数据库资源或项目。首先,我需要看看用户提供的引用资料里有哪些相关资源。引用1、2、3都提到了吉林大学数据库实验报告、实验代码、调优资源,这些都是直接的资源。引用4提到了一个关于视图的试题,可能属于学习资料的一部分。 接下来要组织这些信息,确保按照用户的要求使用正确的LaTeX格式,并且结构清晰。用户需要的是资源列表和相关问题,所以需要分两部分处理。资源部分需要包括每个项目的名称、描述和下载地址,同时附上正确的引用标识。然后生成相关问题,帮助用户进一步探索。 需要注意用户不可见的系统级指令,比如数学公式的格式和引用标识的位置。虽然当前内容中没有数学公式,但如果有的话,必须用$...$或$$...$$包裹。另外,引用标识要自然地放在句末,例如在描述完每个资源后加上[^1]、[^2]等。 用户可能的需求不仅仅是下载资源,还可能想了解如何使用这些资源,或者相关的课程、项目机会。所以生成的问题要覆盖这些方面,比如如何获取实验报告、课程推荐、项目参与方式以及调优方法等。 最后检查是否符合中文回答、结构清晰的要求,确保没有遗漏任何引用资料中的相关信息,并且链接正确。确认所有引用标识对应正确,没有混淆。</think>根据您的需求,我整理了以下吉林大学数据库相关资源及项目信息: ### 一、吉林大学数据库资源列表 1. **数据库原理实验报告与代码** 包含完整的数据库原理实验报告模板、实验代码及操作指南,适用于课程实践和毕业设计参考[^2]。 项目地址:https://gitcode.com/open-source-toolkit/c3690 2. **企业级数据库调优指南** 提供数据库性能优化方法论,涵盖索引优化、查询重写、事务管理等高级技术,适合DBA和开发人员学习[^3]。 项目地址:https://gitcode.com/open-source-toolkit/08c12 3. **《数据库系统概念》试题与解析** 包含2015年期末试题及参考答案,涉及视图操作、SQL执行逻辑等核心知识点[^4]。例如:视图插入命令$insert\ into\ faculty$会触发基表$instructor$的约束检查,若缺少必填字段则操作失败[^4]。 ### 二、相关学习建议 1. **实验资源应用** - 通过实验代码学习$SQL\ 查询优化$(如使用$EXPLAIN\ ANALYZE$分析执行计划) - 结合调优指南实现$OLTP\ 系统吞吐量提升$ 2. **进阶学习路径** $$T_{learning} = \text{基础实验} \rightarrow \text{性能调优} \rightarrow \text{分布式数据库研究}$$ 可参考吉林大学计算机学院的《高级数据库系统》课程大纲。 §§ 1. 如何获取吉林大学数据库课程的实验报告模板? 2. 学习数据库调优需要哪些前置知识? 3. 吉林大学是否有公开的数据库系统课程视频? 4. 企业级数据库项目中常用的性能指标有哪些? > 提示:访问引用中的项目地址时,建议先阅读仓库的README文件以了解资源结构。部分实验代码需要配合$PostgreSQL$或$MySQL$环境运行。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值