Tutorial de PostgreSQL

PostgreSQL es un servidor de bases de datos objeto-relacional (ORDBMS) gratuito, distribuido bajo la flexible licencia BSD.

Los desarrolladores de PostgreSQL lo pronuncian comopost-gress-Q-L。

El lema de PostgreSQL es "la base de datos relacional de código abierto más avanzada del mundo".

Contenido de referencia:Manual de PostgreSQL 10.1


¿Qué es una base de datos?

Una base de datos (Database) es un almacén que organiza, almacena y gestiona datos según una estructura de datos.

Cada base de datos tiene una o más API diferentes para crear, acceder, gestionar, buscar y replicar los datos guardados.

También podemos almacenar datos en archivos, pero la velocidad de lectura y escritura de datos en archivos es relativamente lenta.

Por eso, ahora usamos sistemas de gestión de bases de datos relacionales (RDBMS) para almacenar y gestionar grandes volúmenes de datos. La denominada base de datos relacional es una base de datos basada en el modelo relacional, que utiliza conceptos y métodos matemáticos como el álgebra de conjuntos para procesar los datos en la base de datos.

ORDBMS (sistema de base de datos objeto-relacional) es el producto de la combinación de la tecnología orientada a objetos con las bases de datos relacionales tradicionales. El procesamiento de consultas es una parte importante del ORDBMS, y su rendimiento afecta directamente al rendimiento del DBMS.

ORDBMS, sobre la base de la base de datos relacional original, añade algunas características nuevas.

RDBMS es un sistema de gestión de bases de datos relacionales, que establece relaciones entre entidades y finalmente obtiene tablas relacionales.

OODBMS (sistema de gestión de bases de datos orientado a objetos) es un sistema de gestión de bases de datos orientado a objetos. Trata todas las entidades como objetos, encapsula estas clases de objetos, y la comunicación entre objetos se realiza mediante mensajes. OODBMS, la base de datos objeto-relacional, en esencia sigue siendo una base de datos relacional.


Terminología ORDBMS

Antes de comenzar a aprender la base de datos PostgreSQL, comprendamos primero algunos términos de ORDBMS:

  • Base de datos:La base de datos es una colección de tablas relacionadas.
  • Tabla de datos:Una tabla es una matriz de datos. Las tablas en una base de datos parecen una hoja de cálculo simple.
  • Columna:Una columna (elemento de datos) contiene los mismos datos, por ejemplo, los datos de códigos postales.
  • Fila:Una fila (= tupla o registro) es un conjunto de datos relacionados, por ejemplo, un dato de suscripción de un usuario.
  • Redundancia: almacenar el doble de datos. La redundancia reduce el rendimiento, pero aumenta la seguridad de los datos.
  • Clave primaria: la clave primaria es única. Una tabla de datos solo puede contener una clave primaria. Puedes usar la clave primaria para consultar datos.
  • Clave foránea:La clave foránea se utiliza para relacionar dos tablas.
  • Clave compuesta: la clave compuesta (clave combinada) utiliza varias columnas como una clave de índice, generalmente para índices compuestos.
  • Índice:El uso de índices permite acceder rápidamente a información específica en una tabla de base de datos. Un índice es una estructura que ordena los valores de una o varias columnas de una tabla de base de datos. Es similar al índice de un libro.
  • Integridad referencial:La integridad referencial requiere que la relación no permita referencias a entidades inexistentes. Junto con la integridad de entidad, son condiciones de integridad que el modelo relacional debe cumplir, con el objetivo de garantizar la consistencia de los datos.

Características de PostgreSQL

  • Funciones: mediante funciones, se pueden ejecutar programas de instrucciones en el servidor de la base de datos.

  • Índices: los usuarios pueden personalizar métodos de índice o utilizar los árboles B integrados, tablas hash e índices GiST.

  • Disparadores: los disparadores son eventos desencadenados por consultas de sentencias SQL. Por ejemplo: una sentencia INSERT puede activar un disparador que verifica la integridad de los datos. Los disparadores suelen activarse mediante sentencias INSERT o UPDATE.

  • Control de concurrencia multiversión:PostgreSQL utiliza un sistema de control de concurrencia multiversión (MVCC, Multiversion Concurrency Control) para el control de concurrencia. Este sistema proporciona a cada usuario una "instantánea" de la base de datos; cada modificación realizada por el usuario dentro de una transacción es invisible para otros usuarios hasta que la transacción se confirma con éxito.

  • Reglas: las reglas (RULE) permiten reescribir una consulta, y generalmente se utilizan para implementar operaciones sobre vistas (VIEW), como inserción (INSERT), actualización (UPDATE) y eliminación (DELETE).

  • Tipos de datos: incluyen texto, matrices numéricas de precisión arbitraria, datos JSON, tipos enumerados, datos XML

    etc.
  • Búsqueda de texto completo: mediante Tsearch2 u OpenFTS; en la versión 8.3, Tsearch2 está integrado.

  • NoSQL: soporte nativo para JSON, JSONB, XML, HStore, y contenedores de datos externos para bases de datos NoSQL.

  • Almacén de datos: puede migrar sin problemas a GreenPlum, DeepGreen, HAWK, etc., que pertenecen al ecosistema PostgreSQL, utilizando FDW para ETL.


Recursos relacionados

Manual de PostgreSQL 10.1 Manual en línea:http://www.example.com/manual/PostgreSQL/

Manual fuera de línea - Versión PDF:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, código de extracción:xs7r。

Manual fuera de línea - Versión CHM:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, código de extracción:tq4z。

Ver la última versión:https://github.com/postgres-cn/pgdoc-cn/releases

Otras extensiones