数据库系统概论学习总结

数据库学习心得体会

这个学期我们学习了数据库这门课,以前听说过这个课程但是只是局限于使用数据库而没有了解其中的原理,由于本学期的特殊情况导致了无法正常上课使得交流问题变得不方便,所以学习起来有些难度。
刚开始听第一节课的时候,没有涉及到有关数据库的什么知识,讲了关于联系的一些知识,学到后面才知道原来数据库就是一些有关系的数据联系起来。通过学习数据库这门课程学会了如何画ER图,ER图能够更直观的表示数据库中各个属性的关系。第一节数据库实验课,安装了最基础的数据库软件mysql数据库,以及可视化的数据库操作程序。第一次课听起来就是比较简单,以为数据库挺好学的,但是后来的学习的知识越来越难逐渐的听不懂了,也可能是我不善于学习的原因,还好书上有详细的解释,通过书本补充了一些知识。
老师每节课都会放ppt有助于我们详细的进行学习,同时老师每次实验课上都布置一个实验题目,这有助于我们进行课后的知识巩固。老师讲到新的知识时,看我们有一点难以理解就给我们列举了生活中的实例来解释原理,这样便于我们理解新的知识。有时候有些实验比较难,老师还很耐心的给我们详细的解释实验题目的要求和目的还有一些注意事项。刚开始做实验的时候话不能完全自行完成,有时候需要借助网络才能完成,后来老师给我们详细的解读了实验让我们收获了很多知识,逐渐地就可以自行完成老师布置的实验题目了。
书中第一章我们了解的数据库的概念其中有几个较为重要的知识点,数据库DB数据库系统DBS数据库管理系统DBMS的概念以及数据库管理员DBA的职责。还介绍了数据库发展的三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
书中第二章要求我们理解实体-联系方法,并学会绘制E-R 图。此外还应掌握概念数据模型的意义和传统的三大数据模型,以及数据独立性和数据库三层模式结构。接着开始着重讲述现在普遍使用的关系数据库。包括关系数据模型的数据结构和基本术语,关系模型的完整性约束和关系代数运算。重点是关系模式完整性的分类和功能,以及关系代数中集合运算和关系运算。最后介绍了关系数据库系统的三层模式结构。
书中的第三章关于sql语言的内容一开始完全看不懂,因为第一次接触这种结构化的查询语言不知道改如何下手,后来通过老师的讲解以及查询网络上资料逐渐学会了如何编写sql语言。但是比较高级的select查询语言便不是很容易理解,比如说嵌套型的select查询语言,使用该语言使很吃力,比较难以理解。还有设计数据库时需要用到外键这个概念,一旦与另一个表关联起来,表的数据就不能单独的进行改变了,这一点刚开始的时候还不是很懂。
书中第六章的知识,存储过程的创建和执行过程、修改和删除;触发器的基本概念,建立,插入和删除视图,插入、删除和更新类触发器。最后介绍了数据完整性。
书中第七章老师要求我们先自行学习一些知识,介绍数据库安全性,包括安全性措施的层次、数据库管理系统的安全功能等,用户管理和角色管理,权限管理。其他的安全问题包括:数据加密、审计、统计数据库和用户定义的安全性措施。
书中第七章的知识,本章主要讨论了数据库设计的方法和步骤,列举了较多的实例,详细介绍了数据库设计各个阶段的目标、方法以及应注意的事项,其中重点是概念结构的设计和逻辑结构的设计,这也是数据库设计过程中最重要的两个环节。概念结构的设计着重介绍了ER模型的基本概念和图示方法。应重点掌握实体型、属性和联系的概念,理解实体型之间的一对一、一对多和多对多联系。掌握ER模型的设计以及把ER模型转换为关系模型的方法。
书中的第八章知识,本章讲解了如何使用编程方法对数据库进行操纵的技术。嵌入式SQL把SQL语句嵌入到某种高级语言中,SQL语句用来存取数据库中的数据,主语言用来控制程序流程以及对取出的数据做进一步加工处理,利用高级语言的强大计算能力来实现复杂应用的需求。SQL与主语言具有不同的数据处理方式。SQL是面向集合的。而主语言是面向记录的。所以,嵌入式SQL用游标来协调这两种不同的处理方式。要掌握游标的概念,学会用游标来编写师级的应用程序。本章讲解了过程化SQL以及如何用过程化SQL编写存储过程和自定义函数。存储过程和自定义函数经编译和优化后存储在数据库服务器中,运行效率高,客户机和服务器之间的通信量小,可以集中控制管理,因此被广泛使用。
书中的第十一章封锁协议,刚开始老师提出了一个问题就是关于多个用户对同一个数据的操作出现错误的问题,当时我们都很纳闷为什么会出现这样的情况,为什么以前的时候没有遇到这样的错误。后来老师讲了一个叫封锁协议的概念。封锁是实现并发控制的一个非常重要的技术。封锁有两种类型:排他锁(X锁)共享锁(S锁)。排他锁又叫写锁,共享锁又叫读锁。通俗的说,加上X锁的对象只能被一个事务读取和修改,加上S锁的A对象事务T只能对对象A进行读取,其他的事务也只能再对对象A加S锁而不能加X锁。后面又讲了封锁协议。一级封锁协议是,事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。二级封锁协议是,在一级封锁协议基础上增加事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。三级封锁协议是指,在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。在进行封锁的时候同时也会碰到活锁和死锁的问题。活锁是:如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待;T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待;然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。死锁是:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁;接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。这个地方在听老师讲的时候没有听明白,后来通过课本逐渐的总结出来了。
通过这一个学期的学习,我学到了不仅是书本上的知识还有运用数据库原理的思维解决日常生活中的问题。数据库的特点可共享性可以实现数据共享,可以与其他的用户共享数据方便了我们团队开发程序数据的问题,提高了编写程序的效率。数据库还有永久保存的性质,比如mysql来说他的安全性要比一般的文件要高的多,只要是自己的存储介质没坏就可以永久保存,当然了如果存储的介质损坏了还可以靠数据库的日志文件和后备数据来恢复数据库。数据库的有组织性。数据库具有逻辑独立性和物理独立性,数据库的层次模式比较像现实世界的模式。数据库的数据冗余度很小。
 这门课中仍然有许多不太懂的地方,还需要以后进一步学习。对如何学好数据库的个人看法,首先从个人自学方面,由于数据库的内容较多,所以老师在教学时不是将每个知识点都精细地教授于我们,所以总体看来,该门课在上的时候,各知识点之间的衔接性不是很强,所以,这就要求我们,在学习该门课之前做好预习的准备,当然在上课时的认真听讲这是必要的,除此之外,在课后还要对上课的内容进行咀嚼,还有就是对相应的习题进行一定题量的练习,对不会的题目要反复斟酌,在这可以通过向同学或老师请教,从而达到解决,切不可对不会的题目放之任之,从而盲点越积越多,最终影响对数据库学习的积极性。以上是对理论知识的学习方法,那么对于数据库的实验课学习来说,两者学习方式基本一样,只是通过上机课,来对理论知识进行实践,同时,也加深了对理论知识的认识的深度。                学习有时候不仅仅只是个人自闭的学习,我们不能将自学理解为自己一个人学习,而真的的会学习,或者说是效率更高的学习,是一种团队精神的学习,因为每个人看待问题的角度是不同的,通过和同学,老师的不断交流中,我们可以对某一事物有更深层次的理解,从而达到事半功倍的效果,省得我们一个人去钻牛角尖,最终问题还得不到有效地解决,所以,总结来说,学好数据库出个人的自学方面以外,还要加强和其他人的交流,创造一个好的学习氛围,为学好数据库做铺垫。
老师给我们讲课非常的有耐心,不论我们怎么不理解他都给我们一一详细的解释原理并且给我们举一反三。课前的时候每次都严厉的要求我们准时签到,绝对不能出现缺勤的的情况,老师的严厉就是对于我们的关心。每次课后老师都会让我们练习一下上课所学的知识,给我们布置能够考察我们上课所学知识的实验题目,严厉的督促我们按时完成作业。看到我们有不会的实验题目,上课的时候都会在百忙之中抽出时间给我们讲解以至于老师都没有时间休息。我们再不努力学习那就是辜负了老师的期望,让老师的努力付诸于东水。临近期末的时候老师挤出了一点时间给我们又详细了讲了一遍所有的课程,给我们顺了一遍知识点让我们获益匪浅。有几次因为自身的懒惰原因产生了不愿意听讲的思想,但是老师的工作也很忙,如果我们每个人不来听课,那么老师在哪认真的教课的结果就全白费了,所以我每次都按时去听课,即使自己再听不懂。其实老师也是理解我们,理解我们有些知识听不懂,他也没有对我们有些人没有按时来上课很生气,只是要求他们下次按时听课叫他们说明一下情况就行了。
在这一学期中很多实验课都没有认真仔细的完成,很多比较难的东西都没有理解,只是学会了简单的数据库的建立还有数据表的建立,简单的数据查询和数据更新的操作。实验课中有很多东西都没有了解导致我不会做实验,但是我还是查资料尝试着去做。现在想起来非常的后悔,后悔没有努力学习没有仔细听老师的讲课,现在想起来已悔之晚矣。但是我还是不会放了数据库这门课,在以后的空余时间中还是会拿起来书重新再学习一遍。因为可能在家学习的原因导致了自己的学习不够积极,很多知识都没有理解面临着即将来临的考试没有充足的准备,难免导致期末的成绩不是很理想。通过这门课告诉我一个道理,有些比较难的课一定不能懈怠于学习,必须课上认真听课,课下努力练习课前认真预习才能达到认真学习好这门课的条件。这不仅仅对我的学习有很大的启示,也教会了我日常生活中做事也不能懈怠,也教会了我日常生活中做人要懂得尊重他人,做一个对自己对他人负责的人。老师与同学之间相互理解相互尊重。

你可能感兴趣的:(学习总结,数据库)