Great question! It can get pretty confusing as these titles (and many more including database developer, data architect, data analyst, data modeler, database designer, etc.) are often intermixed, used improperly, or redefined by the companies using them. The definition really depends on the actual job descriptions as defined by the various companies posting them. I will do my best, however, to differentiate and simplify them for you.
Database Administrator. This is by far the most commonly used database-related job title. A database administrator (DBA) is a person responsible for the daily care and feeding of a database. A DBA's primary responsibility is to ensure that the database is available, is performing properly and is kept safe. This includes such tasks as software installation, upgrades and patching, backup and recovery, performance tuning, security, monitoring, problem solving, etc.
Database Architect. Often referred to as a Data Architect, a DA is responsible for gathering business requirements, designing a logical model and ultimately building the physical database. The DA is expected to analyze business needs and create a database solution to meet them. Tasks include requirements definition, business analysis, data modeling, database design; E-R (Entity Relationship) models, database programming, business report generation, ETL procedure development, database performance optimization, etc.
Database Engineer. This term is not really that commonly used and can often just be referring to one or both of the above definitions. One example job description that I found describes the Database Engineer as someone who is expected to "design, implement and maintain database systems," (serving as both DB and DBA).
This was first published in June 2008