Define data models
Data models are blueprints that define how information is organized, stored, and related
The data model serves as a contract between…?
Application, database, and business requirements
What do we mean by Business Requirements in data model and software context?
Business Requirements refers to the “what” and the “why” of a software system and data model. Also sometimes “who”
What doesn’t a Business Requirements dictate?
The “how” of software or data models
What requirements do speak to the “how” of software?
The Technical Requirements speak to the “how” of software development.
How do business requirements and data models interact?
Business requirements drive the data model design
Why do Business Requirements drive Data Model design?
Business Requirements drive Data Model design because you need to capture all the “whats” and “why” to complete the goal of software development
Give a general example of a user story that defines a Business Requirement.
Who: Area Manager
What: Management decisions
Why: To support conservation efforts in the park
Name four things a Data Model should do.
1) Accept diverse data types
2) Support queries
3) Capture relationships between data
4) Maintain data for trend analysis
What are two categories of things a Data Model should capture?
1) Entities - things
2) Attributes - information about Entities
What defines how entities interact?
Relationships define how entities interact
What are some considerations when thinking about how a data model is constructed?
Think about the data and data structure needed to perform calculations, comparisons, queries, aggregations, and visualizations.
What are two pathways to Data Model design?
1) Model-first pathway - hierarchical
2) Form-first pathway - flexible
Describe the general steps in creating software with a Model-first design philosophy
1) Business Requirements gathered
2) Data model is designed
3) Database schema is created
4) UI (forms, interfaces) designed
5) Data collection occurs
6) Reporting built on a known structure
Describe the general steps in creating software with a Form-first design philosophy
1) Business requirements gathered
2) Form design (UI) - what is entered
3) Database schema is created
4) Data collection occurs
5) Data model discovery
6) Reporting built by querying JSON (schema structure)
For what things do you use a Hierarchical data structure?
Things you observe and classify
For what things do you use a Relational data structure?
Things that exist and participate
What three things can you consider to determine is something should be an Entity?
1) Does the thing change state? (role, group, family, etc)
2) Does the thing have a lifecycle (breaks, dies, etc)
3) Does the thing participate in multiple recurring things (patrols, safaris, etc)
Can you combine how data is structured in a Data Model?
Yes, you can have both Relational and Hierarchical relationships in a Data Model.