Postgres ajoute une contrainte s'il n'existe pas

Postgres ajoute une contrainte s'il n'existe pas
Lorsque vous travaillez dans la base de données, nous devons gérer et surveiller les données en fonction de l'état des données particulières de la colonne. Les contraintes postgresql sont les règles et réglementations qui sont appliquées aux colonnes spécifiées du tableau dans une base de données. PostgreSQL a plusieurs types de contraintes. Ils sont répertoriés ci-dessous:
  • Contrainte de clé primaire
  • Contrainte de clé étrangère
  • Contrainte unique
  • Vérifier la contrainte

Nous ajouterons toutes ces contraintes avec des exemples dans ce guide à venir.

Syntaxe

Modifier le nom de la table_of_table
Ajouter Constaint_Type (Column_name);

Ceci est la syntaxe de base utilisée pour ajouter une contrainte contenant le nom de la colonne d'un tableau spécifique. D'autres attributs sont ajoutés en fonction de la condition de contrainte.

Ajouter une contrainte de clé primaire

La contrainte de clé principale est créée en déclarant une colonne dont toutes les valeurs sont uniques les unes des autres. Cela signifie que chaque ligne contient une valeur unique ou différente. La colonne affectée est dix, connue sous le nom de clé primaire. Nous verrons la contrainte de clé primaire de deux manières. La première façon est de définir la contrainte dans la commande Create. Deuxièmement, lorsqu'un simple tableau est créé plus tôt sans aucune contrainte, nous ajouterons la contrainte à ce tableau déjà créé après la création.

Un tableau nommé hôpital est créé pour stocker les informations concernant les médecins.

>> Créer un hôpital de table (H_ID INTEGER CONSTRAINTION HOSPITAL_PK Clé primaire, Duty_Date Varchar (10), médecins entier, chirurgie varchar (20));

Après avoir créé la table, nous allons maintenant insérer quelques lignes dans la table pour le faire en état de fonctionnement.

>> Insérer dans l'hôpital (H_ID, Duty_Date, Doctors, Surgery) Valeurs (1, «2-2-2020», 20, «cœur»);

Après la saisie des données, vous pouvez voir les données entrées en utilisant une instruction SELECT.

>> Sélectionner * à l'hôpital;

Nous allons maintenant venir à cette situation où nous devons appliquer une contrainte de clé primaire à la colonne du tableau qui n'a pas de contrainte avant. Donc, au début, nous avons créé une table simple avec ses attributs sans insérer de données.

>> Créer des clients de table (Customer_ID INT, Customer_Name Varchar (255) pas null);

Comme nous avons créé un tableau récemment, nous connaissons les attributs de la table. Mais au cas où vous n'êtes pas familier avec les détails d'une colonne de PostgreSQL, nous pouvons vérifier les détails de toute relation en utilisant une commande simple avec le nom d'un tableau spécifié.

>> \ d clients;

Tous les détails, y compris le nom de la colonne, sont affichés comme valeur résultante. Habituellement, cette description détaillée contient des informations sur les colonnes, les index et les contraintes. Après avoir appliqué des contraintes, nous verrons la vue détaillée de la relation client.

Nous allons maintenant utiliser une commande alter pour apporter des modifications aux clients de la table. Tout d'abord, jetez un œil à la syntaxe de base de la commande alter.

Alter table table_name Ajouter une clé primaire (colonnel_name);

Donc, pour le tableau du client, nous avons appliqué des contraintes sur le client_id.

Après le changement, nous verrons à nouveau les détails du tableau pour afficher la contrainte appliquée.

Ajouter une contrainte de vérification

Une contrainte de vérification est également connue sous le nom de contrainte d'intégrité. Cette contrainte fonctionne de manière à spécifier la condition qui doit être appliquée et spécifiée par chaque ligne de la table dans la base de données. Tout d'abord, vérifiez les données de l'étudiant de la table.

>> Sélectionner * chez Student;

Nous appliquerons la contrainte sur la colonne Student_id pour nous assurer que tous les ID entrés et ceux qui seront entrés ci-après auront un nombre positif pour garantir la présence des étudiants. Le nom de la contrainte est la présence.

>> alter table étudiant ajouter la vérification de la fréquentation des contraintes (Student_id> 0);

Maintenant, nous allons vérifier les détails de la table.

>> \ d étudiant;

La description du tableau ci-dessus montre qu'une contrainte de vérification avec son nom est appliquée au tableau ayant des ID supérieurs à 0.

Ajouter une contrainte de clé étrangère

Une clé étrangère est une colonne ou des colonnes qui sont utilisées pour identifier une ligne très unique d'un tableau différent. Toute table peut avoir plus d'une clé étrangère en établissant une relation avec d'autres tables. Une contrainte de clé étrangère est connue pour éviter que les données non valides soient entrées dans une colonne de clé étrangère. La syntaxe de base des contraintes de clés étrangères est:

Tout d'abord, nous écrivons le nom de la table enfant, puis le mot-clé de contraintes d'ajout est utilisé. Ensuite, le nom de contrainte est écrit. Le mot clé de la clé étrangère contient la colonne de la clé enfant référencée par la table parent, puis à la fin, la table parent est écrite avec la clé principale parentale.

Nous allons maintenant considérer une table pratique avec certaines informations liées à la table des étudiants comme décrit ci-dessus. Ici, nous appliquerons une contrainte de clé étrangère à la table «pratique». Ici, le tableau pratique est un tableau d'enfants contenant une référence au tableau parent «étudiant». Ici, le nom de la contrainte est écrit FK_Constraint.

>> ALTER TABLE PRATIQUE Ajouter une contrainte FK_CONSTRAINT CLÉ ARRÊT (Student_ID) Références Student (Student_id);

Voir la description du tableau en utilisant la commande ci-dessous.

>> \ d pratique;

Vous pouvez voir la contrainte de clé étrangère dans le résultat.

Ajouter une contrainte unique

Une contrainte unique est appliquée sur la colonne du tableau en suivant la règle selon laquelle les valeurs ne sont valides que si elles sont uniques. Ici, nous avons pris des éléments de nom de table qui ont déjà été créés; Nous avons maintenant ajouté une contrainte unique sur la colonne ID. La syntaxe contient le nom de contrainte suivant le nom de colonne que vous souhaitez ajouter la contrainte.

>> alter les éléments de table Ajouter des éléments de contrainte_unique unique (id);

Maintenant voir les détails de la relation.

>> \ d items;

Ajouter une contrainte via pgadmin

Pour ajouter les contraintes sur le tableau de bord, nous utiliserons le panneau de navigation gauche. Tout d'abord, créez une connexion, puis développez la base de données actuelle sur laquelle vous travaillez. Sur la poursuite de l'expansion des schémas, vous condurez aux tables. Choisissez une table. Par exemple, nous avons sélectionné Table 'Hospital' pour voir les contraintes que nous avons appliquées sur elle via le shell PSQL.

Développez l'option de contraintes à l'intérieur du tableau. Vous verrez la contrainte principale que nous avons créée plus tôt. De cette façon, toutes les contraintes sont mentionnées sur le tableau de bord.

De même, nous pouvons ajouter une contrainte à la table. Comme si nous avons sélectionné une table nommée Car, cliquez avec le bouton droit sur l'option de contrainte, puis sélectionnez l'option «Créer» dans la liste déroulante.

Une autre façon consiste à accéder aux propriétés, à sélectionner la contrainte de cocher, à ajouter les détails dans la boîte de dialogue en fournissant une condition de vérification que l'ID doit être une valeur positive.

Puis enregistrer les modifications pour continuer.

Vous verrez qu'une contrainte sera ajoutée de cette manière.

Conclusion

L'article «Postgres ajoute une contrainte s'il n'existe pas» contient toutes les contraintes que PostgreSQL possède et ajoute à ses tables dans la base de données. Chaque description de contraintes contient des exemples pour expliquer la mise en œuvre des contraintes. Chaque contrainte est appliquée en fonction de la demande d'une commande spécifique. Nous espérons que ce guide vous aidera à augmenter vos connaissances actuelles concernant les contraintes postgresql.