Hi,
Database Design
This activity in creating a database application lays the groundwork for success in supporting current and future needs of the application. To design a database requires two steps. The two steps of designing a database are
1. Creating an entity-relationship diagram
2. Translating an entity-relationship diagram into a logical data model
Creating an entity-relationship diagram and translating it into a logical data model is an involved process. The steps to execute this process, however, are important to ensure correct design of the tables that will support both the user interface and the reports. So, even though the users will interface with the database in a controlled manner via the application, it is still important for the success of the application to have a strong database design.
Application Development
Once the users’ needs are assessed and the database design in place, the building of the application logic can begin. Some components of the application that may be placed within the database include integrity constraints and triggers, stored procedures and/or packages, and tuned SQL statements. Application development is often a task that involves stepwise refinement. As needs arise, or as hidden intricacies of a current process are uncovered, the application software that models business rules will undoubtedly grow complex.
Performance Tuning
No application is harder to use than a slow one. The application developers should, wherever possible, explore alternative methods for providing the same data to the user interface or reports in order to find the method that performs best. This step may involve development of alternative blocks of code that pull the same data from the database and executing benchmark tests to compare performance. This step may also involve the maintenance of two different databases, or at the very least, the ability to stop and restart a database with initialization parameters set to handle different periods of operation, such as daily production and weekend maintenance.
Database Security
The guarded usage of the database application created will ensure that its use is appropriate. Database security is an important factor in any database, allowing the developers and managers for the database system to handle large user populations, if necessary, and to limit database access to those users that require it. One key activity that should occur early on in the development of an application is the determining of levels of data access that will be afforded to each user or type of user in the system. At this early stage of the project, users should be divided into rough categories for the purpose of determining what data they need access to in order to perform their tasks. Furthermore, once general access and usage levels for various users are established, there are features within the database that allow the developer or the DBA to limit users to only their access level or to restrict their usage of the database to only what they need. Some key terms to know here are privileges and roles for managing user access, and resource profiles to manage system hardware usage.