Postgre SQL
Postgre SQL
Ventajas de PostgreSQL
Instalación ilimitada y gratuita: Podemos instalarlo en todos los equipos que
queramos. Independientemente de la plataforma y la arquitectura que usemos,
PostgreSQL está disponible para los diferentes SO, Unix, Linux y Windows, en 32 y 64
bits. Esto hace de PostgreSQL un sistema multiplataforma y también hace que sea
más rentable con instalaciones a gran escala.
Estándar SQL: Implementa casi todas las funcionalidades del estándar ISO/IEC
9075:2011, así pues, resulta sencillo realizar consultas e incluir scripts de otros Motores
de Bases de Datos.
Potencia y Robustez: PostgreSQL cumple en su totalidad con la característica ACID
Compliant. ACID es un acrónimo de Atomicity, Consistency, Isolation y Durability
(Atomicidad, Consistencia, Aislamiento y Durabilidad en español). Por ello permite que
las transacciones no interfieran unas con otras. Con ello se garantiza la información de
las Bases de Datos y que los datos perduren en el sistema.
Desventajas de PostgreSQL
Es relativamente lento en inserciones y actualizaciones en bases de datos
pequeñas, PostgreSQL está diseñado para ambientes de alto volumen. Esto hace
que la velocidad de respuesta pueda parecer lenta en comparación con bases de datos
de pequeño tamaño.
Los requisitos mínimos para instalar postgres son verdaderamente mínimos y es que muchos
coinciden en que se necesitan:
• 512 Mb de memoria RAM.
• 1024 Mb máquina virtual.
• 1 GB de espacio de disco duro.
• Sistema operativo: Windows, Linux, MacOs o Unix.
• Arquitectura del sistema 32/64 bit.
• Protocolo de red TCP/IP.
La verdad es que casi cualquier computadora de la actualidad tiene lo mínimo necesario para
instalar postgres. Dependiendo de la necesidad que tengas puedes usar desde un Pentium 4
hasta un servidor dedicado con 64gb de RAM. Eso dependerá del uso que vayas a darle a la
base de datos en tu sistema.
Descarga PostgreSQL
A continuación, elegir una contraseña propia para el usuario de postgres de la base de datos.
Es importante porque es la que se va a usar para conectar a la Base de Datos como
usuarios. Como ejemplo 1234
Las funciones ventanas
Las ventanas son una característica estándar ANSI-SQL soportada por PostgreSQL, esta
nos permite ver y utilizar los datos que están más allá del registro actual, sin estas funciones
tendríamos que estar realizado JOINS y Sub-Querys para poder obtener los datos y recursos
de otra forma mucho más compleja.
El siguiente ejemplo consiste en obtener el valor average de una columna en una tabla
veamos el ejemplo en la siguiente imagen:
Como pudimos observar con la función AVG nos permite obtener los valores de todos los
campos sin necesidad de hacer JOINS y la función OVER nos permite convertir esto en una
función Window. Así cuando PostgreSQL ve una función de este tipo va a hacer una
escaneo de todas las filas que cumplan con la cláusula WHERE para obtener el resultado.
Con esto terminamos el tutorial con el que pudimos conocer un poco más
como PostgreSQL maneja las funciones estándar de ANSI-SQL además de ver como
agrega su propio estilo para extender la utilidad de dichas funciones.
Operadores y funciones
1. Operadores
Las listas que se presentan a continuación resumen los operadores principales disponibles
en PostgreSQL.
a. Operadores de comparación
Cuando uno de los operandos comparados es NULL, entonces la comparación es NULL,
salvo cuando el operador es IS DISTINCT FROM, siendo NULL la ausencia de valor.
<: devuelve true si el operando de la izquierda es más pequeño que el operando de la
derecha.
>: devuelve true si el operando de la izquierda es más grande que el operando de la
derecha.
<=: devuelve true si el operando de la izquierda es más pequeño o igual que el
operando de la derecha.
>=: devuelve true si el operando de la izquierda es más grande o igual que el
operando de la derecha.
=: devuelve true si los dos operandos son equivalentes.
<> o !=: devuelve true si los dos operandos no son equivalentes.
IS [ NOT ] DISTINCT FROM: devuelve true (o false) si los operandos son distintos el
uno del otro, incluso si uno de los operandos es NULL.
IS [ NOT ] NULL: devuelve true (o false) si el operando es NULL.
Los siguientes operadores funcionan con tipos de datos compuestos, como las tablas, los
rangos de valores o los tipos de datos JSON:
@>: devuelve true si el operando de la izquierda contiene al operando de la derecha.
<@: devuelve true si el operando de la izquierda está contenido por el operando de la
derecha.
&&: devuelve true si los dos operandos se solapan.
Funciones principales
>>: devuelve true si el operando de la izquierda está a la izquierda del operando de la
derecha.
<<: devuelve true si el operando de la izquierda está a la derecha del operando de la
derecha.
&>: devuelve true si el operando de la izquierda no se extiende a la derecha del
operando de la derecha.
&<: devuelve true si el operando de la izquierda no se extiende a la izquierda del
operando de la derecha.
-|-: devuelve true si el operando de la izquierda es adyacente al operando de la
derecha.
Los siguientes operadores funcionan con los tipos de datos JSON y JSONB:
>>: devuelve true si el operando de la izquierda está a la izquierda del operando de la
derecha.
<<: devuelve true si el operando de la izquierda está a la derecha del operando de la
derecha.
MySQL
MySQL es un sistema open source de administración de bases de datos que es desarrollado
y soportado por Oracle.
Una base de datos es una colección estructurada de datos que está organizada para ser
usada y extraída de forma sencilla. Para un sitio de WordPress, esos “datos” son cosas como
el texto de las publicaciones de su blog, información de todos los usuarios registrados en su
sitio, datos autocargados, opciones importantes, configuraciones, etc.
MySQL es sólo uno de los sistemas populares que pueden almacenar y administrar esos
datos por usted, y es una solución de base de datos especialmente popular para sitios de
WordPress.
Lectura recomendada: Cómo Solucionar el Error «MySQL Server Has Gone Away» en
WordPress y Cómo Solucionar el Error MySQL 1064.
Ahora vamos a ser un poco más específicos cuando se trata de esta pregunta.
Este sistema permite realizar una gestión de los datos de una forma organizada y
ordenada.
Desventajas de MYSQL
No es el más amigable con los los programas que actualmente se utilizan
Cuando se debe modificar la estructura de Base de datos puede existir ligeros fallos.
No es tan rapido como otros administradores de bases de datos
Instalación hardware
512 Mb de memoria Ram.
1024 Mb maquina virtual.
1 GB de espacio de disco duro.
Protocolo de red TCP/IP.
Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de distribución.
Suficiente espacio en disco rígido para descomprimir, instalar, y crear las bases de datos
de acuerdo a sus requisitos. Generalmente se recomienda un mínimo de 200 megabytes.
Instalasion de mysql
Al finalizar la instalación de
los requerimientos haga clic
en “Next”.
Ejecute la actualización de productos complementarios haciendo clic en “Execute”.
Operadores
12.1.1. Precedencias de los operadores
La precedencia de operadores se muestra en la siguiente lista, de menor a mayor
precedencia. Los operadores que se muestran juntos en una línea tienen la misma
precedencia.
:=
&&, AND
NOT
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
&
<<, >>
-, +
*, /, DIV, %, MOD
BINARY, COLLATE
La precedencia mostrada para NOT es desde MySQL 5.0.2. En versiones anteriores, o
desde 5.0.2 si el modo HIGH_NOT_PRECEDENCE está activo, la precedencia de NOT es la
misma que la del operador ! . Consulte Sección 5.3.2, “El modo SQL del servidor”.
12.1.2. Paréntesis
( ... )
Use paréntesis para forzar el orden de evaluación en una expresión. Por ejemplo:
-> 7
-> 9
Par convertir un valor a un tipo específico para una comparación, puede usar la
función CAST() . Los valores de cadenas de carácteres pueden convertirse a un conjunto de
carácteres distinto usando CONVERT(). Consulte Sección 12.8, “Funciones y operadores de
cast”.
Los siguientes ejemplos ilustran conversión de cadenas a números para operaciones de
comparación:
-> 0
-> 1
-> 0
-> 1
Tenga en cuanta que cuando compara una columna de cadenas de carácteres con un
número, MySQL no puede usar el índice de la columna para buscar rápidamente le valor.
Si str_col es una columna de cadenas indexada, el índice no puede usarse al realizar la
búsqueda en el siguiente comando:
SELECT * FROM tbl_name WHERE str_col=1;
La razón es que hay diferentes cadenas que pueden convertirse al valor 1: '1', ' 1', '1a', ...
=
Igual:
mysql> SELECT 1 = 0;
-> 0
-> 1
-> 1
-> 1
<=>
NULL-safe equal. Este operador realiza una comparación de igualdad como el operador =,
pero retorna 1 en lugar de NULL si ambos operandos son NULL, y 0 en lugar de NULL si un
operando es NULL.
mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1, 1, 0
<>, !=
Diferente:
-> 1
-> 0
-> 1
<=
Menor que o igual:
-> 1
<
Menor que:
-> 0
>=
Mayor que o igual:
-> 1
>
Mayor que:
-> 0
-> 1, 1, 1
-> 1, 1, 0
-> 0, 0, 1
-> 1, 1, 0
Para poder trabajar con programas ODBC, MySQL soporta las siguientes características
extra al usar IS NULL:
Puede encontrar el registro que contiene el valor AUTO_INCREMENT más reciente
realizando un comando de la siguiente forma inmediatamente tras generar el valor:
SELECT * FROM tbl_name WHERE auto_col IS NULL
Este comportamiento puede desactivarse asignando SQL_AUTO_IS_NULL=0.
Consulte Sección 13.5.3, “Sintaxis de SET”.
Para columnas DATE y DATETIME que se declaran como NOT NULL, puede encontrar la
fecha especial '0000-00-00' con un comando como este:
SELECT * FROM tbl_name WHERE date_column IS NULL
Esto es necesario para algunas aplicaciones ODBC, ya que ODBC no soporta un valor de
fecha '0000-00-00' .
expr BETWEEN min AND max
Si expr es mayor o igual que min y expr es menor o igual a max, BETWEEN retorna 1, de
otro modo retorna 0. Esto es equivalente a la expresión (min <= expr AND expr <= max) si
todos los argumentos son del mismo tipo. De otro modo la conversión de tipos tiene lugar
según las reglas descritas al principio de la sección, pero aplicadas a todos los argumentos.
mysql> SELECT 1 BETWEEN 2 AND 3;
-> 0
-> 1
-> 1
-> 0
-> 1
GREATEST(value1,value2,...)
Con dos o más argumentos, retorna el argumento mayor (con valor mayor). Los argumentos
se comparan usando las mismas reglas que para LEAST().
mysql> SELECT GREATEST(2,0);
-> 2
-> 767.0
-> 'C'
expr IN (value,...)
Retorna 1 si expr es uno de los valores en la lista IN , de lo contrario retorna 0. Si todos los
valores son constantes, se evalúan según el tipo y ordenación de expr . La búsqueda para el
elemento se hace usando búsqueda binaria. Esto significa que IN es muy rápido si la
lista IN consiste enteramente en constantes. Si expr es una expresión de cadenas de
carácteres sensible a mayúsculas, la comparación de cadenas se realiza sensible a
mayúsculas.
mysql> SELECT 2 IN (0,3,5,'wefwf');
-> 0
-> 1
-> 1
-> 3
-> 2
-> 0