Database Design for Smarties

Using UML for Data Modeling


  • Robert Muller

Whether building a relational, object-relational, or object-oriented database, database developers are increasingly relying on an object-oriented design approach as the best way to meet user needs and performance criteria. This book teaches you how to use the Unified Modeling Language-the official standard of the Object Management Group-to develop and implement the best possible design for your database.

Inside, the author leads you step by step through the design process, from requirements analysis to schema generation. You'll learn to express stakeholder needs in UML use cases and actor diagrams, to translate UML entities into database components, and to transform the resulting design into relational, object-relational, and object-oriented schemas for all major DBMS products.

View full description


Book information

  • Published: February 1999
  • ISBN: 978-1-55860-515-2

Table of Contents

ContentsPrefaceChapter 1: The Database Life CycleInformation Requirements AnalysisData ModelingDatabase Design and OptimizationDatabase Quality, Reviews, and TestingDatabase CertificationDatabase Maintenance and EnhancementChapter 2: System Architecture and DesignSystem ArchitecturesThe Three-Schema ArchitectureThe Multitier ArchitecturesSystem Architecture SummaryData ArchitecturesRelational DatabasesObject-Oriented DatabasesObject-Relational DatabasesSummaryChapter 3: Gathering RequirementsAmbiguity and PersistenceAmbiguityObserving and Asking the Right QuestionsPersistingGetting Your Priorities StraightUnderstanding RequirementsCategorizing RequirementsRelating RequirementsPrioritizing RequirementsDeciding the Style of DatabaseSummaryChapter 4: Modeling Requirements with Use CasesAll the World's a StageActors on StageUse Case DiagramsA Brief ExampleTransactions and Use CasesUse Case RelationshipsSetting the SceneSummariesNarrativesUML Activity DiagramsData Elements and Business Rules SummarySummaryChapter 5: Testing the SystemRequirements and TruthSystems and TruthSummaryChapter 6: Building Entity-Relationship ModelsEntities and AttributesRelationshipsSemantic Relationships: Subtyping and AggregationER Business RulesMultiplicityKeys and RelationshipsStrong and Weak RelationshipsDomainsSummaryChapter 7: Building Class Models in UMLPackages, Classes, and AttributesPackagesClasses and AttributesOperationsOperations, Methods, and InterfacesApplication BehaviorDatabase Server BehaviorRelationshipsInheritance and GeneralizationAssociations, Containment, and VisibilityObject Constraints and Business RulesObject Identity and Uniqueness ConstraintsDomain ConstraintsComplex ConstraintsSummaryChapter 8: Patterns of Data ModelingModeling with Reusable Design PatternsAbstract PatternsThe Singleton PatternThe Composite PatternThe Flyweight PatternThe Metamodel PatternAnalysis PatternsThe Party PatternThe Geographic Location PatternThe Process PatternThe Document PatternSummaryChapter 9: Measures for SuccessGoals, Metrics, and ScalesSize MeasuresDatabase SizeSchema SizeComplexity MeasuresCohesion MeasuresAbstraction CohesionStructural CohesionCoupling MeasuresReuse PotentialReuse CertificationSummaryChapter 10: Choosing Your ParentsSoftware Development Cultures and the Legacy SystemCultural EventsReplacing or Leveraging Legacy SystemsStarting FreshUsing Your LegacyScoping the System and the CultureStarting from ScratchedWar Stories and Shared LanguageNorms, Values, and BeliefsRitualsThe Structure of Schema DesignStructuresRelationshipsBusiness RulesDesign GuidelinesData Definition LanguagesIntegrating Data Model ViewsStructural IntegrationGeneralization IntegrationBusiness Rule IntegrationBig Picture IntegrationSummaryChapter 11: Designing a Relational Database SchemaTurning the TablesPackages, Subsystems, and Name SpacesTypes and DomainsClassesForeign AffairsBinary AssociationsGeneralizationsSpecial SituationsLiving by the RulesClass InvariantsSystem InvariantsNormalizing RelationsAtomic ValuesDependencies and NormalizationDenormalizing Your SchemaThe Language of PeaceConformity RulesNonconformity RocksSummaryChapter 12: Designing an Object-Relational Database SchemaSo What's New?FeaturesThe DownsideThe Transformation Process for ORDBMS Products Object Diversity-TypesUser-Defined and Object TypesAssociationsBehaviorWho Makes the Rules?The Language of WarPersistent ClassesOperationsSummaryChapter 13: Designing an Object-Oriented Database SchemaThe Transformation Process for OODBMS ProductsObjective Simplicity?ClassesGeneralizations and RealizationsAssociationsDisciplining Your ObjectsBehavioral ProblemsSetting BoundariesObjective LanguagePersistent Classes and InterfacesOperationsSummarySherlock Holmes Story ReferencesBibliographyIndex