import { motion } from 'motion/react'; export default function ERModelDiagram() { return (
ER Model System Architecture

High-Level Architecture for Conceptual Data Modeling

{/* Layer 1: Presentation */} 1. Presentation Layer User Interfaces End Users Business Analysts, Domain Experts ER Diagram Editor Draw entities, attributes, relationships Viewer / Reports View diagrams, metadata, documentation Export / Import Export to SQL, Import templates, Share models {/* Arrow Layer 1 → 2 */} {/* Layer 2: Application */} 2. Application Layer Business Logic Model Manager Create, update, delete ER models Relationship Manager Define relationship types, cardinality, participation Attribute Manager Manage attribute types (key, composite, multi-valued, derived) Validation Engine Validate rules, cardinality, participation, keys Metadata Manager Maintain model metadata and history {/* Arrow Layer 2 → 3 */} {/* Layer 3: Service */} 3. Service Layer Core Services ER Modeling Service Core engine to build and manage ER models Rule & Constraint Enforce business rules and integrity constraints Transformation Convert ER model to relational schema DDL Generator Generate SQL (CREATE TABLE, FKs, Constraints) Documentation Generate data dictionary and reports {/* Arrow Layer 3 → 4 */} {/* Layer 4: Data */} 4. Data Layer Storage Model Repository Store ER models (diagrams, metadata, definitions) Metadata Repository Store entity, relationship, rules, and constraints Version & Audit Store Track versions, changes, and audit logs {/* Arrow Layer 4 → 5 */} {/* Layer 5: Infrastructure */} 5. Infrastructure Layer Platform Services Security Authentication, Authorization, Access Control Backup & Recovery Regular backups, disaster recovery Configuration System settings, preferences Monitoring & Logging Performance monitoring, error logging, alerts Scalability Load balancing, scaling, caching {/* Database Design Flow - Right Side */} Database Design Flow {[ { num: '1', title: 'Gather Requirements', desc: 'Collect business and data requirements', y: 45 }, { num: '2', title: 'Create ER Model', desc: 'Identify entities, attributes, relationships, constraints', y: 85 }, { num: '3', title: 'Validate Model', desc: 'Check rules, cardinality, participation, keys', y: 125 }, { num: '4', title: 'Transform to Schema', desc: 'Map ER model to relational schema', y: 165 }, { num: '5', title: 'Generate Database', desc: 'Generate SQL and implement database', y: 205 }, { num: '6', title: 'Maintenance', desc: 'Evolve model with business changes', y: 245 }, ].map((step, i) => ( {step.num} {step.title} {step.desc} {i < 5 && } ))} {/* Connection lines to flow */} {/* Legend */} LEGEND ER Model Symbols {/* Legend items */} Strong Entity Weak Entity Relationship Key Attribute Composite Multi-valued Derived Partial Participation Total Participation
); }