PostgreSQL - Tableaux

Table des matières
PostgreSQL Outre les tables de données les plus courantes trouvées dans d'autres pilotes et moteurs de base de données, il propose également des types de tables uniques et exclusifs, tels que des tables temporaires, des tables non journalisées, des tables héritées et des tables typées.
Créer un tableau
Avant de plonger dans les différents types de planches qu'elle nous propose PostgreSQL, nous allons voir comment une table normale doit être créée, cela peut être assez similaire à la façon dont les tables sont créées dans d'autres gestionnaires de bases de données, mais nous allons jeter les bases de la façon dont cela est fait dans PostgreSQL.
Dans l'image suivante, nous voyons le code de la façon de le faire, puis nous expliquerons chaque détail étape par étape :

AGRANDIR

  • Le type de série est le type de données utilisé lorsque vous souhaitez créer un champ numérique automatique, il crée un objet séquence compagnon et définit cette colonne comme un entier avec la valeur par défaut configurée pour prendre la valeur suivante de l'objet séquence, généralement elle est utilisée comme clé primaire.
  • Le type varchar est un type de chaîne de longueur variable similaire à ce que nous utilisons dans d'autres moteurs de base de données, il peut également être écrit sous la forme caractère variable (50).
  • Le type texte il s'agit d'un type de données illimité, il n'est jamais défini sur une taille.
  • Le type horodatage with time zone est un type de date et d'heure qui est toujours stocké en UTC, par défaut, il affichera la date et l'heure en utilisant le propre fuseau horaire du serveur comme référence, sauf indication contraire.
Tableaux hérités
Pour le moment uniquement pris en charge par PostgreSQL, Ce type de tables nous permet d'hériter de toutes les colonnes de la table parent en plus de pouvoir créer nos propres colonnes dans la table enfant, toutes les modifications apportées dans la table parent seront transférées dans les tables enfants, la seule chose qui ne sont pas héritées sont les clés primaires et les clés étrangères, lorsque nous effectuons une requête sur le parent, cela inclura également les colonnes des enfants.
Voyons un exemple de création d'une table héritée :

Tables non enregistrées
Ce type de tables est créé lorsque nous avons besoin de beaucoup de vitesse d'écriture et que les données stockées dans ladite table ne sont pas d'une importance vitale, car ce type en cas de panne de moteur n'est pas restauré mais plutôt un tronquer de la table; son plus grand avantage est qu'il a une vitesse d'écriture 15 fois plus rapide que les autres types de tableaux.
Voyons comment nous créons ce type de tables dans l'image suivante :

Tableaux typés
Ce type de table obtient sa structure à partir d'un type de données composite, avec lequel on peut gagner du temps lors de leur génération, l'inconvénient est qu'on ne peut pas alors ajouter de colonnes supplémentaires de manière traditionnelle.
L'avantage est que si nous avons beaucoup de tables avec ce type, nous pouvons changer la structure et cela s'étendra à toutes les tables.
Pour les utiliser, nous devons suivre ces étapes:
Nous créons d'abord le type de données :
CREATE TYPE app_user AS (user_name varchar (50), email varchar (75), pwd varchar (50));

Ensuite, nous créons la table typée :
CREATE TABLE super_users OF app_user (CONSTRAINT pk_super_users PRIMARY KEY (user_name));

Comme nous le voyons, nous définissons les clés dans la définition de la table.
Si nous voulons ajouter un champ supplémentaire à nos tables, nous pouvons le faire de la manière suivante :
ALTER TYPE app_user AJOUTER UN ATTRIBUT main_phone varchar (18) CASCADE;

Avec l'argumentation CASCADE qui est placé, ce changement est accepté par toutes les tables.
Avec cela, nous terminons ce didacticiel en laissant un certain nombre d'outils qui permettront à nos tables de mieux répondre à nos exigences et à nos besoins.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave