Database Engineer
- Database Engineer
- the specialized engineer role that is played when a
person when designing,
implementing, and installing one or more databases
As illustrated in the preceding figure, Database Engineer is part of the following inheritance hierarchy:
The typical role-specific responsibilities of a Database Engineer are to:
- Review and understand relevant:
- Requirements specifications.
- Architecture documents.
- Conventions.
- Vendor database management documentation.
- Produce the physical database models and schemas from the
logical database models.
- Implement the physical production databases.
- Test and fix defects in the physical production
databases.
- Determine the optimum values of the physical data base
parameters (e.g., amount of computer memory to be used) based
on the database management system documentation.
- Input the data base identifiers, descriptions, and
parameters into the database management system(s).
- Input user authorizations:
- Which users can access which databases.
- Which users can access which data in the
databases.
- User access level for that data (e.g., create, read,
update, delete).
- Initially tune the database code to optimize database
performance.
- Produce the database layer of software components (e.g.,
database wrappers, stored procedures).
- Produce database loading and batch-processing
routines.
- Produce the database-related contents of the following
deployment and operations documentation:
- Take part in the design evaluations.
Database engineers typically inherit
common role responsibilities from the
role method component.
To fulfill these responsibilities, database engineers should
typically have the following personal characteristics,
expertise, training, and experience:
Database engineers should typically have the following
personal characteristics:
- Strong analytical problem solving skills.
- Able to comfortably multitask (i.e., perform multiple
database design and implementation tasks concurrently).
- Excellent verbal and written communication skills, and
thus able to explain and document the database-related
contents of the deployment and operations documentation its
diverse audiences.
Database engineers should typically have the following
expertise:
- Expert practical knowledge of:
- Database design and implementation tasks, techniques,
and tools.
- Physical data modeling.
- Database modeling tools.
- The relevant database management systems.
- The associated data definition, data manipulation, and
database query languages (e.g., SQL, OSQL, JDBC,
ODBC).
- The programming languages for producing database
wrappers and stored procedures.
- The database design and implementation standards and
guidelines.
- Solid practical knowledge of:
- Logical data modeling.
- The theory, practice, and tools of database
management.
- The major reusable persistence mechanisms and
patterns.
- Database security mechanisms.
- The theory, practice, and tools of software
engineering.
- Basic practical knowledge of the:
- Application domain.
- Business enterprise of the customer’s
organization.
- Integration and database testing theory, practice, and
tools.
- Configuration identification, configuration control,
and associated configuration management tools.
Database engineers should typically have the following
training:
- A bachelor’s degree or better in software or
systems engineering, computer science, or the
equivalent.
- Vendor certifications in the relevant database management
systems (e.g., ORACLE certification).
- Practical hands-on training in:
- The project process, especially in terms of relevant
tasks, techniques, and work products.
- Data modeling concepts, diagrams, and tools.
- Database management systems (e.g., relational and
object databases and their vendors).
- Data warehousing concepts and techniques.
- Reads books, technical journals, and conference
proceedings on database design, implementation, and
testing.
Database engineers should typically have the following
experience:
- A minimum of 1-2 year’s experience successfully
designing and implementing data and software components
during similar endeavors.
Database engineers typically perform the following
role-specific tasks in an iterative,
incremental, parallel, and time-boxed manner:
Database Engineer typically inherits
common role tasks from the
role method component.
Database Engineers typically perform these tasks as members of the following teams:
As members of these teams, database engineers typically
produce the following work products:
- On smaller projects and in smaller organizations, the
same person often plays the database architect, database
engineer, and the database administrator roles.
- This role is not needed on endeavors that do not involve databases.
- This role typically inherits the
common team guidelines from the
roles method component.