Data Modeling for Business Analysts

Duration - 3 Days
Available - On Site at Your Location
On-Site Info and Quote...
Data modeling is a set of analysis and design techniques used by analysts and designers to move from understanding the business data environment (the real world, "as-is" situation) to logical data models (the requirements for the "to-be" system) to physical data models (the design view of the data for the relational database) to physical data structures (the actual databases that hold the business data). Relational databases underlie many, if not most, information systems. Effectively structuring relational data enables optimal databases.
This seminar provides the concepts, specific techniques, and practice in modeling relational data from the business view to create a logical data model (data requirements). With this practical knowledge, participants will be able to effectively model their data either manually or by using a data modeling tool.  Note: this course is independent of any specific tools, but the concepts can be applied using any of them. Attendees will complete exercises manually to practice the concepts presented in the course.
What You Will Learn
During this course you will gain the skills and knowledge to:
  • Elicit data requirements and business rules related to data
  • Organize data requirements and fill gaps in data requirements and business rules
  • Develop robust data models to represent the foundation needed for relational databases
  • Define correct cardinality/multiplicity in your models
  • Refine a data model through a step-by-step approach
  • Normalize the data to move to optimal relational database structures
  • Relate traditional data modeling techniques to object-oriented class diagramming
  • Cross reference data and process elements to ensure all data and processes have been identified and included in requirements
Who Should Attend
This course is intended for anyone on a systems development project team, in particular analysts and designers, who want to understand how to correctly and effectively model data requirements. Software and database project managers also benefit from this course as they learn what must be done to ensure complete and correct data requirements. Business Analysts, Data Modelers, and designers are responsible for ensuring business needs are fulfilled by systems they help develop. Data modeling is a core concept that ensures data requirements are properly defined.
  • What is data? What is a data model?  How is a data model related to requirements?
  • What are the benefits of modeling data?
  • The distinction between data analysis and data design and why it is important
  • What are data related business rules?
  • Who models data?
Data Modeling Concepts
  • Different types of data
  • Data and the Project Life Cycle: Different Views of Data
  • ERD and Class Diagram
  • Components of a logical data model: The diagram and the meta data
  • How to interpret a simple data model construct
  • Data repositories and data dictionaries
Entity-Relationship Diagram (ERD) Components
  • Entities
  • Relationships
  • Attributes
  • Relation names, multiplicity, cardinality, and memberships
  • Alternative notations
  • Type vs. occurrence (instance) vs. value
  • The corresponding physical database elements for each of these components
Effective Data Requirements Elicitation
  • Starting with conceptual (business) models and high level requirements
  • Eliciting data requirements
  • Eliciting and documenting business rules
Effective Data Modeling
  • The steps of logical data modeling
  • Developing logical entity-relationship diagrams (ERDs)
             - Candidate entities and entities
             - Relationships
             - Attributes
  • Discovering and documenting meta data
             - Owners and stewards
             - Definitions
             - Keys and indexes
             - Attribute classifications and value constraints
             - Volumetrics
Refining Data Models
  • Ensuring all entities participate in relationships
  • Proper attribute placement
  • Removing attribute redundancy
  • Finding missing attributes
  • Defining optional vs. mandatory relationships, referential integrity
  • Resolving many-to-many relationships
  • Transforming complex relationships into binary relationships
  • Eliminating redundant relationships
  • Refining one-to-one relationships
  • Identifying and modeling generalization (supertype/subtype) relationships
  • Defining the difference between exclusive and non-exclusive subtypes
  • Modeling recursive relationships: Identifying hierarchies and networks
Relational Database Tables from Physical ERDs
  • Tables from entities
  • Benefits of normalized data
  • First, second, and third normal forms
  • Denormalizing for efficiency
  • Indexing for retrieval 
Object-Oriented Class Diagrams
  • Similar to ERDs
  • Addition of operations
  • Notation
  • Other types of UML diagrams
Refining Requirements
  • Using a tool to facilitate, support modeling effort
  • Ensuring requirements completeness
             - Entity type lifecycle analysis
             - Interaction matrix cross-checking
             - View mapping
             - Traceability
             - Business confirmation