我的oracle + blog之旅

来源:互联网 发布:不朽传奇翅膀进阶数据 编辑:程序博客网 时间:2024/06/05 18:17

今天听fenng介绍来这里激活这个许久不曾使用的帐号。

无他,几年来学习oracle有许多感悟亦或者许多所得

也准备整理记录下来,希望于他人有所帮助

 

大约几个星期前有个网友在灌水的地方问:

求:oracle与sql的区别

一校友回答:

oracle只是一个关系数据库产品,一个dbms而已。

sql是所有关系数据库的操作语言。

学数据库,sql最重要。

每个dbms都会自己多多少少的扩展标准sql,提供更多功能和服务,但是扩展sql可移植性极差,不过这个坛子里都是做oracle的,所以当然不会太理会这些。

 

为此我自然是有不同的意见,总结了下自己对此的理解

1:我猜测对于他来说是问的 oracle 与 mssql 的区别
2:sql,对于初步使用数据库的开发人员来说是最重要,若要进一步tuning sql 则是理解sql的执行计划、大致算法和数据库优化器的原理最重要,当然这里除了 优化器外 还没有脱离sql的范畴
3:要做到高级sql tuning,比如对于oracle数据库来说,必须深刻理解数据库的体系结构 和 很多概念原理以及一些管理方面的知识,明白数据库层的一些东西严重影响了sql的执行计划
4:若要说学好数据库,真正地重要的是,真正地理解体系结构和数据库概念,明白数据库为什么要这么设计,然后理解备份恢复、tuning方面的原理,再结合大量实践,验证原理,提升理论,从理论方面反过来指导实践,相辅相成,缺一不可!
5:再进一层,进入到数据库体系结构和基本概念的实现层,进入到internal阶段,明白了数据库的重要功能实现算法 和 处理机制,这个时候管理数据库和优化数据库对你来说基本只是如吃饭穿衣一样自然

基本,这是从我对oracle的理解的角度来阐述的,如果是mssql,可能通常你将止步于tuning sql 部分。你必须明白各种数据库的特性以最好地利用他们,除非,若你真正地要做一个通用的适合在任何数据库上跑的产品,也依然要明白各种数据库的特性才好,你将能更好地设计通用代码 和 明白通用的代码将损失太多的数据库功能

 

联想到更早一些的时候,大约是2年多前,偶曾就学习oracle作过一些层次上的认识,在此也搜刮出来,以我今日之感悟来参考一下

-1:不知道从何入手去寻找解决问题的方法
0:寻找不出问题的解决方法
1:针对问题寻找出一种不会出错的方法
2:哪些步骤或操作不能做或者慎做
3:为什么要这么做
4:为什么不能那样做,那样做造成哪些影响
5:什么情况下应该怎么做
6:oracle为什么要这样设计?
7:oracle这么设计有什么缺陷?应该怎样设计?

大部分人大部分时间寻求的就是在层次1上
新手为什么老出现很多莫名其妙的问题?
就是因为不知道1
为什么老手有时无法解答新手的问题
因为在1这个过程中,出现的可能太多了!!!

经验的积累就在于1和2上
3和4达到了,就算很熟悉了
5达到了,精通oracle
6达到了,恭喜你!

呵呵
问题是,偶觉得对于偶来说
对于所有的问题
它们分布于-1-----------6的8个层次之间
只是看比例多大了

 

 

 

 

 

 

 

 

 

 

原创粉丝点击