The boundary between the two functions isn't absolute. For example, some organizations may determine that only a database administrator can create new database tables, even on test systems, for reasons of control and procedure. Others may give this responsibility to the database designer, figuring that a test database changes so frequently that having the designer maintain it is most efficient. Both job functions require in-depth knowledge of the organization's database software; however, each has a slightly different emphasis on the use of the software. Keep in mind that the IT industry runs at a speed sometimes referred to as "Internet Time." Up until 1998, roles of a designer and an administrator were clearly defined and distinguishable from each other. As database software has developed, roles that were once black and white have blended into a color better defined as gray.The following paragraphs attempt to describe the roles of administrator and designer, explaining the differences and similarities between the two.
The Database Administrator
A database administrator is often responsible for databases used in production, much like a system administrator is responsible for an organization's file and print servers. A database administrator's duties might include performing database updates required by the development staff on test and live systems, tuning database performance based on statistics accumulated during the use of the "live" system. In addition, the administrator coordinates with IT staff regarding server hardware and OS issues and backup and restore strategies. Additional duties include importing third-party data (such as Electronic Data Interchange [EDI] information from suppliers) into the database, and resolving errors reported by the database software (such as full log files).
The database administrator may also maintain security for the database, determining which groups of users have access to which data stored in the database and setting policies for how that data can be accessed (for instance, certain data can be viewed over the Internet; other, more sensitive data is only available on the company's intranet).The database administrator may provide input to the database designer on how frequently certain database content is used, what parts of the application might benefit from performance improvement, and other "real world" information that might impact the database design. Organizationally, the database administrator may report to the Director of Technical Support, and his or her workgroup peers may include system administrators and network administrators.
The Database Designer
A database designer is more of a business analyst/software developer than a production support technician. Although a database administrator can likely discourse knowledgeably on the fastest way to organize the indexes on a specific complex table, a database designer will know how to efficiently organize an application's required data into related tables, specifying the most appropriate characteristics for each data item being stored. A database designer is concerned with architecting a database whose structure meets the user community's current and (as much as possible) future needs for data storage and reporting. This architecture can also be effectively used by project development staff creating the programs to store data in and retrieve data from the database. In doing this, they interact with the user community and development staff, maintain the database model (usually a combination of diagrams and written documentation), and create the development database used by project staff.
The database designer sets standards for data access. For example, the designer might specify that a particular database stored procedure always be used to move an order from "data entry" to "fulfillment" status in order to maintain system efficiency and data consistency. They may also be familiar with the project's implementation language, such as Java or Visual Basic, and advise development staff on data access using that language. The database designer also serves as a resource to the database administrator in resolving production issues. Organizationally, the database designer may report to the Director of Systems Development, and his or her workgroup peers may include business systems analysts, application programmers, and application project leaders.
What's the Difference?
The database administrator can be looked at as the person whose primary responsibility tends to be the "production" version of the database. An administrator is usually more skilled at troubleshooting random problems that occur during day-to-day use (such as what to do when the database runs out of disk space), and at choosing the best way to perform administrative tasks (such as database backups).
On the other hand, the database designer can be looked at as the person whose primary responsibility tends to be the "development" version of the database. In general, the database designer is usually more skilled in programming and the precise considerations involved in database design (such as deciding whether a particular piece of data belongs in one table or another).
Because the production version of the database application tends to have more urgent "uptime" (availability) requirements, it is the database administrator who is at the mercy of a pager and can more often be found talking to Oracle support technicians late at night. Similarly, the database designer can also expect a work day to creep toward 12 hours, as a project that is behind schedule (as most real-world database projects tend to be) nears completion. For the most part, the database designer can leave work at the office for the night because trouble with the development version of the database isn't generally considered a pager-worthy issue. So, as with almost all IT jobs involving support or development of systems on which a company relies, database designers and administrators find themselves working unscheduled long hours from time to time.