Tipos de datos en postgres

12
TIPOS DE DATOS EN POSTGRES DIEGO CCALLA AUQUI

Transcript of Tipos de datos en postgres

Page 1: Tipos de datos en postgres

TIPOS DE DATOS EN

POSTGRES

DIEGO CCALLA AUQUI

Page 2: Tipos de datos en postgres

1. Tipos numéricos Los tipos numéricos constan de dos, cuatro y ocho enteros de un byte

Nombre Tamaño de almacenamiento Descripción Rango

smallint 2 bytes pequeña rango entero -32,768-32.767

entero 4 bytes opción típica de número entero-2147483.648 Mil a 2147.483647 millones

bigint 8 bytes a gran rango entero-9223372036854775808-9223372036854775807

decimal variablesprecisión especificada por el usuario, exacta

hasta 131.072 dígitos antes del punto decimal; hasta 16.383 dígitos después del punto decimal

numérico variablesprecisión especificada por el usuario, exacta

hasta 131.072 dígitos antes del punto decimal; hasta 16.383 dígitos después del punto decimal

reales 4 bytes precisión variable inexacta6 dígitos decimales de precisión

doble precisión 8 bytes precisión variable inexacta15 dígitos decimales de precisión

smallserial 2 bytes entero pequeño autoincremental 1-32767

serial 4 bytes entero autoincremental De 1 a 2147483647

BIGSERIAL 8 bytes entero grande autoincremental 1-9223372036854775807

Page 3: Tipos de datos en postgres

2. Tipos Monetarios El tipo de dinero almacena una cantidad de moneda con una precisión

fraccional fijo. La precisión fraccionaria se determina por la base de datos de LC_MONETARY ajuste.

 El rango que se muestra en la tabla asume que hay dos decimales. La entrada es aceptada en una variedad de formatos, incluyendo enteros y literales de punto flotante, así como el formato de moneda típica, tales como '$1,000.00‘.

La salida es por lo general en la última forma, pero depende de la configuración regional.

NombreTamaño de almacenamiento

Descripción Rango

dinero 8 bytes cantidad de moneda -92233720368547758,08-92233720368547758,07

Page 4: Tipos de datos en postgres

3. Conjuntos de caracteres Postgres define dos tipos de caracteres primarios: carácter

variable (n) y el carácter (n), donde n es un entero positivo.

Tipos de carácter especial:

Nombre Descripción

carácter variable (n), varchar (n) de longitud variable con límite

carácter (n), char (n) de longitud fija, acolchada en blanco

texto variable de longitud ilimitada

Nombre Tamaño de almacenamiento Descripción

"Char" 1 bytede un solo byte de tipo interno

Nombre 64 bytestipo interno para nombres de objeto

Page 5: Tipos de datos en postgres

4. Tipos de datos binarios Una cadena binaria es una secuencia de octetos (o bytes).

Las cadenas binarias permiten específicamente almacenar octetos de valor cero y otros octetos no imprimibles.

El tipo bytea admite 2 formatos externos de entrada y salida: El historico formato de escape y el  formato hex .

El formato de salida dependerá del parámetro de configuración bytea_output, el valor predeterminado es hexadecimal.

Nombre Tamaño de almacenamiento Descripción

bytea1 o 4 bytes más la cadena binaria real

de longitud variable cadena binaria

Page 6: Tipos de datos en postgres

5. Fecha / Tiempo PostgreSQL soporta el conjunto completo de fecha y hora

NombreTamaño de almacenamiento

Descripción Bajo Valor Alto Valor Resolución

timestamp [(p)] [sin zona horaria]

8 bytestanto la fecha y la hora (sin zona horaria)

4713 aC 294276 AD1 microsegundo / 14 dígitos

timestamp [(p)] con zona horaria

8 bytestanto la fecha y la hora, con la zona horaria

4713 aC 294276 AD1 microsegundo / 14 dígitos

fecha 4 bytesfecha (sin la hora del día)

4713 aC 5874897 AD 1 día

tiempo [(p)] [sin zona horaria]

8 byteshora del día (sin fecha)

00:00:00 24:00:001 microsegundo / 14 dígitos

tiempo [(p)] con la zona horaria

12 bytestiempos de sólo día, con la zona horaria

00: 00: 00 + 1459

24: 00: 00-14591 microsegundo / 14 dígitos

intervalo [campos] [(p)]

16 bytesintervalo de tiempo

-178000000 Años

178000000 año1 microsegundo / 14 dígitos

Page 7: Tipos de datos en postgres

6. Tipo de Boole PostgreSQL proporciona el tipo SQL boolean estándar.

El tipo boolean puede tener 3 estados: True, false y desconocido que esta representado por el valor nulo de SQL.

Los espacios Iniciales o finales en blanco se ignora, y el caso no importa.

Nombre Tamaño de almacenamiento Descripción

boolean 1 byte estado de verdadero o falso

Page 8: Tipos de datos en postgres

7. Tipos enumerados Son los tipos de datos que comprenden una estática y un conjunto

ordenado de valores.

Son equivalentes a los tipos de enumeración apoyados 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 una pieza de datos.

Se crean mediante el comando CREATE TYPE. 

Una vez creada, el tipo de enumeración se puede utilizar en definiciones de tablas y funcionan como cualquier otro tipo.

Cada tipo de datos enumerado es independiente y no se puede comparar con otros tipos enumerados.

Page 9: Tipos de datos en postgres

8. Tipos geométricos Representan objetos espaciales bidimensionales.

El tipo más fundamental es el punto, forma la base para todos los otros tipos.

Nombre Tamaño de almacenamiento Representación Descripción

punto 16 bytes Punto en un avión (X, y)

línea 32 bytes Línea infinita (no aplicado plenamente) ((X1, y1), (x2, y2))

lseg 32 bytes Segmento de línea Finitos ((X1, y1), (x2, y2))

cuadro 32 bytes Caja rectangular ((X1, y1), (x2, y2))

camino 16 + 16n bytes Trayectoria cerrada (similar a polígono) ((X1, y1), ...)

camino 16 + 16n bytes Camino abierto [(X1, y1), ...]

polígono 40 + 16n bytes Polygon (similar a la trayectoria cerrada) ((X1, y1), ...)

círculo 24 bytes Círculo <(X, y), r> (centro y radio)

Page 10: Tipos de datos en postgres

9. Tipos de direcciones de red PostgreSQL ofrece tipos de datos para almacenar IPv4, IPv6 y

direcciones MAC.

Es mejor utilizar estos tipos en lugar de tipos de texto sin formato para almacenar las direcciones de red, debido a que estos tipos ofrecen la comprobación de errores de entrada y operadores y funciones especializadas.

Nombre Tamaño de almacenamiento Descripción

cidr 7 o 19 bytes Redes IPv4 e IPv6

inet 7 o 19 bytes IPv4 e IPv6 hosts y redes

macaddr 6 bytes Direcciones MAC

Page 11: Tipos de datos en postgres

10. Tipos de cadenas de bits Las cadenas de bits son cadenas de 1 y 0. Pueden ser utilizados

para almacenar o visualizar máscaras de bits. Hay dos tipos de bits de SQL: bit (n) y el bit variable (n), donde n es un entero positivo.

Un valor cadena de bits requiere 1 byte para cada grupo de 8 bits, además de 5 o 8 bytes de sobrecarga en función de la longitud de la cadena.

Los datos del tipo de bits deben de coincidir con la longitud n exactamente.

Escribir bits sin longitud es equivalente a bit (1)

El bit variable sin una especificación de longitud significa la longitud ilimitada.

Page 12: Tipos de datos en postgres

11. Texto Tipos de búsqueda

PostgreSQL ofrece dos tipos de datos que están diseñados para apoyar la búsqueda de texto completo.

El tipo tsvector representa un documento en una forma optimizada para búsqueda de texto. Es una lista ordenada de los lexemas diferentes, que son las palabras que se han normalizado para combinar diferentes variantes de la misma palabra

El tipo tsquery representa igualmente un texto de la consulta. Son lexemas que se van a ser buscados, y los combina en honor a los operadores booleanos. Los paréntesis se pueden utilizar para hacer cumplir agrupación de los operadores.