本内容摘自 java web轻量级开发面试教程
对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面。
l 第一,针对一类数据库(比如MySQL、Oracle、SQL Server等),会基本的增删改查操作,会用一些基本的函数,会编写存储过程触发器索引等工具。
l 第二,知道一些基本的对项目开发有帮助的概念,比如范式、索引、分区等。
l 第三,能编写一些相对复杂的SQL语句,比如带连接、带子查询、嵌套查询等。
对于高级程序员,用过的数据库种类当然是越多越好,此外,还要掌握如下三大方面的能力。
l 第一,能设计出各类复杂的SQL语句来满足项目中的各类需求。
l 第二,能根据项目情况,自主地设计数据表结构,并能合理地配置外键和主键。
l 第三,也是最重要的,要有一定的数据库调优能力,比如能合理地创建表结构,能正确地创建索引,而且能通过使用索引合理地优化数据库性能,能通过执行计划分析并优化SQL。
由于各类数据表的调优技术不一定一致,所以高级程序员最好能掌握针对多种数据库的调优技术。
在项目开发过程中,合格程序员的职责一般是编写(增、删、改、查存储结构的)SQL语句,而高级程序员的职责还包括设计和调优。