关于一级封锁协议中产生“脏读”的问题

数据库系统概论第五版上说,因为在一级封锁协议中,如果事务T只读数据而不修改数据,就不用加X锁,这样就会不能保证可重复读和不读“脏数据”。
关于“不能读脏数据”,我一直不太理解。既然事务T不加x锁是因为它只读数据不修改数据,那么其他事务为什么会读到脏数据?为什么还会导致读“脏数据”的现象发生?既然T不对数据作出修改,那其他事务读到的数据应该和数据库中的数据一样啊。
望解答,谢谢

你的理解有误区,不知道是不是书上描述的有问题,其他事务不是读脏数据,而是读的未提交数据的那个过程,其他事务读的数据是一样的,如果是并发环境,防止读取数据不是最新和其他事务修改,我们才需要加索