Managing Database Change with Data Modeling

Bert Scalzo, PhD Bert.Scalzo@Quest.com

© 2008 Quest Software, Inc. ALL RIGHTS RESERVED.

Bert Scalzo «
Database Expert & Product Architect for Quest Software
Oracle Background: ‡ Worked with Oracle databases for over two decades (starting with version 4) ‡ Work history includes time at both ³Oracle Education´ and ³Oracle Consulting´ Academic Background: ‡ Several Oracle Masters certifications ‡ BS, MS and PhD in Computer Science ‡ MBA (general business) ‡ Several insurance industry designations Key Interests: ‡ Data Modeling ‡ Database Benchmarking ‡ Database Tuning & Optimization ‡ "Star Schema" Data Warehouses ‡ Oracle on Linux ± and specifically: RAC on Linux Articles for: ‡ Oracle¶s Technology Network (OTN) ‡ Oracle Magazine, ‡ Oracle Informant ‡ PC Week (eWeek) Articles for: ‡ Dell Power Solutions Magazine ‡ The Linux Journal ‡ www.linux.com ‡ www.orafaq.com

2

Books by Bert «

Coming in 2009 «

Out Now «

2nd Edition Coming Soon

3

Agenda ‡ Define Database Change Management ‡ Examine Common DBA Options for Managing Database Structural Changes ‡ Examine the World of Modeling ‡ Why Data Modeling Often Makes Sense as the Change Management Methodology ‡ Examples using Toad Data Modeler .

Presentation Objectives To demonstrate: ‡ Why a change management system is essential ‡ That database structural changes can be accomplished in many ways ‡ How data modeling tools can be an essential part of database change management ‡ The advantages of data modeling in change management .

What is Database Change Management? «Ensuring that the source and target databases are in sync after changes to the environment: ‡ ‡ ‡ ‡ ‡ Development database Test database(s) Production database Distributed databases Replicated databases Task is harder than you may think! .

Common Database Change Management Tasks ‡Create/Drop tables ‡Add/Drop table columns ‡Resize table columns ‡Add/Drop index columns ‡Reorder index columns ‡Add/Drop column constraints ‡Modify column constraint logic ‡Add/Drop table & index partitions ‡Add/Drop object grants and roles ‡Resize or Relocate database objects .

copy table. rename.G. copy data.Change Management Can Be Tedious« ‡ Some database sync tasks require lots extra. grants . the DBA must ± Be aware of all these scenarios ± Write extended alteration scripts ± E.e. shorten) table columns ± And a few others « ‡ Therefore. indirect work (depending on the Oracle server version) ± Drop table columns ± Resize (i.

Common Change Management Options ‡ Direct to Database ‡ One Way DDL Scripts ‡ One Way DDL Scripts + Version Control ‡ Two Way DDL Scripts ‡ Two Way DDL Scripts + Version Control ‡ DB Schema Managers .

e.#1: Direct to Database OEM TOAD DBA Database SQL Plus ‡Pros: ‡Method of least resistance (i. easy) ‡Manually alter the database directly ‡Often use highly visual tools like TOAD DBA and OEM ‡Requires no extra tools (no extra $ or learn curve) ‡Cons: ‡The database is the Master ‡Totally ad-hoc database mods can be problematic ‡Extended alters require lots manual DBA time ‡History of structural changes is lost .

#2: One Way DDL Scripts DDL Script SQL Plus Editor Database ‡Pros: ‡An Old Timer¶s favorite ‡Manually edit a Master DDL script ‡Requires no extra tools (no extra $ or learn curve) ‡Cons: ‡The DDL Script is the Master ‡Can forget & thus loose ad-hoc database mods ‡Extended alters require lots manual DBA time ‡History of structural changes is lost .

#3: One Way DDL Scripts + Version Control DDL Script Editor SQL Plus Database Check-Out Source Code Control Check-In ‡Pros: ‡Manually edit a version of Master DDL script ‡Requires source control tool (free on UNIX) ‡Addresses history shortcoming of prior method ‡Cons: ‡The DDL Script is the Master ‡Can forget & thus loose ad-hoc database mods ‡Extended alters require lots manual DBA time .

#4: Two Way DDL Scripts Orig DDL Script File Diff Tool Gen DDL Script DDL Extract Tool Database Editor New DDL Script SQL Plus ‡Pros: ‡Manually create DDL script based upon compare ‡Requires DDL extract tool (can be SQL script) ‡Cons: ‡The DDL Script is the Master ‡Can miss & over-ride ad-hoc database mods ‡Extended alters require lots manual DBA time ‡History of structural changes is lost .

#5: Two Way DDL Scripts + Version Control Check-Out DDL Script File Diff Tool Gen DDL Script DDL Extract Tool Database Source Code Control Check-In Editor New DDL Script SQL Plus ‡Pros: ‡Manually create DDL script based upon compare ‡Requires DDL extract tool (can be scripts) ‡Requires diff & source control tools (free on UNIX) ‡Addresses history shortcoming of prior method ‡Cons: ‡The DDL Script is the Master ‡Can miss & override ad-hoc database mods ‡Extended alters require lots manual DBA time .

but then no other tools ‡Addresses history shortcoming of prior methods ‡Extended alters as easy as any other modification ‡Cons: ‡Disconnect between data models and database . sync) based upon compare ‡Requires DB comp & sync tool.#6: DB Schema Managers TOAD DBA Quest Schema Manager DB Def File Compare and Sync Database Deltas in Database Compare and Sync Database ‡Pros: ‡Automatically create DDL script or directly apply selected changes (i.e.

.

.

.

.

Data Modeling as a Change Management Methodology ‡ Works off the meta-data documenting the business requirements (i.e. keeps database & its requirements in sync! . the true source code so to speak) ‡ Requires using just one tool ± the data modeling tool ‡ Eliminates having multiple steps and branch points ‡ Sometimes picture of what¶s changed is more readily apparent and understandable than the alternatives ‡ By very nature.

create correct and complete application requirements ‡ Support for all UML diagrams .Analyze requirements .UML) Conceptual Data Modeling (CDM ± E/R) Physical Data Modeling (PDM) .The World of Modeling « ‡ End-user ‡ IT Partner/Liaison Business Process Modeling (BPM) ‡ Business Analyst ‡ System Architect ‡ System Analyst ‡ App Developer ‡ Bus.E/R (Entity/Rel¶ship) diagrams .DB independent view ‡ Business Rules? ‡ ‡ ‡ ‡ DB-specific model Reverse engineer existing DB Create/Update DB from model Data Warehouse Modeling Object-Oriented Modeling (OOM . Processes . Analyst ‡ Data Architect ‡ Data Analyst ‡ DBA ‡ DB Developer ‡ DB Architect ‡ Improve process efficiency ‡ Define/document Bus.Design application ‡ Reverse/forward engineer code ‡ Identify all data & relationships .

e. but then no other tools ‡Addresses history shortcoming of prior methods ‡Extended alters as easy as any other modification ‡No disconnect between data models and database . sync) based upon compare ‡Requires DB compare & sync tool.#6: Data Modeling Tools QDesigner Data Modeler Toad QDesigner Data Modeler Toad Data Model Compare and Sync Database Deltas in Database Compare and Sync Database ‡Pros: ‡Automatically create DDL script or directly apply selected changes (i.

Handle Like Programming Code Check-Out Developer IDE Compiler Object Code Source Code Control Check-In Linker Executable Check-Out Modeling IDE Compare DDL Script Model Repository Check-In Sync Database .

Compare & Sync Combinations ‡ Can compare & sync ± ± ± ± ± ± ± ± Logical to Logical Logical to Physical Physical to Logical Physical to Physical Script to Physical Database to Physical Database to Database Version to Version .

MOVIES Data Model .

two way compare/sync will still be critical (need to catch exceptions to method) ‡ In following demo: ± Will change some live database objects using Toad (e. create table. create entity. drop entity) ± See how modeling tool can find and fix these! .g. alter entity. alter table. drop table) ± Will change some source code or data modeling items (e.Here we go « ‡ ³Best laid plans of mice and men´ ‡ Real life is not as rigid or structured as we plan ‡ Thus even when adopting a data modeling change management approach.g.

.

.

.

.

.

.

.

.

Parting Thoughts ‡ Data modeling can be an invaluable method for managing and addressing change in your DB environments ‡ There are many other issues data modeling can address: ± Modeling accurate business requirements ± Transforming logical into physical models ± Breaking data models into sub-models ± Round-trip Engineering: ‡ Conceptual -> Physical Model compare and sync ‡ Physical Model -> Database compare and sync ± Repository-based collaborative modeling ± Horizontal and Vertical Partitioning ± Data Warehousing (Star Schema design) ± Object-Relational Mapping .

Questions and Answers « Thank You Presenter: Bert Scalzo: Bert.com .Scalzo@Quest.