Tabella alter Redshift Aggiungi colonna

Tabella alter Redshift Aggiungi colonna
Amazon Redshift è un database SQL basato su cloud o, più specificamente, un servizio di data warehousing. È un'offerta senza server senza server gestita da AWS in cui è solo necessario configurare un cluster di spostamento verso il rosso per svolgere il lavoro. Ci sono nodi di calcolo in ciascun cluster di spostamento verso il rosso che dipende dal carico di lavoro sul database.

Questo articolo spiega come è possibile aggiungere una nuova colonna a una tabella Redshift esistente senza interrompere nient'altro nella struttura del database. Supponiamo che prima di passare attraverso questo articolo, hai conoscenza della configurazione di un cluster di spostamento verso il rosso.

Breve riepilogo dei comandi SQL

Esaminiamo brevemente i cinque tipi di comandi SQL di base per scoprire quale tipo di comando dovremo aggiungere una nuova colonna a una tabella.

  • Lingua di definizione dei dati (DDL): I comandi DDL sono principalmente utilizzati per apportare modifiche strutturali nel database come la creazione di una nuova tabella, la rimozione di una tabella, apportando modifiche a una tabella come l'aggiunta e la rimozione di una colonna, ecc. I comandi principali ad esso associati sono: creare, alterare, cadere e troncare.
  • Lingua di manipolazione dei dati (DML): Questi sono i comandi più comunemente usati per manipolare i dati nel database. Vengono eseguiti i dati regolari di dati, rimozione dei dati e aggiornamenti utilizzando questi comandi. Ciò include i comandi di inserto, aggiornamento ed elimina.
  • Lingua di controllo dei dati (DCL): Questi sono semplici comandi utilizzati per gestire le autorizzazioni utente nel database. È possibile consentire o negare a un determinato utente di eseguire un qualche tipo di operazione nel database. I comandi usati qui sono Grant e Revoca.
  • Transaction Control Language (TCL): Questi comandi vengono utilizzati per gestire le transazioni nel database. Questi vengono utilizzati per salvare le modifiche al database o per eliminare le modifiche specifiche tornando ad un punto precedente. I comandi includono commit, rollback e salva.
  • Lingua di query sui dati (DQL): Questi vengono semplicemente utilizzati per estrarre o interrogare alcuni dati specifici dal database. Un singolo comando viene utilizzato per eseguire questa operazione, e questo è il comando seleziona.

Dalla discussione precedente, è chiaro che avremo bisogno di un comando DDL Altera Per aggiungere una nuova colonna a una tabella esistente.

Cambiare il proprietario del tavolo

Come probabilmente sai, ogni database ha i suoi utenti e una diversa serie di autorizzazioni. Quindi, prima di provare a modificare una tabella, l'utente deve possedere quella tabella nel database. Altrimenti, non ottieni il permesso di cambiare nulla. In tali casi, è necessario consentire all'utente di eseguire operazioni specifiche sulla tabella modificando il proprietario della tabella. È possibile scegliere un utente esistente o creare un nuovo utente nel database e quindi eseguire il comando seguente:

alter tabella
proprietario a < new user>

In questo modo, è possibile modificare il proprietario della tabella usando il comando alter. Ora vedremo come aggiungere una nuova colonna alla nostra tabella di database esistente.

Aggiunta di una colonna nella tabella Redshift

Supponiamo di gestire una piccola società di tecnologia informatica con diversi dipartimenti e di aver sviluppato tabelle di database separate per ciascun reparto. Tutti i dati dei dipendenti per il team HR sono archiviati nella tabella denominata hr_team, con tre colonne denominate serial_number, nome e date_of_joining. I dettagli della tabella possono essere visualizzati nella seguente schermata:

Va tutto bene. Ma nel tempo, ti sei appena reso conto di facilitare ulteriormente la tua vita aggiungendo gli stipendi dei dipendenti nel database che in precedenza hai gestito utilizzando semplici fogli di calcolo. Quindi vuoi popolare un'altra colonna in ogni tabella dipartimentale denominata stipendio.

L'attività può essere semplicemente eseguita utilizzando il seguente comando della tabella alter:

alter tabella

aggiungere

Quindi, è necessario che i seguenti attributi eseguiscano la query precedente nel cluster Redshift:

  • Nome della tabella: Nome della tabella in cui si desidera aggiungere una nuova colonna
  • Nome colonna: Nome della nuova colonna che stai aggiungendo
  • Tipo di dati: Definire il tipo di dati della nuova colonna

Ora aggiungeremo la colonna denominata stipendio con il tipo di dati int al nostro tavolo esistente di hr_team.

Quindi, la query precedente ha aggiunto una nuova colonna alla tabella Redshift esistente. Il tipo di dati per questa colonna è un numero intero e il valore predefinito è impostato su NULL. Ora puoi aggiungere i dati desiderati effettivi in ​​questa colonna.

Aggiunta di colonna con lunghezza della stringa specificata

Prendiamo un altro caso in cui è possibile definire anche la lunghezza della stringa dopo il tipo di dati per la nuova colonna che aggiungeremo. La sintassi sarà la stessa, tranne per il fatto che c'è solo l'aggiunta di un attributo.

alter tabella

aggiungere <(Length)>

Ad esempio, vuoi chiamare ogni membro del team con un breve soprannome invece del loro nome completo e vuoi che i soprannomi siano composti da un massimo di cinque caratteri.

Per questo, dovrai impedire alle persone di andare oltre una certa lunghezza per i soprannomi.

Quindi viene aggiunta una nuova colonna e abbiamo impostato un limite su Varchar in modo che non possa richiedere più di cinque caratteri.

Ora, se qualcuno cerca di aggiungere il suo soprannome più a lungo di quanto ci aspettiamo, il database non consentirà tale operazione e segnalerà un errore.

Ma, se inseriamo tutti i soprannomi con cinque o meno caratteri, l'operazione avrà successo.

Usando la query precedente, è possibile aggiungere una nuova colonna e mettere un limite alla lunghezza della stringa nella tabella Redshift.

Aggiunta di una colonna a chiave straniera

Le chiavi straniere vengono utilizzate per fare riferimento ai dati da una colonna all'altra. Prendi un caso in cui hai persone nella tua organizzazione che lavorano in più di un team e vuoi tenere traccia della gerarchia della tua organizzazione. Facciamo web_team E dev_team Condividere le stesse persone e vogliamo fare riferimento a chiavi straniere. IL dev_team ha semplicemente due colonne che sono ID Dipendente E nome.

Ora vogliamo creare una colonna denominata ID Dipendente nel web_team tavolo. L'aggiunta di una nuova colonna è la stessa discussa sopra.

Successivamente, imposteremo la colonna appena aggiunta come chiave esterna facendola riferingla alla colonna ID Dipendente presente nel dev_team tavolo. È necessario il seguente comando per impostare la chiave esterna:

Alter Table Organization.web_team
Aggiungi una chiave straniera
() Riferimenti ();

In questo modo, puoi aggiungere una nuova colonna e impostarla come chiave esterna nel tuo database.

Conclusione

Abbiamo visto come apportare modifiche nelle nostre tabelle di database come l'aggiunta di una colonna, la rimozione di una colonna e la ridenominazione di una colonna. Queste azioni sulla tabella Redshift possono essere eseguite semplicemente usando comandi SQL. Puoi cambiare la tua chiave primaria o impostare un'altra chiave estera se lo desideri.