
Base de Datos No SQL
Javier Plazas - Dayanna Erazo
Introducción
Construcción de la Base No SQL



El diseño de la base de datos se estructuró a nivel de una colección denominada "censos", la cual integra cuatro documentos que contienen información asociada al Censo Nacional de Población y Vivienda. Cada documento incluye datos generales del censo y, de forma anidada, información correspondiente a las viviendas censadas, los hogares que las componen y las personas que integran dichos hogares, junto con sus características sociodemográficas como sexo, fecha de nacimiento, estado civil, nivel educativo y autorreconocimiento étnico.
Dentro de cada documento, los datos se organizan jerárquicamente mediante arreglos anidados, donde las viviendas contienen a su vez los hogares asociados, y estos incorporan la información individual de las personas que los conforman. Este enfoque corresponde a un modelo NoSQL orientado a documentos, que prioriza la desnormalización y permite representar relaciones uno-a-muchos sin necesidad de operaciones de unión (JOIN), facilitando consultas analíticas sobre estructuras jerárquicas de datos.
Los documentos 1, 2, 3 y 4 emplean arreglos (arrays), lo que permite almacenar múltiples elementos bajo un mismo campo dentro de un documento. En el contexto de bases de datos NoSQL orientadas a documentos, los arrays facilitan la representación de relaciones jerárquicas y de tipo uno-a-muchos sin necesidad de utilizar tablas separadas o operaciones de unión.
En este modelo, el array principal corresponde a viviendas, el cual almacena información sobre el tipo de vivienda. Cada elemento de este arreglo contiene, a su vez, un array de hogares, donde se registran variables como el tamaño y la clasificación del hogar. Finalmente, cada hogar incluye un array de personas, que contiene información individual de sus integrantes, como sexo, fecha de nacimiento, estado civil, nivel educativo y autorreconocimiento étnico. Esta estructura permite organizar datos complejos de manera eficiente dentro de un mismo documento, facilitando consultas y análisis sobre unidades censales relacionadas.
Consultas - Filtros - Agregaciones

Mediante la herramienta de filtro se realizó la búsqueda de aquellos documentos que contienen personas cuyo nivel educativo corresponde a "postgrado". Para ello, se definió la ruta de los arrays que almacenan la información a nivel de personas, identificando específicamente la variable nivel_educativo como el atributo que contiene el dato a filtrar. De ello, se obtuvo 2 resultados.

Al igual que con la anterior consulta, en este caso se realizó busqueda de los hogares que cuentan con un número menor a 3 integrantes a nivel de hogares, lo cuales resultan ser 3 documentos.
Agregación 1: Edad promedio por hogares

Para calcular el promedio de edad por hogares se empleó una agregación en cinco etapas. En las tres primeras se realizó la apertura de los arreglos, con el fin de acceder a la información individual de las personas contenidas dentro de los hogares y las viviendas.
En la cuarta etapa se generó un nuevo campo denominado edad, calculado como la diferencia entre la fecha de nacimiento de cada persona y la fecha actual, expresada en años. Finalmente, en la quinta etapa se agruparon los datos a nivel de hogar para calcular el promedio de edad de sus integrantes y contabilizar el número total de personas por hogar.
Como resultado, se obtuvo que el primer documento presenta una edad promedio de 31 años para un hogar compuesto por dos personas; el segundo documento registra un promedio de 41,3 años; el tercero, 63 años; y el cuarto documento, 40 años.
Agregación 2: Personas que nacieron posterior a 1.990

Para identificar el número de personas nacidas con posterioridad al año 1990 se empleó una agregación en varias etapas. En las tres primeras se realizó la apertura de los arreglos correspondientes a viviendas, hogares y personas, con el fin de acceder a la información individual contenida en cada registro personal.
En la cuarta etapa se aplicó un filtro sobre la variable fecha de nacimiento, seleccionando únicamente aquellas personas cuya fecha es posterior al 1 de enero de 1990. Este proceso permitió aislar los registros que cumplen la condición establecida.
Finalmente, en la quinta etapa se efectuó el conteo de los registros resultantes, obteniendo así el número total de personas nacidas después de 1990 dentro de los documentos analizados, las cuales resultaron ser 3.
Conclusiones
A partir de la construcción y análisis de la base de datos asociadas a las operaciones estadísticas del DANE, particularmente en aquellas de alcance censal, en este espacio web se desarrolló tanto en un modelo relacional (SQL) como en un modelo orientado a documentos (NoSQL), donde se evidencian diferencias sustanciales en cuanto a su estructura, flexibilidad, desempeño y tipo de consultas que soportan.
Como se presentó en la página Unidad 4, las bases de datos SQL se organizan de forma tabular normalizada, donde la información se distribuye en múltiples tablas relacionadas mediante claves primarias y foráneas, lo que garantiza consistencia e integridad referencial. Esto resulta beneficioso para datos estructurados como registros administrativos donde la exactitud, la seguridad, la mitigación de duplicidad y la coherencia son prioritarias. Sin embargo, las operaciones JOIN entre tablas incrementa la complejidad de las consultas y afecta el rendimiento cuando se trabaja con estructuras altamente jerárquicas, como las propias de un censo de población.
Por su parte, el modelo NoSQL implementado en MongoDB permitió representar de forma más natural la estructura censal mediante documentos con arreglos anidados, integrando en un mismo registro la información de viviendas, hogares y personas (la información a nivel de la población observada mediante los censos). Esta desnormalización facilita el almacenamiento y la consulta de datos jerárquicos sin requerir operaciones de combinación entre entidades, lo que se traduce en mayor rapidez de lectura y simplicidad en consultas analíticas. Sin embargo, la flexibilidad puede derivar en inconsistencias si no se establecen reglas de validación, además de que la duplicación de información incrementa el tamaño de almacenamiento y dificulta el mantenimiento de integridad entre documentos relacionados.
En términos comparativos, SQL ofrece mayor robustez para garantizar consistencia, control y normalización de datos, mientras que NoSQL destaca por su escalabilidad horizontal, rendimiento en consultas sobre grandes volúmenes de datos y capacidad para modelar estructuras complejas y anidadas. Para el caso específico de información censal, el modelo NoSQL demostró ser especialmente eficiente para representar unidades jerárquicas y realizar agregaciones estadísticas sobre individuos y hogares; no obstante, un sistema relacional continúa siendo más adecuado cuando se requiere control de la calidad de datos, interoperabilidad entre múltiples sistemas.
Referencias
Universidad Católica de Colombia. (s.f.). Unidad 6 - Herramientas de Bases de Datos.
