Colonne d'ajout d'alter redshift

Colonne d'ajout d'alter redshift
Amazon Redshift est une base de données SQL basée sur le cloud ou, plus précisément, un service d'entreposage de données. Il s'agit d'une offre sans serveur entièrement gérée par AWS où il vous suffit de configurer un cluster de décalage vers le rouge pour effectuer le travail. Il y a des nœuds de calcul dans chaque cluster Redshift qui dépendent de la charge de travail de la base de données.

Cet article explique comment vous pouvez ajouter une nouvelle colonne à une table de décalage vers le rouge existante sans perturber autre chose dans la structure de la base de données. Nous supposons qu'avant de parcourir cet article, vous avez des connaissances sur la configuration d'un cluster à décalage vers le rouge.

Bref récapitulatif des commandes SQL

Prenons brièvement les cinq types de commandes SQL de base pour savoir quel type de commande nous aurons besoin d'ajouter une nouvelle colonne à un tableau.

  • Langue de définition des données (DDL): Les commandes DDL sont principalement utilisées pour effectuer des changements structurels dans la base de données, comme la création d'une nouvelle table, en supprimant une table, apportant des modifications à une table comme l'ajout et la suppression d'une colonne, etc. Les principales commandes qui y sont associées sont: Créer, altérer, laisser tomber et tronquer.
  • Langue de manipulation des données (DML): Ce sont les commandes les plus couramment utilisées pour manipuler les données dans la base de données. La saisie des données régulières, la suppression des données et les mises à jour sont effectuées en utilisant ces commandes. Cela inclut les commandes d'insertion, de mise à jour et de suppression.
  • Langage de contrôle des données (DCL): Ce sont des commandes simples utilisées pour gérer les autorisations utilisateur dans la base de données. Vous pouvez autoriser ou refuser à un utilisateur particulier d'effectuer une sorte d'opération dans la base de données. Les commandes utilisées ici sont une subvention et une révocation.
  • Langue de contrôle des transactions (TCL): Ces commandes sont utilisées pour gérer les transactions dans la base de données. Ceux-ci sont utilisés pour enregistrer les modifications de la base de données ou pour éliminer les modifications spécifiques en revenant à un point précédent. Les commandes incluent la validation, le rollback et le point de sauvegarde.
  • Langue de requête de données (DQL): Ceux-ci sont simplement utilisés pour extraire ou interroger certaines données spécifiques de la base de données. Une seule commande est utilisée pour effectuer cette opération, et c'est la commande SELECT.

D'après la discussion précédente, il est clair que nous aurons besoin d'une commande DDL MODIFIER Pour ajouter une nouvelle colonne à un tableau existant.

Propriétaire de table à langer

Comme vous le savez probablement, chaque base de données a ses utilisateurs et un ensemble différent d'autorisations. Donc, avant d'essayer de modifier un tableau, votre utilisateur doit posséder ce tableau dans la base de données. Sinon, vous n'obtenez pas la permission de changer quoi que ce soit. Dans de tels cas, vous devez permettre à l'utilisateur d'effectuer des opérations spécifiques sur la table en modifiant le propriétaire de la table. Vous pouvez choisir un utilisateur existant ou créer un nouvel utilisateur dans votre base de données, puis exécuter la commande suivante:

modifier table
propriétaire < new user>

De cette façon, vous pouvez modifier le propriétaire de la table en utilisant la commande alter. Maintenant, nous verrons comment ajouter une nouvelle colonne à notre table de base de données existante.

Ajout d'une colonne dans la table de décalage vers le rouge

Supposons que vous exécutiez une petite entreprise de technologies de l'information avec différents départements et que vous avez développé des tables de base de données distinctes pour chaque département. Toutes les données des employés pour l'équipe RH sont stockées dans le tableau nommé HR_Team, ayant trois colonnes nommées Serial_number, Name et Date_of_joining. Les détails du tableau peuvent être vus dans la capture d'écran suivante:

Tout va bien. Mais au fil du temps, vous venez de réaliser que vous facilitez davantage votre vie en ajoutant les salaires des employés dans la base de données que vous avez déjà gérés à l'aide de feuilles de calcul simples. Vous souhaitez donc remplir une autre colonne dans chaque table départementale nommée Salaire.

La tâche peut être simplement effectuée à l'aide de la commande alter Table suivante:

modifier table

ajouter

Ensuite, vous avez besoin des attributs suivants pour exécuter la requête précédente dans le cluster Redshift:

  • Nom de la table: Nom de la table dans laquelle vous souhaitez ajouter une nouvelle colonne
  • Nom de colonne: Nom de la nouvelle colonne que vous ajoutez
  • Type de données: Définissez le type de données de la nouvelle colonne

Maintenant, nous allons ajouter la colonne nommée salaire avec le type de données int à notre tableau existant de hr_team.

Ainsi, la requête précédente a ajouté une nouvelle colonne à la table de décalage vers le rouge existant. Le type de données de cette colonne est un entier, et la valeur par défaut est définie sur null. Maintenant, vous pouvez ajouter les données réelles souhaitées dans cette colonne.

Ajout d'une colonne avec une longueur de chaîne spécifiée

Prenons un autre cas où vous pouvez également définir la longueur de la chaîne après le type de données pour la nouvelle colonne que nous ajouterons. La syntaxe sera la même, sauf qu'il n'y a que l'ajout d'un attribut.

modifier table

ajouter <(Length)>

Par exemple, vous souhaitez appeler chaque membre de l'équipe avec un bref surnom au lieu de leur nom complet, et vous voulez que les surnoms soient composés d'un maximum de cinq personnages.

Pour cela, vous devrez empêcher les gens d'aller au-delà d'une certaine longueur pour les surnoms.

Ensuite, une nouvelle colonne est ajoutée, et nous avons fixé une limite sur Varchar pour ne pas prendre plus de cinq caractères.

Maintenant, si quelqu'un essaie d'ajouter son surnom plus longtemps que prévu, la base de données ne permettra pas cette opération et rapportera une erreur.

Mais, si nous entrons tous les surnoms avec cinq caractères ou moins, l'opération réussira.

En utilisant la requête précédente, vous pouvez ajouter une nouvelle colonne et mettre une limite sur la longueur de la chaîne dans la table Redshift.

Ajout d'une colonne de clé étrangère

Les clés étrangères sont utilisées pour référencer les données d'une colonne à l'autre. Prenez un cas où vous avez des gens dans votre organisation qui travaillent dans plus d'une équipe, et vous voulez garder une trace de la hiérarchie de votre organisation. Allons web_team et dev_team partager les mêmes personnes, et nous voulons les référencer en utilisant des clés étrangères. Le dev_team a simplement deux colonnes qui sont employé_id et nom.

Maintenant, nous voulons créer une colonne nommée employé_id dans le web_team tableau. L'ajout d'une nouvelle colonne est la même que celle discutée ci-dessus.

Ensuite, nous définirons la colonne nouvellement ajoutée en tant que clé étrangère en la faisant référence à la colonne employé_id présent dans le dev_team tableau. Vous avez besoin de la commande suivante pour définir la clé étrangère:

Organisation de la table modifier.web_team
Ajouter la clé étrangère
() les références ());

De cette façon, vous pouvez ajouter une nouvelle colonne et la définir en tant que clé étrangère dans votre base de données.

Conclusion

Nous avons vu comment apporter des modifications à nos tables de base de données comme l'ajout d'une colonne, la suppression d'une colonne et le renommer une colonne. Ces actions sur la table Redshift peuvent être effectuées simplement en utilisant des commandes SQL. Vous pouvez modifier votre clé primaire ou définir une autre clé étrangère si vous le souhaitez.