Tipos de Datos en PostgreSQL – Parte 2

5 minuto(s)

En la parte anterior llamada Tipos de Datos en PostgreSQL – Parte 1 vimos un primer grupo de datos que tiene la base de datos PortgreSQL, entre los tipos de datos que vimos se ecuentran los tipos numéricos, los tipos monetarios, los tipos character y los tipos binarios. Todos estos tipos de datos son usados en varias aplicaciones creadas con PostgreSQL y conocerlos es importante, de esta manera puedes crear mejores aplicaciones. En esta segunda parte seguiremos viendo otro grupo de Tipos de Datos en PostgreSQL, vamos con ello.

Parte

Base de datos compartida
Al menos debes conocer una base de datos para poder crear aplicaciones dinámicas

Antes de continuar, te invito a escuchar el Podcast: “¿ Que Hago Si No Tengo Los Recursos Para Dedicarme A La Programación ?” y “¿ Cual Es El Momento Ideal Para Dejar Tu Empleo y Ser Freelance ?” (Anchor Podcast): 

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Tipos de Datos en PostgreSQL – Parte 2.

Tipos de fecha/hora

PostgreSQL admite un conjunto completo de tipos de fecha y hora de SQL. Las fechas se cuentan de acuerdo con el calendario gregoriano, incluso en años anteriores a la introducción de ese calendario.

Nombre Tamaño de almacenamiento Descripción Bajo valor Alto valor Resolución
timestamp [ (p) ] [ without time zone ] 8 bytes Tanto la fecha como la hora (sin zona horaria) 4713 aC 294276 dC 1 microsegundo
timestamp [ (p) ] with time zone 8 bytes Fecha y hora, con zona horaria 4713 aC 294276 dC 1 microsegundo
date 4 bytes Fecha (sin hora del día) 4713 aC 5874897 dC 1 día
time [ (p) ] [ without time zone ] 8 bytes Hora del día (sin fecha) 00:00:00 24:00:00 1 microsegundo
time [ (p) ] with time zone 12 bytes Hora del día (sin fecha), con zona horaria 00:00:00+1559 24:00:00-1559 1 microsegundo
interval [ fields ] [ (p) ] 16 bytes Intervalo de tiempo -178000000 años 178000000 años 1 microsegundo

time, timestamp y interval acepta un valor de precisión opcional p que especifica el número de dígitos fraccionarios retenidos en el campo de segundos. De forma predeterminada, no hay un límite explícito en la precisión. El rango permitido de p es de 0 a 6.

Tipo booleano

PostgreSQL proporciona el tipo de SQL boolean estándar. El tipo boolean puede tener varios estados: “true”, “false, y un tercer estado, “unknow”, que está representado por el valor null de SQL.

Nombre Tamaño de almacenamiento Descripción
boolean 1 byte estado de true o false

Las constantes booleanas se pueden representar en consultas SQL mediante las palabras clave SQL TRUE, FALSE y NULL.

Tipos enum

Los tipos enumerados (enum) son tipos de datos que comprenden un conjunto estático y ordenado de valores. Son equivalentes a los tipos enum admitidos en varios lenguajes de programación. Un ejemplo de un tipo de enumeración podría ser los días de la semana o un conjunto de valores de estado para un dato.

Los tipos de enumeración se crean utilizando el comando CREATE TYPE, por ejemplo:


Una vez creado, el tipo de enumeración se puede usar en definiciones de tablas y funciones como cualquier otro tipo:


Pasemos ahora a los tipos de datos geométricos.

Los tipos de datos geométricos representan objetos espaciales bidimensionales. veamos en la siguiente tabla los tipos geométricos disponibles en PostgreSQL:

Nombre Tamaño de almacenamiento Descripción Representación
point 16 bytes Punto en un plano (x,y)
line 32 bytes Línea infinita {A B C}
lseg 32 bytes Segmento de línea finita ((x1,y1),(x2,y2))
box 32 bytes Caja rectangular ((x1,y1),(x2,y2))
path 16+16n bytes Camino cerrado (similar al polígono) ((x1,y1),…)
path 16+16n bytes Camino abierto [(x1,y1),…]
polygon 40+16n bytes Polígono (similar a camino cerrado) ((x1,y1),…)
circle 24 bytes Círculo <(x,y),r> (punto central y radio)

Se encuentra disponible un amplio conjunto de funciones y operadores para realizar diversas operaciones geométricas, como escalado, traslación, rotación y determinación de intersecciones.

Tipos direcciones de red

PostgreSQL ofrece tipos de datos para almacenar direcciones IPv4, IPv6 y MAC. Es mejor usar estos tipos en lugar de tipos de texto sin formato para almacenar direcciones de red, porque estos tipos ofrecen verificación de errores de entrada y operadores y funciones especializados.

Nombre Tamaño de almacenamiento Descripción
cidr 7 o 19 bytes Redes IPv4 e IPv6
inet 7 o 19 bytes Hosts y redes IPv4 e IPv6
macaddr 6 bytes Direcciones MAC
macaddr8 8 bytes Direcciones MAC (formato EUI-64)

Al ordenar los tipos de datos cidr o inet, las direcciones IPv4 siempre se ordenarán antes que las direcciones IPv6, incluidas las direcciones IPv4 encapsuladas o asignadas a direcciones IPv6, como ::10.2.3.4 o ::ffff:10.4.3.2.

Tipos strings de bits

Las cadenas de bits son strings de 1 y 0. Se pueden utilizar para almacenar o visualizar máscaras de bits. Hay dos tipos de bits SQL: bit(n) y bit varying(n) donde n es un entero positivo.

Los tipos de datos bit deben coincidir exactamente con la longitud n; es un error intentar almacenar strings de bits más cortos o más largos. Los datos bit varying son de longitud variable hasta la longitud máxima n; las strings más largas serán rechazadas.

Si uno convierte explícitamente un valor de bit-string a bit(n), se truncará o se completará con ceros a la derecha para que sea exactamente n bits, sin generar un error. De manera similar, si uno convierte explícitamente un bit-string en varying(n), se truncará a la derecha si tiene más de n bits.

Bien hasta aquí llegamos con esta segunda Parte en donde hemos visto otro 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.