Data Dictionary
Overview
The Data Dictionary is the foundation of your Opadeez application. It defines the complete data model, business rules, and data relationships that power your solution. Think of it as the blueprint that describes what data your application will store, how it's structured, and how different pieces of information relate to each other.
Data Dictionary interface showing the main components: Entities/Attributes, Value Lists, Links, DataSets, and Connections
Core Components
Entities & Attributes
Purpose: Define your database structure and data model
Entities
- Definition: Represent the main objects or concepts in your business domain (e.g., Customer, Project, Invoice)
- Database Mapping: Each entity becomes a database table
- Naming: Use singular nouns with no spaces (e.g., "Customer", not "Customers")
- Best Practice: Start with the most important business objects
Attributes
- Definition: Properties or fields that describe an entity (e.g., CustomerName, ProjectDate, InvoiceAmount)
- Database Mapping: Each attribute becomes a database column
- Data Types: String, Integer, Decimal, Date, Boolean, and more
- Features: Support formulas, validation rules, and calculated fields
Value Lists
Purpose: Create dropdown lists and standardize data entry
- Function: Define predefined options for attributes (e.g., Status: Active, Inactive, Pending)
- Benefits: Ensure data consistency and improve user experience
- Structure: Each option has a Value (stored in database) and Text (displayed to users)
- Usage: Associate with String attributes to create dropdown selections
Links
Purpose: Define relationships between entities
- Function: Establish how entities connect to each other (e.g., Customer has many Projects)
- Cardinality: Control relationship types (one-to-one, one-to-many, many-to-many)
- Database Impact: Create foreign key relationships and join tables
- Navigation: Enable users to move between related data
DataSets
Purpose: Create navigable views of your data model
- Function: Define how users will access and navigate through related data
- Tree Structure: Create hierarchical views starting from a root entity
- Reusability: Same entities can be used in multiple DataSets for different purposes
- Rules: Apply specific business rules, visibility conditions, and field requirements
Connections
Purpose: Link your solution to multiple databases or schemas
- Multi-Database Support: Connect to different databases within the same application
- Schema Separation: Access different schemas or database instances
- Integration: Connect to external systems and legacy databases
- Flexibility: Each entity can use a different connection if needed
Data Dictionary Workflow
1. Design Phase
- Identify Entities: List the main business objects
- Define Attributes: Determine what information each entity needs
- Plan Relationships: Map how entities connect to each other
- Consider Value Lists: Identify fields that need standardized options
2. Implementation Phase
- Create Entities: Start with core business entities
- Add Attributes: Define fields with appropriate data types
- Build Value Lists: Create dropdown options for standardization
- Establish Links: Connect related entities
- Design DataSets: Create user-friendly data navigation
3. Enhancement Phase
- Add Formulas: Create calculated fields and business logic
- Apply Rules: Implement validation and visibility conditions
- Optimize Structure: Refine relationships and data organization
- Configure Connections: Set up multiple database connections if needed
Advanced Features
Calculated Fields
- Formulas: Use expressions to automatically calculate values
- Functions: Access date functions, mathematical operations, and string manipulation
- Dynamic Updates: Values recalculate automatically when dependencies change
Dynamic Attribute Rules
- Visibility Rules: Show/hide fields based on conditions
- Mandatory Rules: Make fields required under specific circumstances
- Read-Only Rules: Control when fields can be edited
Data Validation
- Type Checking: Enforce data types and field lengths
- Business Rules: Implement custom validation logic
- Referential Integrity: Maintain consistent relationships
Best Practices
Entity Design
- Naming: Use clear, singular nouns without spaces
- Normalization: Avoid data duplication by proper entity separation
- Scalability: Design for future growth and additional requirements
Attribute Configuration
- Data Types: Choose appropriate types for performance and storage
- Field Lengths: Set realistic but adequate length limits
- Labels: Use user-friendly labels that differ from technical names
Relationship Design
- Cardinality: Set appropriate relationship limits
- Link Names: Use descriptive names that explain the relationship
- Performance: Consider query performance when designing complex relationships
Getting Started
Ready to build your data model? Follow these tutorials:
- Your First Application - Part 3: Step-by-step guide to creating entities, attributes, value lists, links, and DataSets
- Basic Configuration: Learn about system-wide settings and properties
Related Topics
- Entities & Attributes: Complete guide to entity and attribute properties, configuration, and best practices
- Value Lists: Complete guide to creating and managing value lists for dropdown standardization
- Basic Concepts: Understand fundamental Opadeez terminology
- Your First Application - Part 1: Start with system creation and setup
- Platform Overview: See how Data Dictionary fits into the complete platform