freeprogrammingbooks.com

Database Design with UML and SQL, 4th Edition

By Alvaro Monge, Tom Jewett

Unified Modeling Language (UML) remains a cornerstone of software and database design, offering a standardized way to visualize system architecture before writing a single line of code.

For database professionals, the ability to translate business requirements into a clear, well-structured data model is a skill that directly impacts project success. Poor database design leads to costly refactors, performance bottlenecks, and data integrity issues — problems that are far easier to prevent with proper upfront modeling.

UML class diagrams, in particular, have proven invaluable for database design. They provide a bridge between object-oriented programming concepts and relational database structures, helping teams align their application code with their data storage. As modern applications grow more complex, the demand for developers and data professionals who understand both UML modeling and SQL implementation continues to rise.

About the book

Database Design with UML and SQL is an open textbook designed for an introductory database course at California State University, Long Beach. It is also well suited for self-learners who want a practical, hands-on introduction to designing databases using standard industry tools.

The book covers the full spectrum of database design: from conceptual modeling with UML class diagrams to the practical aspects of writing SQL queries, creating tables, managing joins, and normalizing data. It assumes no prior database experience and builds up gradually, making it accessible to students and professionals transitioning into data-related roles.

What you will learn

  • How to read and create UML class diagrams for database modeling
  • The relationship between object-oriented concepts and relational database structures
  • How to transform a UML model into a working SQL database schema
  • SQL fundamentals: queries, joins, subqueries, DDL, and DML
  • Key database design techniques including normalization, aggregation, and recursive associations
  • How to handle real-world complexities like many-to-many relationships, subclasses, and multivalued attributes

Table of contents

  • Introduction
  • Basic UML & SQL
  • Models
  • Classes & schemes
  • Rows & tables
  • Associations
  • Keys
  • UML design
    • Many-to-many
    • Many-to-many 2
    • Subkeys
    • Repeated attributes
    • Multivalued attributes
    • Domains
    • Enumerated domains
    • Subclasses
    • Aggregation
    • Recursive associations
    • Normalization
  • SQL technique
    • Queries
    • DDL & DML
    • Join
    • Multiple joins
    • Join types
    • Functions
    • Subqueries
    • Union & minus
    • Views & indexes

More books in: Databases, SQL


Legal notice: This book is shared for educational purposes only. The content is distributed under Creative Commons licenses or with explicit permission from the author. FreeProgrammingBooks may host files that comply with their respective licenses.