事务--视图--索引

这篇博客探讨了数据库事务的重要性,强调了事务的ACID特性,即原子性、一致性、隔离性和持久性。接着介绍了索引的概念,包括不同类型的索引(主键、普通、唯一和全文索引),以及其数据结构如B树和哈希索引。此外,还讨论了视图的功能和优点,如简化查询、增强数据安全性和逻辑数据独立性。
摘要由CSDN通过智能技术生成

事务的提出主要是为了解决并发情况下保持数据一致性的问题(类似于多线程) 事务(Transaction)是并发控制的基本单位。所谓的事务,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。 。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

 

事务和程序的关系:事务和程序是两个概念。一般地讲,一个程序中包含多个事务。

 代码如下:

事务管理(ACID)

谈到事务一般都是以下四点(原则)

原子性(Atomicity)

原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生

一致性(Consistency)

事务前后数据的完整性必须保持一致。

隔离性(Isolation)

事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。

持久性(Durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

索引

通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。

索引类型

1.主键索引

索引列中的值必须是唯一的,不允许有空值。

2.普通索引

MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值。

3.唯一索引

索引列中的值必须是唯一的,但是允许为空值。

4.全文索引

只能在文本类型CHAR,VARCHAR,TEXT类型字段上创建全文索引。字段长度比较大时,如果创建普通索引,在进行like模糊查询时效率比较低,这时可以创建全文索引。 MyISAM和InnoDB中都可以使用全文索引。

 

索引的数据结构

①B树索引   ②哈希索引

删除索引

删除主键索引:

 

视图

视图是一张虚拟表,可以在视图上进行增删改查受影响的是原表,视图主要是为了保护数据的安全性

创建视图

视图的优点

  1. 查询简单化。视图能简化用户的操作

  2. 数据安全性。视图使用户能以多种角度看待同一数据,能够对机密数据提供安全保护

  3. 逻辑数据独立性。视图对重构数据库提供了一定程度的逻辑独立性

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值