数据库(一)

135 阅读2分钟

这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战

1、MySql有三种常见的存储引擎,它们分别是InnoDB,MyISAM和MEMORY。

InnoDBMyISAMMEMORY
事务安全支持不支持不支持
存储限制64TB
空间使用
内存使用
插入数据速度
对外键的支持良好不支持不支持

2、触发器是什么?

它是一种特殊的存储过程,通过事件触发来执行,触发器会强化约束以此维护数据的完整性和一致性,可以跟踪操作,联级运算。

3、存储过程是什么?

他是一个预编译的SQL语句,它允许模块化的设计,创建一次后即可多次调用,所以多次执行时执行速度要比单纯sql语句执行的要快。 存储过程可以通过命令对像或外部程序调用。

优点:由于它是预编译的,执行效率快,

代码直接存放于数据库中,调用时可以减少网络通讯,

安全性高,

可复用性。

缺点:可移植性差。

4、视图是什么?

它是一种虚拟的表,与物理表功能相同,进行增删查改操作,它通常是一个表或者多个表的行或列的子集, 相比多表查询,视图获取数据更加容易。

优点:可以选择性访问数据库中的一部分,

操作简单,

数据独立性高,视图能够直接从多个表中检索数据,

相同的数据可以有不同的视图。

缺点:数据无法更改,

5、事务是什么?

事务是应用程序中一系列严密的操作,他有四个特性(ACID):

原子性:

事务所包含的操作要么全部成功,要么全部失败。

一致性:

事务开始前和结束后,数据库的完整性约束没有被破坏。

隔离性:

当多个用户并发的访问数据库时,不能背其他的事务干扰,多个并发事务之间要相互隔离,同一时间,只允许一个事务请求统一数据,不同事物之间没有干扰。

持久性:

事务一旦提交那么这种改变就是永久性的,即使数据库发生故障也不会丢失提交事务的操作。