Tutoriel PostgreSQL
PostgreSQL est un serveur de base de données objet-relationnelle (ORDBMS) gratuit, distribué sous la licence BSD flexible.
Les développeurs de PostgreSQL le prononcentpost-gress-Q-L。
Le slogan de PostgreSQL est « la base de données relationnelle open source la plus avancée au monde ».
Contenu de référence :Manuel PostgreSQL 10.1
Qu'est-ce qu'une base de données ?
Une base de données est un entrepôt qui organise, stocke et gère les données selon des structures de données.
Chaque base de données dispose d'une ou plusieurs API différentes pour créer, accéder, gérer, rechercher et copier les données enregistrées.
Nous pouvons également stocker des données dans des fichiers, mais la lecture et l'écriture de données dans des fichiers sont relativement lentes.
Par conséquent, nous utilisons maintenant des systèmes de gestion de bases de données relationnelles (RDBMS) pour stocker et gérer de grandes quantités de données. La base de données dite relationnelle est une base de données construite sur le modèle relationnel, utilisant des concepts et des méthodes mathématiques tels que l'algèbre ensembliste pour traiter les données de la base de données.
ORDBMS (système de base de données relationnelle-objet) est le produit de la combinaison de la technologie orientée objet avec les bases de données relationnelles traditionnelles. Le traitement des requêtes est une partie importante de l'ORDBMS, et ses performances affectent directement les performances du DBMS.
ORDBMS ajoute de nouvelles fonctionnalités en se basant sur la base de données relationnelle d'origine.
RDBMS est un système de gestion de bases de données relationnelles, qui établit des liens entre les entités et obtient finalement des tables relationnelles.
OODBMS (système de gestion de base de données orienté objet) est un système de gestion de base de données orienté objet qui traite toutes les entités comme des objets, encapsule ces classes d'objets et communique entre les objets par des messages. Les bases de données relationnelles-objet OODBMS sont encore essentiellement des bases de données relationnelles.
Terminologie ORDBMS
Avant de commencer à apprendre la base de données PostgreSQL, comprenons d'abord quelques termes ORDBMS :
- Base de données :Une base de données est un ensemble de tables liées.
- Table de données :Une table est une matrice de données. Une table dans une base de données ressemble à un simple tableur.
- Colonne :Une colonne (élément de données) contient le même type de données, comme les données de code postal.
- Ligne :Une ligne (= tuple, ou enregistrement) est un groupe de données liées, comme un élément de données d'abonnement utilisateur.
- Redondance: le stockage en double des données ; la redondance réduit les performances mais améliore la sécurité des données.
- Clé primaire: La clé primaire est unique. Une table de données ne peut contenir qu'une seule clé primaire. Vous pouvez utiliser la clé primaire pour interroger les données.
- Clé étrangère :Une clé étrangère est utilisée pour associer deux tables.
- Clé composite: Une clé composite (clé combinée) utilise plusieurs colonnes comme clé d'index, généralement utilisée pour les index composites.
- Index :L'utilisation d'index permet d'accéder rapidement à des informations spécifiques dans les tables de la base de données. Un index est une structure qui trie les valeurs d'une ou plusieurs colonnes dans une table de base de données, semblable à la table des matières d'un livre.
- Intégrité référentielle :L'intégrité référentielle exige que les relations ne permettent pas de références à des entités inexistantes. Avec l'intégrité d'entité, il s'agit d'une contrainte d'intégrité que le modèle relationnel doit satisfaire, afin de garantir la cohérence des données.
Fonctionnalités de PostgreSQL
-
Fonctions: Grâce aux fonctions, des programmes d'instructions peuvent être exécutés du côté serveur de la base de données.
-
Index: Les utilisateurs peuvent personnaliser les méthodes d'index, ou utiliser les index intégrés B-tree, table de hachage et GiST.
-
Déclencheurs: Un déclencheur est un événement déclenché par une requête d'instruction SQL. Par exemple, une instruction INSERT peut déclencher un déclencheur qui vérifie l'intégrité des données. Les déclencheurs sont généralement déclenchés par des instructions INSERT ou UPDATE.
-
Contrôle de concurrence multiversion :PostgreSQL utilise un système de contrôle de concurrence multiversion (MVCC, Multiversion concurrency control) pour le contrôle de concurrence. Ce système fournit à chaque utilisateur un « instantané » de la base de données. Toute modification effectuée par un utilisateur au sein d'une transaction est invisible pour les autres utilisateurs jusqu'à ce que la transaction soit validée avec succès.
-
Règles: Les règles (RULE) permettent de réécrire une requête, et sont généralement utilisées pour implémenter des opérations sur les vues (VIEW), telles que l'insertion (INSERT), la mise à jour (UPDATE) et la suppression (DELETE).
-
Types de données: Y compris texte, tableaux numériques à précision arbitraire, données JSON, types énumérés, données XML
etc. -
Recherche en texte intégral: Via Tsearch2 ou OpenFTS ; dans la version 8.3, Tsearch2 est intégré.
-
NoSQL: Prise en charge native de JSON, JSONB, XML, HStore et des wrappers de données externes pour les bases de données NoSQL.
-
Entrepôt de données: Peut migrer en douceur vers GreenPlum, DeepGreen, HAWK, etc. dans le même écosystème PostgreSQL, en utilisant FDW pour ETL.
Ressources associées
Manuel PostgreSQL 10.1 - Manuel en ligne :http://www.example.com/manual/PostgreSQL/
Manuel hors ligne - version PDF :https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, code d'extraction :xs7r。
Manuel hors ligne - version CHM :https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, code d'extraction :tq4z。
Voir la dernière version :https://github.com/postgres-cn/pgdoc-cn/releases
Autres extensions