Cada organización presenta diferentes necesidades para el manejo de los datos, es decir, cada empresa, dependiendo de su giro de negocio, puede requerir el almacenaje de información en formatos diferentes que le ayuden a salvaguardar la integridad de los mismos para ser utilizados posteriormente de la manera correcta, por ejemplo, existen tipos de datos especiales como los datos binarios grandes, datos geoespaciales, identificadores multiformato, datos de texto grandes, entre otros, los cuales requieren un trato especial.
Este tipo de datos usualmente se usa en aplicaciones que operan con funcionalidades avanzadas o muy específicas, por lo que conocer cómo funciona y cómo se puede utilizar para la generación de reportes de manera correcta resulta de gran importancia para los administradores de las bases de datos, teniendo un impacto positivo en la creación de valor de cualquier área o departamento que lo use.
Manejo y uso de los diferentes tipos de TEXT
Hoy en día, el manejo de información se hace cada vez más necesario debido a los grandes volúmenes de datos que se manejan en las organizaciones. Se pueden considerar como datos de tamaño grande o volumen grande los de tamaño máximo de 8KB. Para su manejo, se requiere contemplar también su recuperación o extracción de las bases de datos, por lo que un administrador de una base de datos debe tenerlos en cuenta para saber cómo utilizarlos de manera correcta (MicrosoftLearn, 2023).
Cuando se habla de documentos grandes, se hace referencia a párrafos de texto, correos electrónicos, documentos, entre otros, para los cuales se usa el tipo de datos TEXT con la finalidad de almacenarlos, ya que soporta capacidades grandes de almacenamiento que no se puede en los tipos básicos como VARCHAR o CHAR. El tipo de datos TEXT puede aceptar un tamaño máximo de bytes (2,147,483,647 bytes), permitiendo el almacenaje de libros, artículos, etc. Por ejemplo, si se está llevando a cabo una aplicación que guarda opiniones de los productos comprados por los clientes, se puede utilizar este tipo de datos para almacenar dicha información en varios párrafos. A continuación, se presenta la sintaxis para el uso del tipo de dato TEXT.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Existen diferentes tipos de datos especiales. Los tipos de datos CLOB y BOB permiten almacenar datos de texto muy grandes como XML largos o JSON y también datos binarios como imágenes, videos o archivo, esto debido a que los tipos de datos “normales” no pueden manejar grandes cantidades de información o datos tan grandes.
De acuerdo con Harmonigate (2023), los tipos de datos BLOB significan Binary Large Object. Estos permiten el almacenaje de datos de audio, archivos de video o cualquier otro dato binario. No es necesario especificar el tamaño de BLOB al crear una tabla y soporta hasta gigabytes de tamaño. También es posible la recuperación de los datos binarios de la tabla e insertar, actualizar y seleccionar dichos datos usando columnas BLOB.
Los tipos de datos CLOB, significan Character Large Object y ayudan a almacenar datos de caracteres grandes como texto sin formato, documentos XML o cualquier otro dato que esté basado en caracteres. También puede almacenar hasta gigabytes de tamaño y permite la realización de diferentes operaciones de texto, como búsquedas, extracción de subcadenas y concatenación de cadenas. (Harmonigate, 2023)
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
También existen los tipos de datos XML, los cuales permiten el almacenamiento de documentos y fragmentos XML en una base de datos. Se puede utilizar como un tipo de columna cuando se crea una tabla, al igual que como un tipo de variable, de parámetro o de devolución de una función. La implementación de los tipos de datos XML de JDBC Driver tiene compatibilidad, según MicrosoftLearn (2024), con lo siguiente:
El tipo de dato UUID (Universally Unique Identifier) se utiliza en la creación de identificadores únicos en una base de datos, algo útil para identificar elementos en una base de datos distribuida o en una aplicación web. Tiene un valor de 128 bits y se garantiza que posea un valor diferente de cualquier otro UUID. Su uso es muy amplio: identificar bases de datos, instancias de sistemas, claves primarias, perfiles de bluetooth, entre otros. (Gillis, s.f.). Se basa en una combinación de componentes que garantizan su unicidad y se construyen con secuencias de dígitos igual a 128 bits. La identificación se encuentra en dígitos hexadecimales, por lo que usa números del 0 al 9 y letras de la A a la F. Los dígitos se escriben como 32 caracteres hexadecimales con cuatro guiones: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
Los datos geoespaciales son especiales, ya que permiten el almacenamiento de información geoespacial como ubicaciones geográficas y coordenadas. También son conocidos como geodatos e incluyen información con ubicaciones en la superficie del planeta, los cuales permiten la localización de mapas de objetos, acontecimientos y fenómenos naturales en una zona geográfica específica que se puede identificar a través de coordenadas de latitud y longitud. Cuentan con la particularidad de combinar información de una ubicación con características o atributos de otros conjuntos de datos de una organización en un periodo determinado. Por ejemplo, se puede saber dónde se encuentra ubicado un vehículo específico y permite el tracking de su ubicación cuando se encuentra en movimiento.
De acuerdo con Amazonaws (s.f.), existen dos tipos básicos de datos geoespaciales:
Datos de vectores. Se consideran como información geoespacial que utiliza elementos digitales como puntos, líneas y polígonos para la representación de características geográficas. Este tipo de datos de vectores normalmente representa características físicas como carreteras, ríos y límites entre ciudades y se usa frecuentemente en aplicaciones de información geoespacial como generación de mapas, información de ubicación y navegación.
Datos de tramas. Las tramas son modelos de datos geoespaciales que definen el espacio como una malla de células del mismo tamaño. Cada célula de una malla contiene información sobre la ubicación, la temperatura o la calidad del suelo. Luego, para su procesamiento, la trama se superpone en la imagen de un mapa; por ejemplo, las imágenes de mapas están basadas en imágenes de satélites, fotografías aéreas digitales y mapas escaneados.
Manejo y uso del tipo JSON
Una decisión importante en el diseño del almacenamiento es cómo guardar documentos tipo JSON en las tablas. Para ello, se cuenta con dos opciones (MicrosoftLearn,2024):
Una de las maneras más fáciles para almacenar documentos JSON es a través de la creación de una tabla con dos columnas con id del documento y su contenido, por ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
O bien donde se admite:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
En estas imágenes, se puede apreciar una estructura similar a las que hay en las bases de datos tradicionales, teniendo “id” como la clave principal con valor de incremento automático que proporciona un identificador único para cada documento y permite la ejecución de búsquedas rápidas. En el ejemplo anterior, se considera que los documentos JSON válidos se guardan en la columna log y, en caso de que se necesite validar que dicho documento se está guardando correctamente, es posible agregar una restricción CHECK en la columna como la siguiente:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
De esta manera, cada que se realiza una modificación en el documento de la tabla, la restricción CHECK comprobará que el documento JSON tiene un formato correcto. En caso de que no se tenga este código, la tabla se encuentra optimizada para inserciones, ya que cualquier documento de estas características se agregaría directamente a la columna sin procesarse previamente.
Se puede usar el lenguaje Transact-SQL estándar para realizar consultas a los documentos. Por ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Cuando se requiera realizar gran cantidad operaciones de actualizaciones, modificaciones e inserciones de documentos, estas se pueden guardar en tablas optimizadas de memoria. Las colecciones JSON optimizadas para memoria permiten mantener los datos en la memoria, lo cual evita sobrecargas en las entradas y salidas de almacenamiento, además de que no existirá ningún tipo de bloqueo, por lo que las acciones de los documentos no bloquearán ninguna otra acción ejecutada.
El único paso por realizarse para convertir una colección clásica en una colección optimizada para memoria se logra a través de la especificación de la opción WITH (MEMORY_OPTIMIZED=ON) después de la definición de tabla, que se puede apreciar en el siguiente ejemplo. De esta manera, se tendrá una versión optimizada para memoria de la colección JSON.
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Las tablas optimizadas son la mejor opción para aquellos documentos que constantemente tienen cambios. Se recomienda tomar en cuenta el rendimiento usando nvarchar(4000) en lugar de nvarchar(max) para los documentos JSON en las colecciones optimizadas para memoria solo en caso de ser posible, ya que esto optimizaría el rendimiento.
También es posible agregar índices en los campos de tablas optimizadas para memoria con columnas calculadas como, por ejemplo:
Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.
Trabajar con los tipos de datos especiales se vuelve fundamental para la gestión de grandes volúmenes de información que pueden ser almacenados en la base de datos. Los tipos de datos como VARCHAR, TEXT, BLOB y JSON brindarán una amplia flexibilidad para el almacenamiento y manipulación de diferentes tipos de datos en formatos apropiados, lo que dará un mayor rendimiento y eficiencia para la gestión de la base de datos.
Las empresas que requieren procesar grandes volúmenes de datos como las creadoras de libros digitales, empresas farmacéuticas, laboratorios o ingeniería robótica y de biomedicina requieren el análisis de muchos datos, por lo que será importante no solamente conocer, sino dominar el uso adecuado de este tipo de datos especiales para usarlos y obtener de ellos la mayor ventaja posible cuando se extraigan o manipulen para los fines que sean necesarios.
Asegúrate de:
Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.
Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.
Lecturas
Videos
Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.
La obra presentada es propiedad de ENSEÑANZA E INVESTIGACIÓN SUPERIOR A.C. (UNIVERSIDAD TECMILENIO), protegida por la Ley Federal de Derecho de Autor; la alteración o deformación de una obra, así como su reproducción, exhibición o ejecución pública sin el consentimiento de su autor y titular de los derechos correspondientes es constitutivo de un delito tipificado en la Ley Federal de Derechos de Autor, así como en las Leyes Internacionales de Derecho de Autor.
El uso de imágenes, fragmentos de videos, fragmentos de eventos culturales, programas y demás material que sea objeto de protección de los derechos de autor, es exclusivamente para fines educativos e informativos, y cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por UNIVERSIDAD TECMILENIO.
Queda prohibido copiar, reproducir, distribuir, publicar, transmitir, difundir, o en cualquier modo explotar cualquier parte de esta obra sin la autorización previa por escrito de UNIVERSIDAD TECMILENIO. Sin embargo, usted podrá bajar material a su computadora personal para uso exclusivamente personal o educacional y no comercial limitado a una copia por página. No se podrá remover o alterar de la copia ninguna leyenda de Derechos de Autor o la que manifieste la autoría del material.