II. Le langage SQL

Cette partie décrit l'utilisation du langage SQL dans PostgreSQL. Nous démarrons en décrivant la syntaxe générale de SQL, puis expliquons comment créer les structures pour contenir les données, comment peupler la base et comment la questionner. La partie centrale liste les types de données, et les fonctions disponibles et leur utilisation dans les commandes de données SQL. Le reste traite de plusieurs aspects qui sont importants pour la mise au point d'une base dans le but d'obtenir des performances optimales.

L'information dans cette partie est arrangée de façon à ce qu'un utilisateur novice puisse la suivre du début à la fin et avoir ainsi une compréhension complète des sujets sans avoir à s'y référer trop souvent. Les chapitres sont prévus pour être indépendants, de sorte que les utilisateurs avancés puissent lire individuellement les chapitres qu'ils ont choisis. L'information dans cette partie est présentée dans un style narratif en unités thématiques. Les lecteurs qui cherchent une description complète d'une commande particulière devraient regarder dans la Partie VI.

Les lecteurs de ce livre devraient savoir comment se connecter à une base PostgreSQL et éditer des commandes SQL. Les lecteurs qui ne sont pas familiarisés avec ces points sont encouragés à lire d'abord la Partie I. Les commandes SQL sont généralement entrées en utilisant le terminal interactif de PostgreSQL psql, mais d'autres programmes qui ont des fonctionnalités similaires peuvent aussi bien être utilisés.

Table des matières
4. Syntaxe SQL
4.1. Structure lexicale
4.2. Expressions de valeurs
5. Définition des données
5.1. Bases sur les tables
5.2. Colonnes Systèmes
5.3. Valeurs par défaut
5.4. Contraintes
5.5. Héritage
5.6. Modification des Tables
5.7. Privilèges
5.8. Schémas
5.9. D'autres Objets Base de Données
5.10. Gestion des Dépendances
6. Manipulation de données
6.1. Insérer des données
6.2. Modifier des données
6.3. Supprimer des données
7. Requêtes
7.1. Survol
7.2. Expressions de table
7.3. Listes de sélection
7.4. Combiner des requêtes
7.5. Tri de lignes
7.6. LIMIT et OFFSET
8. Types de données
8.1. Types numériques
8.2. Types monétaires
8.3. Types caractères
8.4. Types de données binaires
8.5. Types date/heure
8.6. Type Boolean
8.7. Types géométriques
8.8. Types d'adresses réseau
8.9. Types champs de bits
8.10. Tableaux
8.11. Types identifiants d'objets
8.12. Pseudo-Types
9. Fonctions et opérateurs
9.1. Opérateurs logiques
9.2. Opérateurs de comparaison
9.3. Fonctions et opérateurs mathématiques
9.4. Fonctions et opérateurs de chaînes
9.5. Fonctions et opérateurs de chaînes binaires
9.6. Correspondance de modèles
9.7. Fonctions de formatage des types de données
9.8. Fonctions et opérateurs pour date/heure
9.9. Fonctions et opérateurs géométriques
9.10. Fonctions pour le type des adresses réseau
9.11. Fonctions de manipulation de séquence
9.12. Expressions conditionnelles
9.13. Fonctions diverses
9.14. Fonctions et opérateurs sur les tableaux
9.15. Fonctions d'agrégat
9.16. Expressions de sous-expressions
9.17. Comparaisons de lignes et de tableaux
10. Conversion de types
10.1. Vue d'ensemble
10.2. Opérateurs
10.3. Fonctions
10.4. Stockage de valeurs
10.5. Constructions UNION, CASE et ARRAY
11. Index
11.1. Introduction
11.2. Types d'index
11.3. Les index multicolonnes
11.4. Index Uniques
11.5. Index sur des expressions
11.6. Classes d'Opérateurs
11.7. Index partiels
11.8. Examiner l'usage des index
12. Contrôle d'accès simultané
12.1. Introduction
12.2. Isolation des transactions
12.3. Verrouillage explicite
12.4. Vérification de cohérence des données au niveau de l'application
12.5. Verrouillage et index
13. Conseils sur les performances
13.1. Utiliser EXPLAIN
13.2. Statistiques utilisées par le planificateur
13.3. Contrôler le planificateur avec des clauses JOIN explicites
13.4. Remplir une base de données