This book is for all data modelers, data architects, and database designers―be they novices who want to learn what's involved in data modeling, or experienced modelers who want to brush up their skills.
A novice will not only gain an overview of data modeling, they will also learn how to follow the data modeling process, including the activities required for each step. The experienced practitioner will discover (or rediscover) techniques to ensure that data models accurately reflect business requirements. This book describes rigorous yet easily implemented approaches to:
- modeling of business information requirements for review by business stakeholders before development of the logical data model
- normalizing data, based on simple questions rather than the formal definitions which many modelers find intimidating
- naming and defining concepts and attributes
- modeling of time-variant data
- documenting business rules governing both the real world and data
- data modeling in an Agile project
- managing data model change in any type of project
- transforming a business information model to a logical data model against which developers can code
- implementing the logical data model in a traditional relational DBMS, an SQL:2003-compliant DBMS, an object-relational DBMS, or in XML.
Part 1 describes business information models in-depth, including:
- the importance of modeling business information requirements before embarking on a logical data model
- business concepts (entity classes)
- attributes of business concepts
- attribute classes as an alternative to DBMS data types
- relationships between business concepts
- time-variant data
- generalization and specialization of business concepts
- naming and defining the components of the business information model
- business rules governing data, including a distinction between real-world rules and data rules.
Part 2 journeys from requirements to a working data resource, covering:
- sourcing data requirements
- developing the business information model
- communicating it to business stakeholders for review, both as diagrams and verbally
- managing data model change
- transforming the business information model into a logical data model of stored data for implementation in a relational or object-relational DBMS
- attribute value representation and data constraints (important but often overlooked)
- modeling data vault, dimensional and XML data.