Index

A

access programs. See external access programs

AD (Agile Data) method, 2

Add CRUD Methods refactoring, 232-235, 241, 243

Add Foreign Key Constraint refactoring, 157, 204-208

Add Foreign Key refactoring, 162, 180

Add Lookup Table refactoring, 153-157, 162

Add Mirror Table refactoring, 236-239

Add Parameter refactoring, 277-278, 281

Add Read Method refactoring, 233, 240-242

Add Trigger For Calculated Column refactoring, 209-212

adding

calculation methods, 245-247

cascading deletes, 215-218

columns, 301-303

constraints, 180-182

data formats, 183-185

default values, 186-188

hard deletes, 219-221

indexes, 248-250

non-nullable columns, 189-191

read-only tables, 251-256

soft deletes, 222-226

tables, 304-305

triggers, 227-230

variables, 287-288

views, 306-309

Agile Data (AD) method, 2

Agile Databases mailing list, 68

agile methods, defined, xxi

Agile Model-Driven Development (AMDD), 4, 22

agile software development, values of, xxiii-xxiv

agile software processes, 1

algorithms, 293

AMDD (Agile Model-Driven Development), 4, 22

announcing database refactoring, 46-47

applications. See external access programs

Apply Standard Codes refactoring, 35, 38, 62, 157, 159-161, 172, 181, 273, 311

Apply Standard Type refactoring, 43, 162-167, 172, 181, 273, 311

architectural refactorings

Add CRUD Methods, 232-235

Add Mirror Table, 236-239

Add Read Method, 240-242

Encapsulate Table With View, 243-244

Introduce Calculation Method, 245-247

Introduce Index, 248-250

Introduce Read-Only Table, 251-256

list of, 231

Migrate Method From Database, 257-260

Migrate Method To Database, 261-264

Replace Method(s) With View, 265-267

Replace View With Method(s), 268-270

Use Official Data Source, 271-275

associations. See relationships

associative tables

naming conventions, 133

replacing one-to-many relationship with, 130-135

B–C

batch synchronization, 63

behavioral semantics, maintaining, 20-21

bundles, deploying database refactorings as, 51-53

calculated columns

Add Trigger For Calculated Column refactoring, 209-212

Introduce Calculated Column refactoring, 81-85

calculation methods, 245-247

cascading deletes, 215-218

CCB (change control board), 65

change, fear of, 25

child records, removing, 215-218

cleansing data values, 40, 43. See also data quality refactorings

code columns, replacing with property flags, 196-201

code refactoring. See also database refactoring

database refactoring versus, 15-16

defined, 3, 13-14

of external access programs, 44-45

columns

Apply Standard Codes refactoring, 157-161

Apply Standard Type refactoring, 162-167

calculated columns

adding, 81-85

triggers for, 209-212

code columns, replacing with property flags, 196-201

constraints

adding, 180-182

removing, 172-173

data formats, adding, 183-185

default values

adding, 186-188

removing, 174-176

excess columns, as database smells, 24

Introduce New Column transformation, 301-303

lookup tables, adding, 153-156

merging, 92-96

moving, 103-109

multipurpose columns, as database smells, 24

non-nullable columns

adding, 189-191

removing, 177-179

removing, 72-77

renaming, 109-113

replacing, 126-130

smart columns, as database smells, 25

splitting, 140-145

conditional expressions

Consolidate Conditional Expression refactoring, 283-284

Decompose Conditional refactoring, 284-285

nested conditionals, 292

configuration management of database artifacts, 3, 9, 67. See also version identification strategies

Consistent Key Strategy refactoring, 85-87

Consolidate Conditional Expression refactoring, 277, 283-284

Consolidate Key Strategy refactoring, 38, 135, 168-171, 248, 272

constraints

adding, 180-182

fixing after data quality refactorings, 152

foreign key constraints

adding, 204-208

removing, 213-214

removing, 172-173

continuous development, 45

control flags, removing, 289

coupling, 15. See also external access programs

encapsulation of, 66

reducing, 27-28, 85

CRUD (creation, retrieval, update, and deletion) methods, 232-235

culture, as impediment to evolutionary database development techniques, 11

D

data

Insert Data transformation, 296-300

Update Data transformation, 310-313

data formats, adding, 183-185

data migration, 43

Add Foreign Key Constraint refactoring, 206-207

Add Lookup Table refactoring, 155

Add Mirror Table refactoring, 237-239

Add Trigger For Calculated Column refactoring, 211

Apply Standard Codes refactoring, 159

Apply Standard Type refactoring, 166

Consolidate Key Strategy refactoring, 170

Drop Column refactoring, 74

Drop Table refactoring, 78

Insert Data transformation, 298

Introduce Calculated Column refactoring, 83

Introduce Column Constraint refactoring, 181

Introduce Common Format refactoring, 184-185

Introduce Default Value refactoring, 187

Introduce Hard Delete refactoring, 220

Introduce Index refactoring, 249-250

Introduce New Column transformation, 302

Introduce New Table transformation, 305

Introduce Read-Only Table refactoring, 253-255

Introduce Soft Delete refactoring, 225

Introduce Surrogate Key refactoring, 90

Introduce Trigger For History refactoring, 229

Make Column Non-Nullable refactoring, 190

Merge Columns refactoring, 94

Merge Tables refactoring, 98-100

Move Column refactoring, 107

Move Data refactoring, 194

Rename Column refactoring, 111

Rename Table refactoring, 116

Replace Column refactoring, 128

Replace LOB With Table refactoring, 123

Replace One-To-Many With Associative Table refactoring, 133

Replace Type Code With Property Flags refactoring, 199-200

Split Column refactoring, 142

Split Table refactoring, 147

Update Data transformation, 311-312

Use Official Data Source refactoring, 274

validating, 38, 40

data modeling notation, 315-319

data quality refactorings. See also cleansing data values

Add Lookup Table, 153-156

Apply Standard Codes, 157-161

Apply Standard Type, 162-167

common issues, 152

Consolidate Key Strategy, 168-171

Drop Column Constraint, 172-173

Drop Default Value, 174-176

Drop Non-Nullable, 177-179

Introduce Column Constraint, 180-182

Introduce Common Format, 183-185

Introduce Default Value, 186-188

list of, 151

Make Column Non-Nullable, 189-191

Move Data, 192-195

Replace Type Code With Property Flags, 196-201

data refactoring, documentation and, 44

data sources, Use Official Data Source refactoring, 271-275

data types, Apply Standard Type refactoring, 162-167

data updates after data quality refactorings, 152

database access logic. See also external access programs

encapsulation of, 66

reducing coupling, 27-28, 85

database change control board (CCB), 65

database configuration tables, 63

database development techniques versus software development techniques, 2

database implementation, database refactoring as technique, 25-26

database performance

Introduce Surrogate Key refactoring, 85

Split Table refactoring, 145

database refactoring. See also code refactoring

categories of, 22

code refactoring versus, 15-16

data quality refactorings. See data quality refactorings

as database implementation technique, 25-26

database smells and, 22-25

defined, xxi, 2-3, 14

deployment, 49-50

between sandboxes, 50-51

as bundles, 51-53

process overview, 54-56

removing deprecated schemas, 56

scheduling deployment windows, 53-54

documentation and, 46

example, 15, 17

in multi-application database architecture, 18-20

semantics, maintaining, 20-21

in single-application database architecture, 15, 18-19

“lessons learned” strategies

configuration management of database artifacts, 67

database change control board (CCB), 65

database configuration tables, 63

encapsulation of database access logic, 66

installation scripts, 66-67

large changes implemented as small changes, 62

list of, 59

politics, 68

small changes, ease of application, 60

SQL duplication, 67

synchronization with triggers, 63

team negotiations, 65

transition periods, 65

version identification, 60, 62

modeling versus, 22

online resources, 68

process of

announcing refactoring, 46-47

migrating source data, 43

modifying database schema, 40-42

overview, 29, 31

refactoring external access programs, 44-45

regression testing, 45

selecting appropriate refactoring, 33-34

testing phases, 37-40

transition period, 34-36

verifying appropriateness of refactoring, 32-33

version control, 45

reducing coupling, 27-28

structural refactorings. See structural refactorings

database regression testing, 3, 6, 8-9

database schema

deprecation of, 34-36, 56

modifying, 40-42

testing, 37-38

updating

for Add CRUD Methods refactoring, 233-234

for Add Foreign Key Constraint refactoring, 205-206

for Add Lookup Table refactoring, 154-155

for Add Mirror Table refactoring, 237

for Add Read Method refactoring, 241-242

for Add Trigger For Calculated Column refactoring, 210-211

for Apply Standard Codes refactoring, 159

for Apply Standard Type refactoring, 164-166

for Consolidate Key Strategy refactoring, 169-170

for Drop Column Constraint refactoring, 173

for Drop Column refactoring, 73-74

for Drop Default Value refactoring, 175

for Drop Foreign Key Constraint refactoring, 213

for Drop Non-Nullable refactoring, 178

for Drop Table refactoring, 77-78

for Drop View refactoring, 80

for Encapsulate Table With View refactoring, 244

for Insert Data transformation, 297

for Introduce Calculated Column refactoring, 82-83

for Introduce Calculation Method refactoring, 246

for Introduce Cascading Delete refactoring, 216-217

for Introduce Column Constraint refactoring, 181

for Introduce Common Format refactoring, 184

for Introduce Default Value refactoring, 187

for Introduce Hard Delete refactoring, 220

for Introduce Index refactoring, 248-249

for Introduce New Column transformation, 301

for Introduce New Table transformation, 305

for Introduce Read-Only Table refactoring, 252

for Introduce Soft Delete refactoring, 223-224

for Introduce Surrogate Key refactoring, 87-89

for Introduce Trigger For History refactoring, 227-229

for Introduce View transformation, 307-308

for Make Column Non-Nullable refactoring, 190

for Merge Columns refactoring, 93-94

for Merge Tables refactoring, 97-98

for Migrate Method From Database refactoring, 258

for Migrate Method To Database refactoring, 262

for Move Column refactoring, 105-106

for Move Data refactoring, 194

for Rename Column refactoring, 110-111

for Rename Table refactoring, 114-115

for Rename View refactoring, 117-118

for Replace Column refactoring, 127-128

for Replace LOB With Table refactoring, 120-123

for Replace Method(s) With View refactoring, 266

for Replace One-To-Many With Associative Table refactoring, 131-132

for Replace Surrogate Key With Natural Key refactoring, 136-137

for Replace Type Code With Property Flags refactoring, 198-199

for Replace View With Method(s) refactoring, 269

for Split Column refactoring, 141-142

for Split Table refactoring, 146-147

for Use Official Data Source refactoring, 273-274

version identification strategies, 42, 60-63

database smells, list of, 22-25

database transformations

database refactorings as subset of, 21

list of, 295

deadlock, avoiding, 215

Decompose Conditional refactoring, 284-285

default values

adding, 186-188

removing, 174-176

Delete Data refactoring, 181

deploying database refactoring, 49-50

between sandboxes, 50-51

as bundles, 51-53

process overview, 54-56

removing deprecated schemas, 56

scheduling deployment windows, 53-54

deployment windows, scheduling, 53-54

deprecated schemas, 34-36, 56

developer sandboxes, 3, 10, 50-51

documentation, 44, 46

Drop Column Constraint refactoring, 152, 172-173

Drop Column refactoring, 72-75, 77, 192-193, 220, 243, 245

Drop Default Value refactoring, 174-176

Drop Foreign Key Constraint refactoring, 172, 213-214

Drop Foreign Key refactoring, 78

Drop Non-Nullable refactoring, 177-179, 302

Drop Table refactoring, 77-78, 193, 274, 304

Drop View refactoring, 79-80, 269

duplication of SQL code, 67

E

Encapsulate Table With View refactoring, 243-244, 274

encapsulation, 27

with Add CRUD Methods refactoring, 232

with Add Read Method refactoring, 240

of database access logic, 66

evolutionary data modeling, 3-7

evolutionary database development techniques

advantages of, xxii-xxiii

database refactoring. See database refactoring

database regression testing, 6-9

developer sandboxes, 10

disadvantages of, xxiii

evolutionary data modeling, 4-7

impediments to, 11-12

list of, 2-3

evolutionary methods, xxi

evolutionary software processes, examples of, 1

excess columns, as database smells, 24

excess rows, as database smells, 24

external access programs. See also coupling

continuous development, 45

refactoring, 44-45

testing, 39-40

updating

for Add CRUD Methods refactoring, 235

for Add Foreign Key Constraint refactoring, 207-208

for Add Lookup Table refactoring, 155-156

for Add Mirror Table refactoring, 239

for Add Read Method refactoring, 242

for Add Trigger For Calculated Column refactoring, 212

for Apply Standard Codes refactoring, 160-161

for Apply Standard Type refactoring, 166-167

for Consolidate Key Strategy refactoring, 171

for Drop Column Constraint refactoring, 173

for Drop Column refactoring, 74-77

for Drop Default Value refactoring, 175-176

for Drop Foreign Key Constraint refactoring, 214

for Drop Non-Nullable refactoring, 178-179

for Drop Table refactoring, 78

for Drop View refactoring, 80

for Encapsulate Table With View refactoring, 244

for Insert Data transformation, 298-300

for Introduce Calculated Column refactoring, 83-85

for Introduce Calculation Method refactoring, 246-247

for Introduce Cascading Delete refactoring, 217-218

for Introduce Column Constraint refactoring, 182

for Introduce Common Format refactoring, 185

for Introduce Default Value refactoring, 187-188

for Introduce Hard Delete refactoring, 220-221

for Introduce Index refactoring, 250

for Introduce New Column transformation, 302-303

for Introduce New Table transformation, 305

for Introduce Read-Only Table refactoring, 256

for Introduce Soft Delete refactoring, 225-226

for Introduce Surrogate Key refactoring, 90, 92

for Introduce Trigger For History refactoring, 229-230

for Introduce View transformation, 308-309

for Make Column Non-Nullable refactoring, 191

for Merge Columns refactoring, 94-96

for Merge Tables refactoring, 100-103

for Migrate Method From Database refactoring, 259-260

for Migrate Method To Database refactoring, 262-264

for Move Column refactoring, 107-109

for Move Data refactoring, 194-195

for Rename Column refactoring, 111-113

for Rename Table refactoring, 116-117

for Rename View refactoring, 118-120

for Replace Column refactoring, 128-130

for Replace LOB With Table refactoring, 124-126

for Replace Method(s) With View refactoring, 267

for Replace One-To-Many With Associative Table refactoring, 133-135

for Replace Surrogate Key With Natural Key refactoring, 137-140

for Replace Type Code With Property Flags refactoring, 200-201

for Replace View With Method(s) refactoring, 269-270

for Split Column refactoring, 143-145

for Split Table refactoring, 148-149

for Update Data transformation, 312-313

for Use Official Data Source refactoring, 274-275

Extract Method refactoring, 283-287

Extract Stored Procedure refactoring, 290

F

fear of change, as database smell, 25

foreign keys

adding, 204-208

Drop Column refactoring and, 73-74

removing, 213-214

Fowler, Martin (Refactoring), xxi, 277

G–H

guard clauses, 292

hard deletes, adding, 219-221

historical changes, adding triggers for, 227-230

I

indexes

Introduce Index refactoring, 248-250

UML notation for, 319

informational semantics, maintaining, 20-21

Insert Data transformation, 296-300, 305

installation scripts, 66-67

interface changing refactorings, 277

Add Parameter, 278

Parameterize Method, 278

Remove Parameter, 279-280

Rename Method, 279

Reorder Parameters, 281-282

Replace Parameter with Explicit Methods, 282

internal refactorings (for methods), 283

Consolidate Conditional Expression, 283-284

Decompose Conditional, 284-285

Extract Method, 285-287

Introduce Variable, 287-288

Remove Control Flag, 289

Remove Middle Man, 289-290

Replace Literal with Table Lookup, 290-291

Replace Nested Conditional with Guard Clauses, 292

Split Temporary Variable, 292-293

Substitute Algorithm, 293

Introduce Calculated Column refactoring, 81-83, 85, 209, 245

Introduce Calculation Method refactoring, 21, 245-247

Introduce Cascading Delete refactoring, 215-218

Introduce Column Constraint refactoring, 35, 152, 173, 180-182

Introduce Column transformation, 21, 33

Introduce Common Format refactoring, 20, 33, 43, 183-185, 273

Introduce Default Value refactoring, 174, 178, 186-189, 223, 302

Introduce Hard Delete refactoring, 219-222, 240

Introduce Index refactoring, 62, 169, 205, 248-250

Introduce New Column transformation, 62, 82, 210, 301-303, 310

Introduce New Table transformation, 62, 304-305

Introduce Read-Only Table refactoring, 251-256, 307

Introduce Soft Delete refactoring, 219, 222-226, 240

Introduce Surrogate Key refactoring, 85-90, 92, 135, 169

Introduce Trigger For History refactoring, 219, 227-230

Introduce Variable refactoring, 287-288

Introduce View transformation, 266, 298, 306-309

J–K

joins, 103

keys. See also foreign keys; natural keys; primary keys; surrogate keys

Consolidate Key Strategy refactoring, 168-171

UML notation for, 316-317

L

large changes implemented as small changes, 62

literal numbers, 290-291

LOB (large object), replacing, 120-126

logical deletes. See soft deletes

lookup tables, 153-156

M

Make Column Non-Nullable refactoring, 177, 180, 189-191, 302

many-to-many relationships, 130

materialized views, 253

Merge Columns refactoring, 92-96, 141, 193, 310

Merge Tables refactoring, 96-103, 146, 193, 296, 304, 310

method refactorings, 277

interface changing refactorings, 277

Add Parameter, 278

Parameterize Method, 278

Remove Parameter, 279-280

Rename Method, 279

Reorder Parameters, 281-282

Replace Parameter with Explicit Methods, 282

internal refactorings, 283

Consolidate Conditional Expression, 283-284

Decompose Conditional, 284-285

Extract Method, 285-287

Introduce Variable, 287-288

Remove Control Flag, 289

Remove Middle Man, 289-290

Replace Literal with Table Lookup, 290-291

Replace Nested Conditional with Guard Clauses, 292

Split Temporary Variable, 292-293

Substitute Algorithm, 293

Migrate Method From Database refactoring, 257-260

Migrate Method To Database refactoring, 261-264

migration. See data migration

mirror tables, 236-239

modeling, database refactoring versus, 22

Move Column refactoring, 15, 18, 29, 33-34, 62, 103-109, 140, 145, 233, 301, 310

Move Data refactoring, 43, 62, 72, 145, 192-195

multi-application database architecture, 15, 18-20

multiplicity indicators, UML notation, 317

multipurpose columns, as database smells, 24

multipurpose tables, as database smells, 24

N

naming conventions

associative tables, 133

for CRUD methods, 234

fixing after structural refactorings, 71

natural keys

replacing surrogate keys with, 135-140

surrogate keys versus, 85, 136

nested conditionals, 292

non-nullable columns

adding, 189-191

removing, 177-179

normalization

Move Column refactoring and, 103

Split Table refactoring and, 146

notation (UML data modeling), 315-319

numbering scripts, 41

O–P

one-to-many relationship, replacing, 130-135

online resources, 68

order (for keys), UML notation for, 317

Parameterize Method refactoring, 278

parameters

Add Parameter refactoring, 278

Parameterize Method refactoring, 278

Remove Parameter refactoring, 279-280

Reorder Parameters refactoring, 281-282

Replace Parameter with Explicit Methods refactoring, 282

PDM (physical data model), 6

performance. See database performance

periodic refreshes, 253

physical data model (PDM), 6

politics, 68

production deployment. See deploying database refactoring

property flags, 196-201

Q–R

quality. See cleansing data values; data quality refactorings

read methods, 240-242

read-only tables, 251-256

real-time application updates for read-only tables, 254

redundant data, as database smells, 24

refactoring. See code refactoring; database refactoring

Refactoring (Fowler), xxi, 277

referential integrity refactorings

Add Foreign Key Constraint, 204-208

Add Trigger For Calculated Column, 209-212

Drop Foreign Key Constraint, 213-214

Introduce Cascading Delete, 215-218

Introduce Hard Delete, 219-221

Introduce Soft Delete, 222-226

Introduce Trigger For History, 227-230

list of, 203

regression testing, 6, 45. See also database regression testing

relationships, UML notation for, 317-318

release windows. See deployment windows

Remove Control Flag refactoring, 289

Remove Middle Man refactoring, 289-290

Remove Parameter refactoring, 279-280

Remove Table refactoring, 296

removing

child records, 215-218

columns, 72-77

constraints, 172-173

default values, 174-176

deprecated schemas, 56

foreign keys, 213-214

non-nullable columns, 177-179

rows, 219-226

tables, 77-78

views, 79-80

Rename Column refactoring, 33, 109-113, 243, 301, 307, 310

Rename Method refactoring, 279

Rename Table refactoring, 113-117, 233, 296, 304, 307, 310

Rename View refactoring, 117-120

Reorder Parameters refactoring, 278, 281-282

Replace Column refactoring, 126-130, 169-170

Replace Literal With Table Lookup refactoring, 290-291

Replace LOB With Table refactoring, 120-126

Replace Magic Number With Symbolic Constant refactoring, 290

Replace Method(s) With View refactoring, 265-267

Replace Nested Conditional with Guard Clauses refactoring, 292

Replace One-To-Many With Associative Table refactoring, 130-135

Replace Parameter With Explicit Methods refactoring, 282

Replace Surrogate Key With Natural Key refactoring, 85, 135-140

Replace Type Code With Property Flags refactoring, 196-201

Replace View With Method(s) refactoring, 268-270

rows

excess rows, as database smells, 24

removing, 219-226

S

sandboxes. See developer sandboxes

scheduling deployment windows, 53-54

schema. See database schema

scripts, numbering, 41

semantics, maintaining, 20-21

single-application database architecture, 15, 18-19

small changes

ease of application, 60

large changes implemented as, 62

smart columns, as database smells, 25

smells. See database smells

soft deletes, 219, 222-226

software development techniques versus database development techniques, 2

source data, Use Official Data Source refactoring, 271-275

source data migration. See data migration

Split Column refactoring, 140-145, 193, 233, 310

Split Table refactoring, 62, 103, 145-148, 193, 296, 304, 310

Split Temporary Variable refactoring, 292-293

SQL duplication, 67

standard codes, Apply Standard Codes refactoring, 157-161

static lookup data, 297

stored procedures

Add CRUD Methods refactoring, 232-235

Add Read Method refactoring, 240-242

fixing

after data quality refactorings, 152

after structural refactorings, 71

Introduce Calculation Method refactoring, 245-247

method refactorings. See method refactorings

Migrate Method From Database refactoring, 257-260

Migrate Method To Database refactoring, 261-264

Replace Method(s) With View refactoring, 265-267

Replace View With Method(s) refactoring, 268-270

UML notation for, 319

structural refactorings

common issues, 70-71

Drop Column, 72-77

Drop Table, 77-78

Drop View, 79-80

Introduce Calculated Column, 81-85

Introduce Surrogate Key, 85-92

list of, 69

Merge Columns, 92-96

Merge Tables, 96-103

Move Column, 103-109

Rename Column, 109-113

Rename Table, 113-117

Rename View, 117-120

Replace Column, 126-130

Replace LOB With Table, 120-126

Replace One-To-Many With Associative Table, 130-135

Replace Surrogate Key With Natural Key, 135-140

Split Column, 140-145

Split Table, 145-148

Substitute Algorithm refactoring, 293

surrogate keys

adding, 85-92

natural keys versus, 85, 136

replacing, 135-140

synchronization

for Introduce Calculated Column refactoring, 82

trigger-based synchronization, 63, 254

T

tables

associative tables

naming conventions, 133

replacing one-to-many relationship with, 130-135

columns. See columns

Encapsulate Table With View refactoring, 243-244

fixing after structural refactorings, 71

foreign keys. See foreign keys

Insert Data transformation, 296-300

Introduce New Table transformation, 304-305

lookup tables, 153-156

merging, 96-103

mirror tables, 236-239

Move Data refactoring, 192-195

multipurpose tables, as database smells, 24

read-only tables, 251-256

removing, 77-78

renaming, 113-117

Replace Literal With Table Lookup refactoring, 290-291

replacing LOB (large object) with, 120-126

rows. See rows

splitting, 145-148

UML notation for, 315

Update Data transformation, 310-313

views, 306-309

TDD (Test-Driven Development), 9, 37-40

team negotiations for selecting transition periods, 65

temporary variables, splitting, 292-293

test data, 297

Test-Driven Development (TDD), 9, 37-40

Test-First Development (TFD), 8-9

testing

in database refactoring process, 37-40

regression testing, 45

TFD (Test-First Development), 8-9

tools, as impediment to evolutionary database development techniques, 12

transformations. See database transformations

transition period, 34-36

selecting, 65

for structural refactorings, 71

trigger-based synchronization, 63, 254

triggers

adding

Add Trigger For Calculated Column refactoring, 209-212

Introduce Trigger For History refactoring, 227-230

avoiding cycles, 70

fixing after structural refactorings, 71

U

UML data modeling notation, 315-319

Update Data refactoring, 166, 181, 184, 199, 249, 310-313

updateable views, 115

updating

data after data quality refactorings, 152

external access programs

for Add CRUD Methods refactoring, 235

for Add Foreign Key Constraint refactoring, 207-208

for Add Lookup Table refactoring, 155-156

for Add Mirror Table refactoring, 239

for Add Read Method refactoring, 242

for Add Trigger For Calculated Column refactoring, 212

for Apply Standard Codes refactoring, 160-161

for Apply Standard Type refactoring, 166-167

for Consolidate Key Strategy refactoring, 171

for Drop Column Constraint refactoring, 173

for Drop Column refactoring, 74-77

for Drop Default Value refactoring, 175-176

for Drop Foreign Key Constraint refactoring, 214

for Drop Non-Nullable refactoring, 178-179

for Drop Table refactoring, 78

for Drop View refactoring, 80

for Encapsulate Table With View refactoring, 244

for Insert Data transformation, 298-300

for Introduce Calculated Column refactoring, 83-85

for Introduce Calculation Method refactoring, 246-247

for Introduce Cascading Delete refactoring, 217-218

for Introduce Column Constraint refactoring, 182

for Introduce Common Format refactoring, 185

for Introduce Default Value refactoring, 187-188

for Introduce Hard Delete refactoring, 220-221

for Introduce Index refactoring, 250

for Introduce New Column transformation, 302-303

for Introduce New Table transformation, 305

for Introduce Read-Only Table refactoring, 256

for Introduce Soft Delete refactoring, 225-226

for Introduce Surrogate Key refactoring, 90-92

for Introduce Trigger For History refactoring, 229-230

for Introduce View transformation, 308-309

for Make Column Non-Nullable refactoring, 191

for Merge Columns refactoring, 94-96

for Merge Tables refactoring, 100-103

for Migrate Method From Database refactoring, 259-260

for Migrate Method To Database refactoring, 262-264

for Move Column refactoring, 107-109

for Move Data refactoring, 194-195

for Rename Column refactoring, 111-113

for Rename Table refactoring, 116-117

for Rename View refactoring, 118-120

for Replace Column refactoring, 128-130

for Replace LOB With Table refactoring, 124-126

for Replace Method(s) With View refactoring, 267

for Replace One-To-Many With Associative Table refactoring, 133-135

for Replace Surrogate Key With Natural Key refactoring, 137-140

for Replace Type Code With Property Flags refactoring, 200-201

for Replace View With Method(s) refactoring, 269-270

for Split Column refactoring, 143-145

for Split Table refactoring, 148-149

for Update Data transformation, 312-313

for Use Official Data Source refactoring, 274-275

schema

for Add CRUD Methods refactoring, 233-234

for Add Foreign Key Constraint refactoring, 205-206

for Add Lookup Table refactoring, 154-155

for Add Mirror Table refactoring, 237

for Add Read Method refactoring, 241-242

for Add Trigger For Calculated Column refactoring, 210-211

for Apply Standard Codes refactoring, 159

for Apply Standard Type refactoring, 164-166

for Consolidate Key Strategy refactoring, 169-170

for Drop Column Constraint refactoring, 173

for Drop Column refactoring, 73-74

for Drop Default Value refactoring, 175

for Drop Foreign Key Constraint refactoring, 213

for Drop Non-Nullable refactoring, 178

for Drop Table refactoring, 77-78

for Drop View refactoring, 80

for Encapsulate Table With View refactoring, 244

for Insert Data transformation, 297

for Introduce Calculated Column refactoring, 82-83

for Introduce Calculation Method refactoring, 246

for Introduce Cascading Delete refactoring, 216-217

for Introduce Column Constraint refactoring, 181

for Introduce Common Format refactoring, 184

for Introduce Default Value refactoring, 187

for Introduce Hard Delete refactoring, 220

for Introduce Index refactoring, 248-249

for Introduce New Column transformation, 301

for Introduce New Table transformation, 305

for Introduce Read-Only Table refactoring, 252

for Introduce Soft Delete refactoring, 223-224

for Introduce Surrogate Key refactoring, 87-89

for Introduce Trigger For History refactoring, 227-229

for Introduce View transformation, 307-308

for Make Column Non-Nullable refactoring, 190

for Merge Columns refactoring, 93-94

for Merge Tables refactoring, 97-98

for Migrate Method From Database refactoring, 258

for Migrate Method To Database refactoring, 262

for Move Column refactoring, 105-106

for Move Data refactoring, 194

for Rename Column refactoring, 110-111

for Rename Table refactoring, 114-115

for Rename View refactoring, 117-118

for Replace Column refactoring, 127-128

for Replace LOB With Table refactoring, 120-123

for Replace Method(s) With View refactoring, 266

for Replace One-To-Many With Associative Table refactoring, 131-132

for Replace Surrogate Key With Natural Key refactoring, 136-137

for Replace Type Code With Property Flags refactoring, 198-199

for Replace View With Method(s) refactoring, 269

for Split Column refactoring, 141-142

for Split Table refactoring, 146-147

for Use Official Data Source refactoring, 273-274

Use Official Data Source refactoring, 34, 157, 162, 169, 183, 271-275, 304

V–Z

validating data migration, 38-40

variables

adding, 287-288

splitting temporary variables, 292-293

version identification strategies, 42, 45, 60-63, 67

views

adding, 306-309

Encapsulate Table With View refactoring, 243-244

fixing

after data quality refactorings, 152

after structural refactorings, 70

materialized views, 253

removing, 79-80

renaming, 117-120

Replace Method(s) With View refactoring, 265-267

Replace View With Method(s) refactoring, 268-270

synchronization with, 63

UML notation for, 319

updateable views, 115

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset