数据库的相关面试题

本文深入解析数据库事务的概念及其四大特性:原子性、一致性、隔离性和持久性。对比关系型与非关系型数据库特点,探讨视图的应用优势及索引结构(如B树与B+树)对查询效率的影响。此外,还介绍了存储过程与数据库规范等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 数据库的事务

在单个逻辑工作单元中执行的一系列操作,要么全部成功,要么全部失败;

  • 事务的特性

原子性、一致性、隔离性、持久性

原子性:每个逻辑操作要么全部失败,要么全部成功;

一致性:事务在完成的时候,数据全部一致(例如转账,转账前两个人的钱是1000,那么转账结束后两个人的钱还是1000);

隔离性:数据库的四种隔离级别;

持久性:在事务结束后对系统的影响是永久性的(会写入到物理的硬盘中);

  • 关系型数据库和非关系型数据库

关系型数据库:

采用关系型来存储数据,一般采用行来存储数据;

最大的特点是事务的一致性;

非关系型数据库:

采用键值对来存储数据,一般不支持ACID(数据库的四大特性);

  • 严格来说不是一种数据库,而是一种数据结构的集合;
  • 什么是视图

视图也称为虚拟的表,本质上一条select语句,结果被赋予了名称;

视图本身是不包含数据的,只是映射到表的一条查询语句,当表中的数据发生变化,其视图的数据也会发生变化;

优点:

1.视图对于机密的文件提供了一种保护;

2.用户可以从不同的角度来看待同一数据;

  • 索引

为了提高查询的效率,是一种数据结构;

MyIsAM:采用的是b树作为索引;

innodb;非主键使用b键,主键使用的是b+树;

  • b树和b+树的区别

b树:数据会保存在叶子结点中和非叶子节点中,索引可能会在非叶子结点就结束;

b+树:数据只能保存在叶子结点中,而且是按照数据的大小进行排序;

前一个叶子节点会保存下一个叶子结点的索引,所有的索引在叶子结点才会结束,适合范围查询;

  • MyIsAM和innodb的特点

myisam是mysql5.1之前的默认引擎。不支持行锁,读取时会加入表锁,在写入是会加入排它锁;

不支持事务;

不支持外键;

不支持奔溃后的安全恢复;

myisam适合select比较多的表;

innodb

支持行锁;

支持事务;

支持奔溃后恢复;

innodb适合insert,update比较多的表;

  • 存储过程

存储过程就是把常用,或者复杂的工作,预先用sql语句写好,并且用指定的名称保存起来,存储在数据库中;

优点:

存储过程只在创造时,进行编译即可,不用每次执行一次,编译一次;

调用execute命令;

  • 数据库的三大范式

最小字段不可在分;

非主键完全依赖于主键,消除部分依赖;

 消除传递依赖,非主键外属性必须互不依赖;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值