重构数据库

重构数据库

(美) 安布勒 (Ambler,S.W.) , (美) 萨达拉戈 (Sadalage,P.J.) , 著

出版社:人民邮电出版社

年代:2006

定价:49.0

书籍简介:

本书介绍了数据库重构涉及的每个基本观念。

书籍目录:

Chapter1:EvolutionaryDatabaseDevelopment1

1.1DatabaseRefactoring3

1.2EvolutionaryDataModeling4

1.3DatabaseRegressionTesting6

1.4ConfigurationManagementofDatabaseArtifacts9

1.5DeveloperSandboxes10

1.6ImpedimentstoEvolutionaryDatabaseDevelopmentTechniques11

1.7WhatYouHaveLearned12

Chapter2:DatabaseRefactoring13

2.1CodeRefactoring13

2.2DatabaseRefactoring14

2.2.1Single-ApplicationDatabaseEnvironments15

2.2.2Multi-ApplicationDatabaseEnvironments18

2.2.3MaintainingSemantics20

2.3CategoriesofDatabaseRefactorings22

2.4DatabaseSmells22

2.5HowDatabaseRefactoringFitsIn25

2.6MakingItEasiertoRefactorYourDatabaseSchema27

2.7WhatYouHaveLearned28

Chapter3:TheProcessofDatabaseRefactoring29

3.1VerifyThataDatabaseRefactoringIsAppropriate32

3.2ChoosetheMostAppropriateDatabaseRefactoring33

3.3DeprecatetheOriginalDatabaseSchema34

3.4TestBefore,During,andAfter37

3.4.1TestingYourDatabaseSchema37

3.4.2ValidatingYourDataMigration38

3.4.3TestingYourExternalAccessPrograms40

3.5ModifytheDatabaseSchema40

3.6MigratetheSourceData43

3.7RefactorExternalAccessProgram(s)44

3.8RunYourRegressionTests45

3.9VersionControlYourWork45

3.10AnnouncetheRefactoring46

3.11WhatYouHaveLearned47

Chapter4:DeployingintoProduction49

4.1EffectivelyDeployingBetweenSandboxes50

4.2ApplyingBundlesofDatabaseRefactorings51

4.3SchedulingDeploymentWindows53

4.4DeployingYourSystem54

4.5RemovingDeprecatedSchema56

4.6WhatYouHaveLearned56

Chapter5:DatabaseRefactoringStrategies59

5.1SmallerChangesAreEasiertoApply60

5.2UniquelyIdentifyIndividualRefactorings60

5.3ImplementaLargeChangebyManySmallOnes62

5.4HaveaDatabaseConfigurationTable63

5.5PreferTriggersoverViewsorBatchSynchronization63

5.6ChooseaSufficientTransitionPeriod65

5.7SimplifyYourDatabaseChangeControlBoard(CCB)Strategy65

5.8SimplifyNegotiationswithOtherTeams65

5.9EncapsulateDatabaseAccess66

5.10BeAbletoEasilySetUpaDatabaseEnvironment66

5.11DoNotDuplicateSQL67

5.12PutDatabaseAssetsUnderChangeControl67

5.13BewareofPolitics68

5.14WhatYouHaveLearned68OnlineResources68

Chapter6:StructuralRefactorings69

CommonIssuesWhenImplementingStructuralRefactorings70

DropColumn72

DropTable77

DropView79

IntroduceCalculatedColumn81

IntroduceSurrogateKey85

MergeColumns92

MergeTables96

MoveColumn103

RenameColumn109

RenameTable113

RenameView117

ReplaceLOBWithTable120

ReplaceColumn126

ReplaceOne-To-ManyWithAssociativeTable130

ReplaceSurrogateKeyWithNaturalKey135

SplitColumn140

SplitTable145

Chapter7:DataQualityRefactorings151

CommonIssuesWhenImplementingDataQualityRefactorings152

AddLookupTable153

ApplyStandardCodes157

ApplyStandardType162

ConsolidateKeyStrategy168

DropColumnConstraint172

DropDefaultValue174

DropNon-Nullable177

IntroduceColumnConstraint180

IntroduceCommonFormat183

IntroduceDefaultValue186

MakeColumnNon-Nullable189

MoveData192

ReplaceTypeCodeWithPropertyFlags196

Chapter8:ReferentialIntegrityRefactorings203

AddForeignKeyConstraint204

AddTriggerForCalculatedColumn209

DropForeignKeyConstraint213

IntroduceCascadingDelete215

IntroduceHardDelete219

IntroduceSoftDelete222

IntroduceTriggerForHistory227

Chapter9:ArchitecturalRefactorings231

AddCRUDMethods232

AddMirrorTable236

AddReadMethod240

EncapsulateTableWithView243

IntroduceCalculationMethod245

IntroduceIndex248

IntroduceRead-OnlyTable251

MigrateMethodFromDatabase257

MigrateMethodToDatabase261

ReplaceMethod(s)WithView265

ReplaceViewWithMethod(s)268

UseOfficialDataSource271

Chapter10:MethodRefactorings277

10.1InterfaceChangingRefactorings277

10.1.1AddParameter278

10.1.2ParameterizeMethod278

10.1.3RemoveParameter279

10.1.4RenameMethod279

10.1.5ReorderParameters281

10.1.6ReplaceParameterwithExplicitMethods282

10.2InternalRefactorings283

10.2.1ConsolidateConditionalExpression283

10.2.2DecomposeConditional284

10.2.3ExtractMethod285

10.2.4IntroduceVariable287

10.2.5RemoveControlFlag289

10.2.6RemoveMiddleMan289

10.2.7RenameParameter290

10.2.8ReplaceLiteralwithTableLookup290

10.2.9ReplaceNestedConditionalwithGuardClauses292

10.2.10SplitTemporaryVariable292

10.2.11SubstituteAlgorithm293

Chapter11:Transformations295

InsertData296

IntroduceNewColumn301

IntroduceNewTable304

IntroduceView306

UpdateData310

Appendix:TheUMLDataModelingNotation315

Glossary321

ReferencesandRecommendedReading327

Index331

内容摘要:

  本书展示了如何在不改变语义的情况下,对表结构、数据、存储过程及触发器等略作改动,就可以给数据库设计带来实质上的飞跃。这是一本内容全面的参考、指南书,全面介绍了数据库重构涉及的每个基本观念,运用完整的实例,带领读者学习从重构简单的孤立数据库应用程序到重构复杂的多应用程序环境的全过程,并讲述了数据库重整的五大主要类别。读者将学会如何运用重构改善数据库结构、数据质量和参照完整性,如何同时对结构和方法进行重整。本书提供了用Oracle和Java建立的多种实例,并可以方便地转换成C#、C++、VB.NET等其他语言或DB2、SQLServer、MySQL、Sybase等其他数据库。运用本书的技术和实例,读者可以减少浪费和重复工作,降低风险和成本,建立能够顺利发展以适应未来需求的数据库系统。  重构技术已经在领域广泛的开发项目中证明了自身的价值帮助软件专业人士改善系统的设计、可维护性、可扩展性和性能。本书首次披露了为数据库系统专门设计的强大重构技术。

书籍规格:

书籍详细信息
书名重构数据库站内查询相似图书
丛书名典藏原版书苑
9787115155702
如需购买下载《重构数据库》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)49.0语种英文
尺寸26装帧平装
页数 188 印数

书籍信息归属:

重构数据库是人民邮电出版社于2007.01出版的中图分类号为 TP311.13 的主题关于 数据库系统-程序设计-英文 的书籍。