显然,我们拿数据库管理员的标准来要求数据库应用开发工程师是不合适的;但是作为经常会接触数据库的开发工程师,如果没有一定的数据库知识也不利于工作。一般来说,只要这个开发工程师掌握一门或几门大型数据库操作,并精通SQL,我们就认为他具备基本的开发条件。即使他以前没有接触过某数据库,我们也相信他能够在很短时间内熟悉它,虽然比不上一直基于该数据库开发的程序员,但也足以胜任这份工作了。   

    作为一名开发工程师,不考虑数据库设计要求,只谈对数据库的操作,不外乎如下:

    1、连接数据库:既包括通过数据库管理工具连接数据库,也包括从代码中直接连接数据库。比如使用sql plus连接oracle,或者java中使用jdbc连接数据库;

    2、对数据库的增删改查,重点是查询,可能有子查询、左右连接和联合的运用,关键字主要是like,in等的运用,如何使用通配符,另外还有排序:当然这个也包括用SQL直接做和写代码来实现;

    3、数据库事务操作,熟悉rollback和commit;

    4、统计查询,有些关键字要熟悉,比如distinct、max、min等;

    5、一些特殊要求,比如实现分页、特殊函数的应用(尤其是日期函数、字符串函数和类型转换函数);

    6、存储过程(很少要求程序员去实现,但有必要知道);

    7、数据库管理,比较常用的,增删用户,授权,增删数据库,创建数据表,修改表结构,备份与恢复;

    8、数据库配置,编码、存储位置;

    9、数据库优化(有条件的程序员,应该了解)。

    其实,无论MySQL、SQL Server、Oracle、Sybase还是DB2,都大致可以抽象中出相似的如上操作,开发人员如果能掌握上述对数据库的操作,也许说他精通该数据库确实勉强,但说他做基于该数据库的开发工作,确是足以胜任了。