Unravelling The Life-Cycle Of Database Development
Software development is a group of actions that are required to transform a user’s needs into a software solution. This not just the part of action that requires people to contribute in the making of a software system, but it also requires a proper planning before it can be executed into a software solution. The activities range from planning of the project, tracking development, managing the complications of building and fixing of errors(if any) that occur during any stage.
These database development related activities can be grouped into phases that are described below, commonly known as DDLC- Database Development Life Cycle.
Database Development Life-Cycle
This is the most important step in the DDLC- identifying exactly what kind of database system is required for the business organization, daily volume of the data, where to store the data, how much data needs to be stored in master files etc. In order to collect all this information, data analyst has to collect information from different departments, spend a lot of time talking to people within the business organization. That is when, the real system definition is established according to the entire business needs.
In this stage, the database designers will make a decision on the database model that is best suited to their organization’s needs. The database designers will study the documents prepared by the analysis prepared by the team of data analysts in the requirements analysis phase and then start developing the system that fulfills the needs. Once the data model is designed for various prototypes, then comes the time to choose the one that is perfectly suited for the requirements of the organization. In order to make a decision in the best of interest, the end users(various departments in the organization) should be involved in the exercise. This stage is further marked by two other sub-stages:
- Logical Database Design: Once the evaluation and selection of a model is done, the next step in the DDLC is logical database design. This includes logical mapping or conceptual design of objects like: tables design, indexes, views, transactions, access privileges to the data, etc.
- Physical Database Design: Physical database design is the procedure of selecting the data storage and data access of the database. The data storage depends on the type of hardware supported by the system, the data access methods and the DBMS. This process is significant in DDLC for the matter that a bad system design can result in poor performance.
In most of the organization, whenever a new database system is being implemented, it needs the special storage related constructs to house the end user database storage, tables etc. The implementation stage can also be further divided into sub-stages:
- Data Conversion and Loading: This step requires the data to be stored or loaded in the new database management system. The data requires to be converted or migrated to the new database, if the data is currently stored in a different system or in a different format.
- Testing and Performance Tuning: This is the next phase after the data conversion and loading phase has been successfully completed by converting and loading the data. In this phase, data is thoroughly tested and fine-tuned for data integrity and security constraints. It is very important that data administrators and programmers work together during this phase, because testing and fine tuning according to the needs is done in parallel.
Operations and maintenance processes will keep on going until all the bug fixes in the system are not completed. During the operations phase, the end users who are satisfied with system: add the data to DBMS, Modify it or delete the obsolete data once the above system is implemented in a robust manner.
Maintenance is one of the never ending phase that is very important for the entire DDLC to work efficiently. Factors such as new business needs, new information requirements, etc. will keep on going with the system. In such cases, activities like database backup and recovery, performance tuning, design modifications, access management and audits etc. mark the never ending process of maintenance.