Overview
SGD-MCS uses Google Sheets as its database, with each sheet (tab) representing a different entity table. The system supports students, faculty, thesis projects, events, institutions, and external participants.The database uses a spreadsheet-based architecture with automatic ID generation and audit logging.
Database Connection
Entity Sheets
Estudiantes (Students)
Sheet Name:EstudiantesColor: #4285F4 (Google Blue)
ID Prefix:
EST
Unique student identifier (e.g., EST0001)
First name (auto-normalized to Title Case)
Middle name (optional)
First last name
Second last name (optional)
Student email (auto-converted to lowercase)
Student status:
Matriculado, Egresado, GraduadoEnrollment cohort (e.g., “2023-1” for 2023 semester 1)
Google Drive folder ID for student documents
Public URL to student’s Drive folder
Record creation timestamp (auto-generated)
Email of user who created the record
Last modification timestamp
Email of user who last modified the record
Docentes (Faculty)
Sheet Name:DocentesColor: #FF9800 (Orange)
ID Prefix:
DOC
Structure similar to Estudiantes with faculty-specific fields:
ID_Docente- Faculty ID (e.g., DOC0001)Nombre1,Nombre2,Apellido1,Apellido2- NamesEmail- Faculty emailEspecialidad- Area of expertiseID_Carpeta_Drive,URL_Carpeta_Drive- Drive integration- Audit fields (Fecha_Registro, Usuario_Registro, etc.)
ParticipantesExternos (External Participants)
Sheet Name:ParticipantesExternosColor: #8BC34A (Light Green)
ID Prefix:
EXT
For external collaborators, industry experts, guest speakers:
ID_Externo- External participant ID (e.g., EXT0001)- Name and contact fields
Organizacion- Organization/companyPais- Country- Drive and audit fields
Tesis (Thesis Projects)
Sheet Name:TesisColor: #9C27B0 (Purple)
ID Prefix:
TES
Unique thesis identifier (e.g., TES0001)
Thesis title (auto-normalized to Sentence case)
Foreign key to Estudiantes sheet
Foreign key to Docentes sheet (thesis advisor)
Foreign key to Docentes sheet (co-advisor, optional)
Thesis status:
En Curso, Sustentada, AprobadaYear of thesis work (used for folder organization)
Drive folder for thesis documents
Eventos (Events)
Sheet Name:EventosColor: #E91E63 (Pink)
ID Prefix:
EVT
Unique event identifier (e.g., EVT0001)
Event name (auto-converted to UPPERCASE)
Event type:
Seminario, Taller, Conferencia, Defensa, etc.Event date
Drive folder for event documents (certificates, attendance, etc.)
Instituciones (Institutions)
Sheet Name:InstitucionesColor: #009688 (Teal)
ID Prefix:
INS
Partner universities, research centers, and organizations:
ID_Institucion- Institution IDNombre_Institucion- Institution namePais- CountryTipo_Convenio- Partnership type- Contact information
- Drive and audit fields
Relational Sheets
Participaciones (Event Participations)
Sheet Name:ParticipacionesColor: #607D8B (Blue Grey) Many-to-many relationship between entities and events:
Unique participation record ID
Foreign key to Eventos sheet
Can reference ID_Estudiante, ID_Docente, or ID_Externo
Entity type:
estudiante, docente, externoParticipation role:
Asistente, Ponente, Organizador, etc.Historial_Documentos (Document History)
Sheet Name:Historial_DocumentosColor: #3F51B5 (Indigo) Audit trail for all document and entity operations:
Unique audit record identifier (auto-generated)
Action type:
ENTITY_CREATE, ENTITY_UPDATE, UPLOAD_FILE, SYNC_FOLDER, etc.Entity ID affected by the action
Name of affected entity
Context:
entity, file, folderAdditional action details in JSON format
Timestamp of action
Email of user who performed the action
System Configuration Sheet
Configuracion (System Config)
Sheet Name:ConfiguracionColor: #263238 (Dark Grey) Stores ID counters and system settings:
| Column A | Column B | Column C | Column D |
|---|---|---|---|
| Counter Name | Current Value | Description | Last Updated |
| Siguiente_ID_Estudiante | 15 | Student counter | 2026-03-04 |
| Siguiente_ID_Docente | 8 | Faculty counter | 2026-03-01 |
| Siguiente_ID_Externo | 5 | External counter | 2026-02-28 |
| Siguiente_ID_Tesis | 12 | Thesis counter | 2026-03-03 |
| Siguiente_ID_Evento | 20 | Event counter | 2026-03-04 |
ID Generation System
Automatic ID generation uses the Configuration sheet:Counter Mapping
| Entity Type | Prefix | Counter Name |
|---|---|---|
| estudiante | EST | Siguiente_ID_Estudiante |
| docente | DOC | Siguiente_ID_Docente |
| externo | EXT | Siguiente_ID_Externo |
| tesis | TES | Siguiente_ID_Tesis |
| evento | EVT | Siguiente_ID_Evento |
Data Normalization
The system automatically normalizes data before storage:Drive Integration
Each entity can have an associated Google Drive folder:Folder Structure
Folder Creation
Entity Relationships
CRUD Operations
All entity operations use the EntityManager:Create
Update
Delete
Data Retrieval
Sheet data is converted to JSON arrays:Best Practices
Always Use Config Constants
Always Use Config Constants
Reference sheets using
SHEETS.ESTUDIANTES instead of hardcoding "Estudiantes" to avoid typos and maintain consistency.Never Skip Normalization
Never Skip Normalization
Always call
normalizeData() before saving to ensure consistent formatting across the database.Preserve Audit Fields
Preserve Audit Fields
Let the system manage
Fecha_Registro, Usuario_Registro, Ultima_Actualizacion, and Ultimo_Usuario automatically.Validate Foreign Keys
Validate Foreign Keys
When referencing IDs from other sheets (e.g., ID_Estudiante in Tesis), verify the record exists first.
Next Steps
Configuration
Configure database connection and settings
Permissions
Set up user roles and access control