数据库笔记

这篇博客主要介绍了MySQL中的事务开启,包括BEGIN和SET AUTOCOMMIT=0,以及共享锁S和排它锁X的概念和相互关系。还涵盖了数据库的三级模式结构、视图、变量赋值、用户权限管理的GRANT命令,强调了不同锁类型的读写限制。此外,讨论了数据不一致性问题,包括丢失修改、不可重复读和脏读。最后提到了MySQL不支持FULL JOIN的事实以及数据库索引的重要性与使用注意事项。
摘要由CSDN通过智能技术生成

1.begin - 显性开启一个事务

在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT
操作。因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET
AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。
参考:
https://www.nowcoder.com/tutorial/10006/19b107c5f4e84544b448af6c52002087

2.共享锁S ,排它锁X:

> 多读单写:
> 			数据O上了排它锁X之后,其他事务不能在对数据O再上任何锁
> 			   。。。上了共享锁S后,o只能被其他事务上共享锁S,不能上X
> 

排它锁(Exclusive),又称为X 锁,写锁。

共享锁(Shared),又称为S 锁,读锁。

读写锁之间有以下的关系:

一个事务对数据对象O加了 S 锁,可以对 O进行读取操作,但是不能进行更新操作。加锁期间其它事务能对O 加 S 锁,但是不能加 X 锁。
一个事务对数据对象 O 加了 X 锁,就可以对 O 进行读取和更新。加锁期间其它事务不能对 O 加任何锁。
即读写锁之间的关系可以概括为:多读单写 ———————————————— 版权声明:本文为CSDN博主「寻烟的衣袖」的原创文章,遵循CC
4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_22162093/article/details/108125817

3.数据库三级模式体系结构


数据库系统在三级模式之间提供了两级映像:模式/内模式的映像、外模式/模式的映像。这两级映射保证了数据库中的数据具有较高的物理独立性和逻辑独立性。 
 
  •模式/内模式的映像:实现概念模式到内模式之间的相互转换。 
 
  •外模式/模式的映像:实现外模式到概念模式之间的相互转换。 
 
  数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。 
 
  外模式/模式映像:当模式改变时,由数据库管理员对各个外模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值