Tipos de Datos en PostgreSQL – Parte 1
En esta página:
PostgreSQL brinda diferentes tipos de datos que permiten almacenar los necesarios de una aplicación o proyecto. A diferencia de MySQL, PostgreSQL cuenta con más tipos de datos, se podría decir que es una base de datos más avanzada que MySQL. El que PostgreSQL tenga más datos, puede significar que tomará un poco más de tiempo aprender PostgreSQL, pero esto no quiero decir que sea imposible de hacerlo. En este artículo te compartiré los Tipos de Datos en PostgreSQL, vamos con ello.
Parte
Antes de continuar, te invito a escuchar el Podcast: “Con Que Lenguaje De Programación Comenzar Para El Desarrollo Web” y “¿ Se Debe Escuchar Música Mientras Se Programa ?” (Spotify for Podcasters):
Spotify: | Sound Cloud: | Apple Podcasts | Spotify for Podcasters |
Bien ahora continuemos con el Post: Tipos de Datos en PostgreSQL – Parte 1.
Tipos de Datos en PostgreSQL
Para compartir los tipos de datos de PostgreSQL tomaré como base la documentación oficial de PostgreSQL. La mayoría de tipos de datos que se comparten en Nube Colectiva, se hacen empleando las documentaciones oficiales y por ende es contenido veraz e inmutable. Veamos a continuación los tipos de datos de PostgreSQL:
Tipos numéricos
Los tipos numéricos constan de enteros de dos, cuatro y ocho bytes, números de punto flotante de cuatro y ocho bytes y decimales de precisión seleccionable.
Nombre | Tamaño de Almacenamiento | Descripción | Rango |
smallint | 2 bytes | Entero de rango pequeño | -32768 a +32767 |
integer | 4 bytes | Opción típica para entero | -2147483648 al +2147483647 |
bigint | 5 bytes | Entero de rango grande | -9223372036854775808 al +9223372036854775807 |
decimal | variable | Precisión especificada por el usuario, exacta | Hasta 131072 dígitos antes del punto decimal; hasta 16383 dígitos después del punto decimal |
numeric | variable | Precisión especificada por el usuario, exacta | Hasta 131072 dígitos antes del punto decimal; hasta 16383 dígitos después del punto decimal |
real | 4 bytes | De precisión variable, inexacta | Precisión de 6 dígitos decimales |
double precision | 8 bytes | De precisión variable, inexacta | Precisión de 15 dígitos decimales |
smallserial | 2 bytes | Pequeño entero autoincrementable | 1 a 32767 |
serial | 4 bytes | Entero autoincrementable | 1 al 2147483647 |
bigserial | 8 bytes | Entero autoincrementable grande | 1 al 9223372036854775807 |
Veamos a hora los tipo de datos monetarios.
Tipos monetarios
El tipo money almacena una cantidad de moneda con una precisión fraccionaria fija. La precisión fraccionaria está determinada por la configuración lc_monetary de la base de datos. El rango que se muestra en la tabla asume que hay dos dígitos fraccionarios. La entrada se acepta en una variedad de formatos, incluidos los literales enteros y de punto flotante, así como el formato de moneda típico, como ‘$1,000.00’. La salida es generalmente en la última forma, pero depende de la configuración regional.
Nombre | Tamaño de almacenamiento | Descripción | Rango |
money | 8 bytes | Cantidad de moneda | -92233720368547758.08 al +92233720368547758.07 |
Dado que la salida de este tipo de datos es sensible a la configuración regional, es posible que no funcione para cargar datos money en una base de datos que tenga una configuración diferente de lc_monetary. Para evitar problemas, antes de restaurar un volcado en una base de datos nueva, asegúrate que lc_monetary tenga el mismo valor o un valor equivalente al de la base de datos que se volcó.
Tipos Character
A continuación veamos los tipos de characters (caracteres) de propósito general disponibles en PostgreSQL:
Nombre | Descripción |
character varying(n), varchar(n) | Longitud variable con límite |
character(n), char(n) | Largo fijo, acolchado en blanco |
text | Longitud ilimitada variable |
SQL define dos tipos de caracteres primarios: character varying(n) y character(n), donde n es un entero positivo. Ambos tipos pueden almacenar cadenas de hasta n caracteres (no bytes) de longitud. Un intento de almacenar una cadena más larga en una columna de estos tipos generará un error, a menos que los caracteres sobrantes sean todos espacios, en cuyo caso la cadena se truncará a la longitud máxima. (Esta excepción un tanto extraña es requerida por el estándar SQL ).
Si la cadena que se va a almacenar es más corta que la longitud declarada, los valores de tipo character se rellenarán con espacios; los valores de tipo character-varying simplemente almacenarán la cadena más corta.
Tipos binarios
El tipo de datos bytea permite el almacenamiento de cadenas binarias.
Nombre | Tamaño de almacenamiento | Descripción |
bytea | 1 o 4 bytes más la cadena binaria real | Cadena binaria de longitud variable |
Una cadena binaria es una secuencia de octetos (o bytes). Las cadenas binarias se distinguen de las cadenas de caracteres de dos maneras. Primero, las cadenas binarias permiten específicamente almacenar octetos de valor cero y otros octetos “no imprimibles” (generalmente, octetos fuera del rango decimal 32 a 126). Las cadenas de caracteres no permiten cero octetos y tampoco permiten ningún otro valor de octeto y secuencias de valores de octeto que no sean válidos según la codificación del juego de caracteres seleccionado de la base de datos.
En segundo lugar, las operaciones en cadenas binarias procesan los bytes reales, mientras que el procesamiento de cadenas de caracteres depende de la configuración regional. En resumen, las cadenas binarias son apropiadas para almacenar datos que el programador considera “bytes sin procesar”., mientras que las cadenas de caracteres son apropiadas para almacenar texto.
El tipo bytea admite dos formatos de entrada y salida: el formato “hexadecimal” y el formato histórico de “escape” de PostgreSQL . Ambos siempre se aceptan en la entrada. El formato de salida depende del parámetro de configuración bytea_output; el valor predeterminado es hexadecimal. (Ten en cuenta que el formato hexadecimal se introdujo en PostgreSQL 9.0; las versiones anteriores y algunas herramientas no lo soportan).
Bien hasta aquí llegamos con esta primera Parte en donde hemos visto un primer grupo de Tipos de Datos en PostgreSQL.
Ten Paciencia, lo que quiero es que conozcas bien como se crea este proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.
Nota (s)
- En la siguiente parte continuaremos viendo otros Tipos de Datos en PostgreSQL.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- PostgreSQL
- 15-07-2023
- 17-07-2023
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)