出版社:人民邮电出版社
年代: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 的主题关于 数据库系统-程序设计-英文 的书籍。
(美) 莱特斯通 (Lightstone,S.) , (美) 特里 (Teorey,T.) , (美) 纳多 (Nadeau,T.) , 著
(加) 安布勒 (Ambler,S.W.) , (美) 塞得拉吉 (Sadalage,P.J.) , 著
(加) 安布勒 (Ambler,S.W.) , 等著
杨忠, 著
薛茹等, 主编
郝忠孝, 著
杨宏利, 编著
(美) 海金斯 (Heinckiens,P.M.) , 编著
王霓虹, 主编