![]() |
1
4
首先:您的重点是使用事务还是实现事务?学生的背景是什么——特别是,他们了解并发性吗? 作为一名非数据库专家,我的意见是,他仍然需要一直使用这些工具:
背景:我在工作中写网络应用和其他有趣的东西。 |
![]() |
2
2
在“事务”的上下文中,我经常提到的一件事是,这个概念完全不局限于数据库。 以包含在事务中的打印机资源为例,在该资源中打印“确认表”,以及此类事务的ACID属性意味着:
另外,我还没有看到任何提到过两阶段提交之类的事情。也许你认为这是“等等”的一部分,但我认为它本身就值得一提。 |
![]() |
3
1
在我看来,这正是不该教的,我读的时候能听到学生们打鼾的声音。 什么是重要的事务-数据完整性。演示如何为多个语句设置显式事务,并在没有显式事务的情况下编写相同的语句。告诉他们如果不使用显式事务,数据会变得多么混乱。在示例的过程中,包括ACID之类的内容,但在实际示例的上下文中使用它,说明如何使用ACID 更重要的是 ,如果你做错了会发生什么。 然后了解不同用户的事务如何相互冲突,以及为什么这会成为一个问题。讨论人们如何经常使用脏读来解决锁定问题,以及为什么这是一件坏事。使用实际的数据例子而不仅仅是枯燥的演讲。让他们努力得到答案而不是告诉他们。 但总是回到数据库中的数据,它是完整的。用实际例子而不是课堂讲稿和要点进行教学,让学生在查询数据后告诉你坏例子的问题所在,而不是告诉他们(根据我的经验,当你强迫他们去解决问题时,他们会学到更多)。 顺便说一句,你不是先教这门课,然后再教查询技巧吧?数据库操作(包括规范化)的技术讲座不应在查询技能被测量之前教授,除非他们能够查询数据库,否则他们不具备理解其他任何东西的能力,如果你开始使用一些深奥的东西,他们将停止听,整个学期都听不到任何东西。他们比任何其他人更需要查询技巧,这应该是第一堂课。可悲的是,教科书并不是这样写的,在我看来(是的,我教过数据库),这是导致学生离开学校对数据库一无所知的唯一最重要的因素。
|
![]() |
TheStoryCoder · Yii2:是否在事务外部执行查询? 7 年前 |
![]() |
Ali · 将SQL事务用于单个SQL查询[已关闭] 7 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |