En esta página:
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 encuentran 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
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:
1 2 3 |
CREATE TYPE mood AS ENUM ('triste', 'ok', 'feliz'); |
Una vez creado, el tipo de enumeración se puede usar en definiciones de tablas y funciones como cualquier otro tipo:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
CREATE TYPE animo AS ENUM ('triste', 'ok', 'feliz'); CREATE TABLE person ( nombre text, actual_animo animo ); INSERT INTO persona VALUES ('Pedro', 'feliz'); SELECT * FROM persona WHERE actual_animo = 'feliz'; nombre | actual_animo ------+-------------- Pedro | feliz (1 row) |
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.