Constructor de Datos
El Constructor de Datos de Archie Core es una interfaz de modelado de datos para definir tablas de base de datos, tipos de campo y relaciones entre tablas.
Para abrir el Constructor de Datos, haz clic en Modelo de Datos en la barra lateral, selecciona la tabla en la que deseas trabajar y luego haz clic en la pestaña Esquema.

Para cada tabla definida, el motor GraphQL de Archie Core crea automáticamente tipos de objetos de esquema GraphQL y los campos de consulta, mutación y suscripción correspondientes con resolutores.
Esto significa que todas las acciones Crear, Leer, Actualizar y Eliminar (CRUD), así como las conexiones en tiempo real (websockets), están disponibles inmediatamente para usar a través del punto final API único del espacio de trabajo.
Trabajando con Tablas
Sección titulada «Trabajando con Tablas»En segundo plano, Archie Core aprovisiona una instancia dedicada de base de datos PostgreSQL para tu espacio de trabajo. PostgreSQL es una base de datos objeto-relacional de código abierto avanzada conocida por su confiabilidad e integridad de datos. Maneja de manera eficiente consultas complejas y admite completamente el cumplimiento de ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad).
Creando Tablas
Sección titulada «Creando Tablas»Haz clic en el botón + Agregar Tabla (+ Add Table) para crear una nueva tabla. El nombre predeterminado para las nuevas tablas es “untitled_table”. Todas las tablas requieren nombres únicos (los nombres attribute, workspace y su forma plural están reservados y no se pueden usar en ningún caso de letra).
Tan pronto como se crea una tabla, los tipos correspondientes de esquema GraphQL y los resolutores de consulta, mutación y suscripción se generarán automáticamente.

Actualizando Tablas
Sección titulada «Actualizando Tablas»Después de crear una tabla, se pueden definir campos y relaciones. Todas las actualizaciones de una tabla se publican en tiempo real, brindando una experiencia perfecta entre definir un modelo de datos y tenerlo altamente disponible.
Tan pronto como se actualiza una tabla, sus tipos correspondientes de esquema GraphQL y los resolutores de consulta, mutación y suscripción se actualizarán automáticamente.
Para garantizar que se minimicen los errores relacionados con las tablas, Archie Core protege contra muchas acciones dañinas. Algunas de estas incluyen:
- Aparecerá un aviso que requiere un Valor Predeterminado al cambiar un campo no obligatorio a obligatorio.
- Los valores de los campos Fecha, Número y Texto se convierten automáticamente cuando se actualiza un tipo de campo existente.
- Al cambiar un campo no único a único, se validan los registros actuales para que tengan valores únicos.
Eliminando Tablas
Sección titulada «Eliminando Tablas»Para eliminar una tabla:
- Ve al nombre de la tabla y haz clic en
... - Haz clic en Eliminar esta Tabla (Delete this Table).
- Se abre un cuadro de diálogo de confirmación. Escribe el nombre de la tabla y haz clic en Eliminar (Delete).
Peligro: Las tablas eliminadas no se pueden restaurar y se perderán todos los registros de tabla existentes. Además, si hay tablas relacionadas con la tabla que se está eliminando - pertenece a y tiene muchos, ya sea especificado como obligatorio o no - esas relaciones se romperán.

Relaciones de Tabla
Sección titulada «Relaciones de Tabla»Archie Core admite tres tipos de relaciones entre tablas que se pueden definir y que son congruentes con lo que se espera de las bases de datos relacionales:
| Tipo | A a B | B a A |
|---|---|---|
| uno a uno | Los registros en la tabla A pueden tener_uno (have_one) o pertenecer_a (belong_to) registros en la tabla B. | Los registros en la tabla B pueden tener_uno (have_one) o pertenecer_a (belong_to) registros en la tabla A. |
| uno a muchos | El registro en la tabla A puede tener_muchos (have_many) registros en la tabla B. | Los registros en la tabla B pueden tener_uno (have_one) o pertenecer_a (belong_to) registros en la tabla A. |

Definir una relación entre dos tablas se puede lograr arrastrando y soltando una tabla sobre otra o seleccionando Tabla como el Tipo de Datos al crear un nuevo campo de tabla.
Configuraciones de Tabla
Sección titulada «Configuraciones de Tabla»Para especificar relaciones tiene muchos, tiene uno y pertenece a entre tablas.
Configuraciones
- Nombre: Para seleccionar qué tabla se relacionará.
- Tabla Relacionada: El nombre de la relación tal como aparece en la tabla correspondiente.
- Tipo: Si la relación es tiene uno o tiene muchos.
- Descripción: Un cuadro de texto opcional donde puedes escribir información sobre el campo.
- Obligatorio: Si la relación de campo es requerida.
Tipos de Tabla
Sección titulada «Tipos de Tabla»Hay tres tipos de tablas: Personalizada (Custom), Vista (View) y Tipo de Datos (Data Type).
Tablas Personalizadas
Sección titulada «Tablas Personalizadas»Las tablas personalizadas son las tablas creadas en cualquier espacio de trabajo por un administrador. Son totalmente personalizables.
Tablas de Vista
Sección titulada «Tablas de Vista»Las Tablas de Vista son tablas virtuales que agregan campos de varias tablas en una sola vista. Bajo el capó, se basan en el conjunto de resultados de una declaración SQL. En un espacio de trabajo, se pueden crear utilizando la mutación GraphQL viewCreate en el Explorador de API.
Tipo de Datos
Sección titulada «Tipo de Datos»Los Tipos permiten definir un conjunto estático y ordenado de valores mutuamente excluyentes. A diferencia de los campos de texto estándar, un Enum restringe la entrada de datos a una lista específica de constantes predefinidas.
Ejemplos comunes incluyen indicadores de estado (por ejemplo, BORRADOR, PUBLICADO, ARCHIVADO), roles de usuario o etiquetas de categoría.
Utilidad y Beneficios
Sección titulada «Utilidad y Beneficios»El uso de Enums en el esquema de tu base de datos proporciona varias ventajas clave:
- Integridad de Datos: Los Enums imponen una validación de datos estricta a nivel de base de datos. Dado que el campo solo acepta valores de la lista definida, elimina errores causados por errores tipográficos o convenciones de nomenclatura inconsistentes (por ejemplo, evitando una mezcla de “Alto”, “alto” y “Hi” para un campo de prioridad).
- Consistencia del Código: Proporcionan una única fuente de verdad para los valores permitidos, haciendo que la lógica de la aplicación sea más predecible y fácil de mantener.
- Legibilidad: Los Enums hacen que los datos sean autodescriptivos. Un valor como
PAGO_FALLIDOes mucho más significativo para los desarrolladores y analistas que un código numérico arbitrario comocodigo_error: 3. - Rendimiento: En PostgreSQL, los Enums se almacenan de manera eficiente bajo el capó pero se presentan como cadenas legibles, ofreciendo un equilibrio entre rendimiento y legibilidad humana.