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.
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
ajouterEnsuite, 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.
- « Comment obtenir une taille de table de décalage vers le rouge
- Filtre les lignes dans le dataframe »