<p>Longtime database architect/developer/administrator here.</p>
<p>Notice those slashes “/”?? That means there are various responsibilities for databases.</p>
<p>1) The database needs to be logically/physically designed based on customer requirements. This is the job of the data architect or data modeler. The data architect/modeler will create the entity-relationship diagram: entities (which become tables), attributes (which become columns), constraints, indexes and all that mess.</p>
<p>2) The database needs to be developed, created and populated. This is the job of the database developer and sometimes the database administrator. Somebody has the job of taking the design produced by the data architect/modeler and actually create the database and the mechanisms to populate it…using the selected vendor database (like Oracle or SQL Server). Database objects called stored procedures may need to be created to capture the business logic of how data is processed. Stored procedures have many of the constructs that languages like Java has: loops, if-then-else, etc.</p>
<p>3) Once the database is up and running, somebody has to maintain it. That is the job of the database administrator (DBA). The DBA makes sure that the database:</p>
<p>a) Up and running
b) Gives the proper access to the right users
c) Has enough storage space
d) Performing at optimum speed
e) Has backup and recovery processes established
f) Etc, etc, etc</p>
<p>Now who and how many people perform those 3 main tasks above depends on the employer/customer. Here are few manpower scenarios:</p>
<ul>
<li>One person is data modeler, one is developer and one does strictly database administration.</li>
<li>One person is data modeler and developer and one does strictly database administration</li>
<li>One person is data modeler only and one is database administrator/developer</li>
<li>One person is data modeler, developer and DBA until production, then one is DBA for production.</li>
<li>One person does everything. This is big in the DoD world and the position is called database engineer.</li>
</ul>
<p>Personal Opinion: What you don’t want (usually) is to be JUST the DBA. That means you are a) maintaining someone’s design and b) someone’s coding/procedures. I don’t know too many DBA’s who don’t want say-so in the design. Design means almost everything is producing a quality database. A poorly-designed database will never perform optimally no matter how much RAM and chip-speed you throw at it.</p>
<p>24/7 Call: That can happen but that is usually given to folks who either a) wants to do DBA only work and/or b) very young DBA’s just starting out. After I got some years under my belt, I did not do 24/7 on-call jobs and declined any job offers that included that.</p>