Database Design   «Prev  Next»

Lesson 8Database Change Management
ObjectiveDescribe the elements of Database Change Management

Database Change Management

Database change management is the process used to manage the changes that occur after a system is implemented. A change management process has the following benefits:
  1. It helps you understand when it is acceptable to make changes and when it is not.
  2. It provides a log of all changes that have been made to assist with troubleshooting when problems occur.
  3. It can manage versions of software components so that a defective version can be smoothly backed out.
Change is inevitable. Not only do business requirements change, but new versions of database and operating system software must be incorporated. Technologists should devise a change control method suitable to the organization, and management should approve it as a standard. Anything less leads to chaos when changes are made without the proper coordination and communication.

Change Management Terminology

Although terminology varies among standard methods, they all have common features:
  1. Version numbering: Components of an application system are assigned version numbers, usually starting with 1 and advancing sequentially every time the component is changed. Usually a revision date and the identifier of the person making the change are carried with the version number.
  2. Release (build) numbering: A release is a point in time at which all components of an application system (including database components) are promoted to the next environment (for example, from development to system test) as a bundle that can be tested and deployed together. Some organizations use the term build instead. As releases are formed, it is important to label each component included with the release (or build) number. This allows you to tell which version of each component was included in a particular release.
  3. Prioritization: Changes may be assigned priorities to allow them to be scheduled accordingly.
  4. Change request tracking: Change requests can be placed into the change control system, routed through channels for approval, and marked with the applicable release number when the change is completed.
  5. Check-out and check-in: When a developer or DBA is ready to apply changes to a component, he should be able to check it out (reserve it), which prevents others from making potentially conflicting changes to the same component at the same time. When work is complete, the developer or DBA checks the component back in, which essentially releases the reservation.

Database Change Management and the Database Life Cycle

Database Change Management is a critical aspect of the database lifecycle that deals with managing and controlling changes to the database schema, structure, and data in a consistent and organized manner. It ensures that modifications to the database do not negatively impact its performance, integrity, or functionality. Database Change Management typically fits into the following stages of the database lifecycle:
  1. Design and modeling: During the design and modeling stage, the initial database schema, structure, and relationships are defined. Changes at this stage involve refining the database design to better represent the data and business requirements. Proper change management practices help ensure that design changes are tracked and reviewed before implementation.
  2. Development: As the database is being developed, changes to the schema, structure, or data may be necessary to accommodate evolving business requirements or to fix issues discovered during development. Database Change Management helps to maintain version control, track changes, and manage the deployment of updates in a controlled and consistent manner.
  3. Testing: During the testing phase, changes to the database may be required to address bugs, performance issues, or other concerns discovered during testing. Change management practices help to track these changes, ensure they are properly tested, and maintain a consistent database state throughout the testing process.
  4. Deployment: When deploying the database to a production environment or updating an existing production database, Database Change Management ensures that changes are applied in a controlled and consistent manner, minimizing the risk of errors, downtime, or data loss. This can involve the use of version control systems, scripts, and automation tools to manage the deployment process.
  5. Maintenance and support: After the database is in production, ongoing maintenance and support activities may require changes to the schema, structure, or data. Database Change Management helps to track and manage these changes, ensuring that they are reviewed, tested, and deployed in a controlled and consistent manner.
  6. Evolution and enhancement: As business requirements evolve or new features are added to applications, the database may need to be updated or enhanced. Database Change Management ensures that these changes are managed effectively throughout the database lifecycle, preserving the integrity and performance of the database.

Database Change Management is an essential aspect of the database lifecycle, helping to manage and control changes to the database schema, structure, and data throughout the design, development, testing, deployment, maintenance, and evolution stages. Effective change management practices ensure that database modifications are implemented in a controlled and consistent manner, minimizing the risk of errors, downtime, or data loss.

Change Management

A number of commercial and freeware software products can be deployed to assist with database change management. However, it is important that you establish the process before choosing tools. In this way, the organization can establish the best process for their needs and find the tool that best fits that process rather than trying to retrofit a tool to their existing process. From the database perspective, the DBA should develop DDL statements to implement all the database components of an application system and a script that can be used to invoke all the changes, including any required conversions. This deployment script and all the DDL should be checked into the change control system and managed just like all the other software components of the system.