Database is a collection of logically coherent data, which come together to serve a particular purpose and they emulate some aspect of real world.Database System is designed to handle very large amount of data and may extend up to several Terabytes of size. It must also have an inbuilt mechanism to recover the data in case of system crashes and protect the data for any unauthorized access and manipulation.
It is interesting to know that we all come across database several times during the day, during logging into email account, user-id and encrypted password associated with it is retrieved. During ATM transaction, money is debited and account is updated with the same in the Database System of the bank, these types of use make us End Users. End users are basically consumers who are using a product; they might use it for generating monthly reports, withdrawing money from bank or for specialized and complex use like forecasting sales for next season.
Database Administrators are needed to administer and monitor usage of the Database. They are responsible to tune the Database for performance issues, to grant access of DB to users and initiate recovery in event of system crash and protect the system in case of security issues.
Database Designers come into picture before a database is built. They gather requirements from all prospective users; level of access required for each user or a group and designs the DB which meets the requirement. They are responsible for identifying the data to be populated and appropriate data strictures for the database. They are generally part of Database Administrators.
Application programmers are necessary to built user interfaces and applications to satisfy needs of end users. They develop applications which make data retrieval, creation of reports more convenient.