This documentation provides an in-depth overview of the modules in the ERD Management System, with guides on setup, usage, and deployment.
Introduction
The ERD Management System (Entity-Relationship Diagram Management System) is a powerful tool designed to streamline the creation, management, and deployment of complex data architectures for various applications. It offers a flexible, visual interface that empowers users, even those without extensive technical backgrounds, to design and manage intricate data relationships and database schemas. This system finds applications across multiple industries, from healthcare to finance, where managing data relationships between entities like customers, services, transactions, and records is essential.
System Overview
The ERD Management System (Entity-Relationship Diagram Management System) is a powerful tool designed to streamline the creation, management, and deployment of complex data architectures for various applications. It offers a flexible, visual interface that empowers users, even those without extensive technical backgrounds, to design and manage intricate data relationships and database schemas. This system finds applications across multiple industries, from healthcare to finance, where managing data relationships between entities like customers, services, transactions, and records is essential.
Modules Overview
The ERD Management System is comprised of several key modules that enable full-cycle management of entity relationships. Below is an overview of each module, its purpose, and how to use it.
1. ERD Management Module
The heart of the system, the ERD Management Module, provides a visual representation of entities and relationships. Using React Flow, users can easily add entities and define their attributes and relationships. This module supports common data relationships, such as one-to-many and many-to-one, through user-friendly, drag-and-drop interfaces. Deployment options like “refresh” and “update” allow for flexible adjustments, making it easier to adapt to business requirements and regulatory updates without data loss.
- Entity Addition: Create new entities with defined attributes.
- Relationship Creation: Define relationships like one-to-many, many-to-one, etc.
- Deployment Options: Two deployment modes—refresh and update—allow flexible ERD management without data loss.
Example of the ERD Management Module with entities and relationships displayed in the visual interface.
2. Application List Management
This component lists all saved applications and organizes them by version. With features like automatic versioning, deletion options, and the ability to set a default application, the Application List Management module provides a high level of organization and control. Each saved ERD version is versioned based on the creation date, making it easy to revert to or reference previous versions if needed.
- Application Versioning: Automatically assigns version numbers based on creation date.
- Deletion & Defaulting: Allows easy deletion and setting of a default application.
3. Attribute Details Form
Attributes define the specific properties of each entity, and the Attribute Details Form allows users to configure these with high specificity. Users can set data types (e.g., text, number, date), determine whether fields are mandatory, set visibility, and define character limits. The form dynamically adjusts based on the selected data type, showing relevant fields and validation options, which streamlines the attribute configuration process.
Displaying a structured list of attributes for each entity, the Attributes Table enables users to view, edit, delete, and rearrange attributes. Leveraging React DnD for drag-and-drop reordering, this module simplifies the process of managing large sets of attributes, ensuring the table structure is user-friendly and intuitive.
The Entity Modal is the main entry point for adding or editing entities. It contains options for setting entity-specific attributes, assigning data types, and applying validation rules. Each attribute can have additional specifications, such as nullability or visibility, tailored to the requirements of the data model.
- Dynamic Fields: Form fields change dynamically based on the selected data type.
- Validation Rules: Fields for minimum/maximum lengths, caps settings, and dropdown options.
4. Attributes Table
Displays a list of attributes with options for editing and deletion. Users can reorder attributes using drag-and-drop functionality.
- Drag-and-Drop Reordering: Rearrange attributes within the table.
- Editing & Deleting: Quickly edit or delete entries.
5. Entity Modal
This modal allows the creation and editing of entities. Users can define attributes and assign specific data types, nullability, and other rules.
6. Backend Controllers
The backend controllers manage API interactions for ERD data storage and retrieval. Key operations include:
- getAllERDs: Retrieves ERDs linked to a specific user.
- addERD: Adds new ERDs, enforcing a limit to prevent data overload.
- updateFormBatch: Updates forms in bulk based on JSON data, ensuring the data schema stays current.
Deployment & Versioning
The ERD Management System offers version control for each application. The deployment process allows for selective updates or full refreshes, catering to business needs and ensuring that no data is overwritten unintentionally.
Choose from two deployment options:
- Update Mode: Updates the current schema without removing existing entities.
- Refresh Mode: Deploys a fresh ERD while ensuring existing applications remain stable.
