Modifica delle tabelle

È possibile creare e modificare gli oggetti utilizzando la procedura guidata Modifica tabella disponibile nel menu Modifica in Azioni (tre punti verticali) oltre all'entità tabella.

Se si fa clic su Modifica nel menu Azioni, viene aperta la procedura guidata Modifica tabella. È possibile visitare i riquadri in qualsiasi ordine per modificare una tabella. Le proprietà della tabella sono raggruppate in più riquadri.

  • Schema: schema di database in cui esiste la tabella.
  • Nome: Nome della tabella.
Nelle sezioni seguenti sono descritti i diversi riquadri della finestra di dialogo.
  • Riquadro Colonne
  • Riquadro chiave primaria
  • Riquadro Chiavi univoche
  • Riquadro Indici
  • Riquadro Chiavi esterne
  • Riquadro Vincoli tabella
  • Riquadro Commenti
  • Riquadro archiviazione
  • Riquadro delle proprietà della tabella esterna
  • Riquadro di visualizzazione materializzata
  • Riquadro DDL
  • Riquadro di output

Riquadro Colonne

Specifica le proprietà per ogni colonna della tabella.

Scheda Generale

Elenca le colonne disponibili nel file table.To per aggiungere una colonna, quindi fare clic su Aggiungi colonna (+). Una nuova riga viene aggiunta alla tabella riportata di seguito. Selezionare la riga e immettere i dettagli per la colonna. Per eliminare una colonna, selezionare la riga e fare clic su Rimuovi colonna (-). Per spostare una colonna verso l'alto o verso il basso nella tabella, selezionarla e utilizzare le icone freccia su e freccia giù.
  • Nome: nome per la colonna.
  • Tipo di dati: tipo di dati per la colonna.
  • Predefinito: se non viene specificato alcun valore, il valore predefinito è nullo.
  • Valore predefinito su NULL: applicabile per Oracle Database 12c e release successive. Se questa opzione è selezionata, quando una riga viene inserita nella tabella e il valore specificato per la colonna è NULL, il valore predefinito viene inserito nella colonna.
  • Espressione: espressione per il calcolo del valore nella colonna.
  • Commenti: commenti descrittivi facoltativi sulla colonna. Utilizzare questo campo per fornire le descrizioni per gli attributi.
Nella tabella:
  • PK: se questa opzione è selezionata, la colonna diventa la chiave primaria.
  • Colonna identità: se questa opzione è selezionata, la colonna diventa una colonna di identità. Ciò è valido solo per Oracle Database 12c e release successive. Per ulteriori dettagli, vedere la scheda Colonna identità.

Scheda Vincoli

Visualizza i vincoli Non nullo e Verifica vincoli per una colonna. Un vincolo di controllo richiede che i valori in una colonna siano conformi a una condizione specificata.
  • Vincolo non nullo: nome: nome del vincolo Not Null.
  • Vincolo non nullo: non nullo: se si seleziona questa opzione, la colonna deve contenere dati. Non è possibile specificare alcun valore o un valore nullo esplicito per questa colonna quando si inserisce una riga. Se questa opzione non è selezionata, la colonna può contenere dati o nessun dato. Una colonna chiave primaria non può essere nulla.
  • Verifica vincolo: Nome: nome per la definizione del vincolo Check.
  • Verifica vincolo: vincolo: condizione che deve essere soddisfatta affinché una colonna soddisfi il vincolo di controllo. È possibile utilizzare qualsiasi clausola CHECK valida (senza la parola chiave CHECK). Ad esempio, per indicare che il valore in una colonna numerica denominata RATING deve essere compreso tra 1 e 10, è possibile specificare: RATING >=1 e RATING <= 10.
  • Abilitato: se questa opzione è selezionata, il vincolo viene controllato quando i dati vengono immessi o aggiornati nella colonna.
  • Differibile: se questa opzione è selezionata, è possibile posticipare la verifica della validità del vincolo fino alla fine di una transazione.
  • Inizialmente immediato: se questa opzione è selezionata, il vincolo viene controllato ogni volta che si aggiungono, aggiornano o eliminano dati dalla colonna.
  • Convalida: se questa opzione è selezionata, i dati esistenti vengono controllati per verificare se sono conformi al vincolo.

Riquadro chiave primaria

Specifica la chiave primaria per la tabella.

La chiave primaria è la colonna, o insieme di colonne, che identifica in modo univoco ogni riga della tabella. Se la casella di controllo Chiave primaria è selezionata per una colonna nella scheda Generale, i campi corrispondenti vengono popolati automaticamente nel riquadro Chiave primaria. È possibile modificare le proprietà in base alle esigenze.

Un indice viene creato automaticamente sulla chiave primaria.

  • Nome: il nome del vincolo da associare alla definizione della chiave primaria.
  • Abilitato: se questa opzione è selezionata, viene applicato il vincolo della chiave primaria, ovvero i dati nella colonna o nel set di colonne della chiave primaria devono essere univoci e non nulli.
  • Indice: nome dell'indice a cui la chiave primaria refers.Tablespace: nome della tablespace associata all'indice.
  • Colonne disponibili: elenca le colonne disponibili per l'aggiunta alla definizione della chiave primaria. Se necessario, è possibile selezionare più attributi per la chiave primaria.
  • Colonne selezionate: elenca le colonne incluse nella definizione della chiave primaria.

    Per aggiungere una colonna alla definizione della chiave primaria, selezionarla in Colonne disponibili e fare clic sull'icona Aggiungi (>); per rimuovere una colonna dalla definizione della chiave primaria, selezionarla in Colonne selezionate e fare clic sull'icona Rimuovi (<). Per spostare tutte le colonne da disponibili a selezionate (o viceversa), utilizzare l'icona Aggiungi tutto (>>) o Rimuovi tutto (<<). Per spostare una colonna verso l'alto o verso il basso nella definizione della chiave primaria, selezionarla in Colonne selezionate e utilizzare i pulsanti freccia.

Riquadro Chiavi univoche

Specifica uno o più vincoli univoci per la tabella.

Un vincolo univoco specifica una colonna o un set di colonne i cui valori dati devono essere univoci: ogni valore dati non deve essere nullo e non deve essere uguale a qualsiasi altro valore nella colonna.

Per aggiungere un vincolo univoco, fare clic sul pulsante Add (Aggiungi). Per eliminare un vincolo univoco, selezionarlo e fare clic sul pulsante Remove (Rimuovi).
  • Nome: il nome del vincolo univoco.

  • Abilitato: se questa opzione è selezionata, viene applicato il vincolo univoco.
  • Riduci: se questa opzione è selezionata, il vincolo in modalità NOVALIDATE viene preso in considerazione durante la riscrittura della query.
  • Differibile: se questa opzione è selezionata, nelle transazioni successive il controllo dei vincoli può essere differito fino alla fine della transazione utilizzando l'istruzione SET CONSTRAINT(S).
  • Inizialmente immediato: se questa opzione è selezionata, il vincolo viene controllato alla fine di ogni istruzione SQL successiva.
  • Convalida: se l'opzione è selezionata, i dati esistenti vengono controllati per verificare se sono conformi al vincolo.
  • Indice: nome dell'indice a cui si riferisce la chiave univoca.
  • Tablespace: il nome della tablespace associata all'indice.
  • Colonne disponibili: elenca le colonne disponibili per l'aggiunta alla definizione di vincolo univoco.
  • Colonne selezionate: elenca le colonne incluse nella definizione di vincolo univoco.

    Per aggiungere una colonna alla definizione di vincolo univoco, selezionarla in Colonne disponibili e fare clic sull'icona Aggiungi (>); per rimuovere una colonna dalla definizione di vincolo univoco, selezionarla in Colonne selezionate e fare clic sull'icona Rimuovi (<). Per spostare tutte le colonne da disponibili a selezionate (o viceversa), utilizzare l'icona Aggiungi tutto (>>) o Rimuovi tutto (<<). Per spostare una colonna verso l'alto o verso il basso nella definizione di vincolo univoco, selezionarla in Colonne selezionate e utilizzare i pulsanti freccia.

Riquadro Indici

Elenca gli indici definiti per la tabella.

Per aggiungere un indice, fare clic su Aggiungi indice (+); per eliminare un indice, selezionarlo e fare clic su Rimuovi indice (-).

  • Nome: Nome dell'indice.
  • Tipo: il tipo di indice Oracle. Non univoco significa che l'indice può contenere più valori identici; Unico significa che non sono consentiti valori duplicati; Bitmap memorizza i rowid associati a un valore chiave come bitmap.
  • Tablespace: il nome della tablespace per l'indice.
  • Espressione: un'espressione di colonna è un'espressione creata da colonne, costanti, funzioni SQL e funzioni definite dall'utente. Quando si specifica un'espressione della colonna, si crea un indice basato sulle funzioni.
  • Colonne disponibili e Colonne selezionate: colonne selezionate per l'indice. Per selezionare una colonna, fare clic sulla colonna nella casella Colonne disponibili, quindi fare clic sull'icona Aggiungi colonne selezionate per spostarla nella casella Colonne selezionate.

Riquadro Chiavi esterne

Specifica una o più chiavi esterne per la tabella.

Una chiave esterna specifica una colonna ("colonna locale"), i cui valori di dati corrispondono ai valori nella chiave primaria o nel vincolo univoco di un'altra tabella.

  • Nome: nome della definizione di chiave esterna.
  • Abilitato: se questa opzione è selezionata, la chiave esterna viene applicata.
  • Rely, Deferrable, Initially Immediate, Validate: vedere la descrizione di questi campi nel riquadro Chiavi univoche.
  • Vincolo di riferimento: schema: nome dello schema che contiene la tabella con la chiave primaria o il vincolo univoco a cui fa riferimento questa chiave esterna.
  • Vincolo di riferimento: tabella: nome della tabella con la chiave primaria o il vincolo univoco a cui si riferisce questa chiave esterna.
  • Vincolo di riferimento: Vincolo: nome della chiave primaria o del vincolo univoco a cui si riferisce questa chiave esterna.
  • Vincolo di riferimento: all'eliminazione: azione da eseguire automaticamente quando una riga nella tabella di riferimento viene eliminata e nella tabella contenente questa chiave esterna esistono righe con tale valore: NO ACTION (visualizzata da una linea incrociata) nei diagrammi) non esegue alcuna azione su queste righe; CASCADE (mostrato da una "X") elimina queste righe; SET NULL (mostrato da un piccolo cerchio) imposta NULL tutte le colonne nelle righe che possono essere impostate su un valore nullo.
  • Associazioni: Colonna locale: elenca la colonna nella tabella (locale) attualmente selezionata inclusa nella definizione della chiave esterna. Per ogni colonna di riferimento nella definizione della chiave esterna, selezionare il nome di una colonna nella tabella modificata.
  • Associazioni: colonna di riferimento: per ogni colonna locale, identifica la colonna nell'altra tabella (estera) che deve avere un valore corrispondente al valore nella colonna locale.

Riquadro Vincoli tabella

Specifica uno o più vincoli di controllo per la tabella.

Un vincolo di controllo specifica una condizione che deve essere soddisfatta quando una riga viene inserita nella tabella o quando viene modificata una riga esistente.

  • Nome: nome della definizione del vincolo Check.
  • Condizione di controllo: condizione che deve essere soddisfatta affinché una riga soddisfi il vincolo di controllo. È possibile utilizzare qualsiasi clausola CHECK valida (senza la parola chiave CHECK). Ad esempio, per indicare che il valore in una colonna numerica denominata RATING deve essere compreso tra 1 e 10, è possibile specificare RATING >=1 e RATING <= 10.
  • Abilitato: se questa opzione è selezionata, il vincolo di controllo viene applicato.

Riquadro Commenti

Immettere commenti descrittivi in questo riquadro.

Facoltativo.

Riquadro archiviazione

Consente di specificare le opzioni di memorizzazione per la tabella.

Quando si crea o si modifica una tabella o un indice, è possibile sostituire le opzioni di memorizzazione predefinite.

  • Organizzazione: specifica che la tabella è memorizzata e organizzata con (indice) o senza un indice (heap) o come tabella esterna (esterna).
  • Tablespace: il nome della tablespace per la tabella o l'indice.
  • Log: ON indica che la creazione della tabella e le operazioni INSERT successive sulla tabella vengono registrate nel redo log file. OFF indica che queste operazioni non vengono registrate nel redo log file.
  • Archiviazione righe: YES abilita l'archiviazione nel database, che consente di archiviare le righe all'interno della tabella contrassegnandole come invisibili.

Riquadro delle proprietà della tabella esterna

Specifica le opzioni per una tabella esterna.

Una tabella esterna è una tabella di sola lettura i cui metadati sono memorizzati nel database ma i cui dati sono memorizzati al di fuori del database.

Tabella esterna
  • Tipo di driver di accesso: specifica il tipo di tabella esterna.

    • ORACLE_LOADER: estrae i dati dai file di dati di testo. Questo è il driver di accesso predefinito, che carica i dati da tabelle esterne a tabelle interne.
    • - ORACLE_DATAPUMP: estrae i dati dai file di dump binari. Questo driver di accesso può eseguire sia carichi che scarichi.
    • - ORACLE_BIGDATA: estrae i dati da Oracle Big Data Appliance.
    • - ORACLE_HDFS: estrae i dati memorizzati in un file system distribuito Hadoop (HDFS).
    • - ORACLE_HIVE: estrae i dati memorizzati in Apache HIVE.
  • Directory predefinita: specifica la directory predefinita da utilizzare per tutti i file di input e di output che non assegnano un nome esplicito a un oggetto directory. La posizione viene specificata con un oggetto directory, non con un percorso directory.

  • Parametri di accesso: assegna i valori ai parametri del driver di accesso specifico per la tabella esterna. I parametri di accesso sono facoltativi.
    • OPAQUE_FORMAT_SPEC: il valore opaque_format_spec specifica tutti i parametri di accesso per i driver di accesso ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS e ORACLE_HIVE. Per una descrizione dei parametri di accesso, vedere Oracle Database Utilities. I nomi di campo specificati nel file opaque_format_spec devono corrispondere alle colonne nella definizione della tabella, altrimenti Oracle Database le ignora.
    • USING CLOB: consente di derivare i parametri e i relativi valori mediante una subquery. La subquery non può contenere operatori set o una clausola ORDER BY. Deve restituire una riga contenente un singolo elemento di tipo dati CLOB.
  • Limite di rifiuto: il numero di errori di conversione che possono verificarsi durante una query dei dati esterni prima che venga restituito un errore di Oracle Database e la query venga interrotta.
  • Colonna progetto: determina la modalità di convalida delle righe di una tabella esterna nelle query successive da parte del driver di accesso.
    • TUTTI: elabora tutti i valori di colonna, indipendentemente dalle colonne selezionate, e convalida solo le righe con voci di colonna completamente valide. Se un valore di colonna genera un errore, ad esempio un errore di conversione del tipo di dati, la riga viene rifiutata anche se alla colonna non viene fatto riferimento nell'elenco di selezione della query.
    • RIFERIMENTO: elabora solo le colonne nella lista di selezione della query. L'impostazione ALL garantisce set di risultati coerenti. L'impostazione REFERENCED può generare un numero diverso di righe restituite, a seconda delle colonne a cui si fa riferimento nelle query successive, ma è più veloce dell'impostazione ALL. Se una query successiva seleziona tutte le colonne della tabella esterna, le impostazioni si comportano in modo identico.
  • Posizione: specifica i file di dati per la tabella esterna. Utilizzare l'icona Aggiungi (+) per aggiungere ogni specifica di ubicazione.
    • ORACLE_LOADER e ORACLE_DATAPUMP, i file vengono denominati nella directory:file del modulo. La parte relativa alla directory è facoltativa. Se manca, come directory del file viene utilizzata la directory predefinita. Se si utilizza il driver di accesso ORACLE_LOADER, è possibile utilizzare i caratteri jolly nel nome del file. Un asterisco (*) indica più caratteri e un punto interrogativo (?) indica un singolo carattere.

    • Per ORACLE_HDFS, LOCATION è una lista di URI (Uniform Resource Identifiers) per una directory o per un file. Nessun oggetto directory associato a un URI.
    • Per ORACLE_HIVE, LOCATION non viene utilizzata. La tabella HCatalog di Hadoop viene invece letta per ottenere informazioni sulla posizione dell'origine dati (che potrebbe essere un file o un altro database).

Specifica formato opaco

Specifica tutti i parametri di accesso per i driver di accesso ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS e ORACLE_HIVE.

Subquery CLOB

Digitare o copiare e incollare la query.

Riquadro di visualizzazione materializzata

Specifica le opzioni per una vista materializzata.

Query: contiene il codice SQL per la parte query della definizione della vista. Digitare o copiare e incollare la query.

Generale
  • Nella tabella precostituita: se , una tabella esistente viene registrata come vista materializzata preinizializzata. Questa opzione è particolarmente utile per la registrazione di viste materializzate di grandi dimensioni in un ambiente di data warehousing. La tabella deve avere lo stesso nome e trovarsi nello stesso schema della vista materializzata risultante e la tabella deve riflettere la materializzazione di una subquery.
  • Precisione ridotta: autorizza la perdita di precisione che si verificherà se la precisione delle colonne di tabella o di vista materializzata non corrisponde esattamente alla precisione restituita dalla subquery. Se No, la precisione delle colonne di tabella o di vista materializzata deve corrispondere esattamente alla precisione restituita dalla subquery, altrimenti l'operazione di creazione non riuscirà.
  • Per l'aggiornamento: selezionare per consentire l'aggiornamento di una vista materializzata subquery, chiave primaria, oggetto o ID riga. Se utilizzati insieme a Advanced Replication, questi aggiornamenti verranno propagati al master.
  • Vista materializzata in tempo reale: selezionare per creare una vista materializzata in tempo reale o una vista normale. Una vista materializzata in tempo reale fornisce nuovi dati alle query degli utenti anche quando la vista materializzata non è sincronizzata con le relative tabelle di base a causa delle modifiche apportate ai dati. Anziché modificare la vista materializzata, l'ottimizzatore scrive una query che combina le righe esistenti nella vista materializzata con le modifiche registrate nei file di log (log delle viste materializzate o log del programma di caricamento diretto). Questo è chiamato calcolo on-query.
  • Riscrittura query: se si seleziona Abilita, la vista materializzata viene abilitata per la riscrittura delle query, che trasforma una richiesta utente scritta in termini di tabelle principali in una richiesta semanticamente equivalente che include una o più viste materializzate.
  • Genera: specifica quando popolare la vista materializzata. Immediato indica che la vista materializzata deve essere popolata immediatamente. Differita indica che la vista materializzata deve essere popolata dalla successiva operazione di aggiornamento. Se si specifica Differito, il primo aggiornamento (differito) deve essere sempre un aggiornamento completo; fino ad allora, la vista materializzata ha un valore di staleness inutilizzabile, quindi non può essere utilizzata per la riscrittura della query.
  • Usa indice: se , viene creato e utilizzato un indice predefinito per velocizzare l'aggiornamento incrementale (veloce) della vista materializzata. Se No, questo indice predefinito non viene creato. Ad esempio, è possibile scegliere di sopprimere la creazione dell'indice ora e di creare un indice di questo tipo in modo esplicito in un secondo momento.
  • Tablespace di indice: specifica la tablespace in cui deve essere creata la vista materializzata. Se una tablespace non è selezionata, la vista materializzata viene creata nella tablespace predefinita dello schema che contiene la vista materializzata.
  • Cache: se , i blocchi recuperati per questa tabella vengono collocati all'estremità utilizzata più di recente della lista LRU (Least Used) nella buffer cache quando si esegue una scansione completa della tabella. Questa impostazione è utile per le ricerche in tabelle di dimensioni ridotte. Se No, i blocchi vengono posizionati almeno alla fine della lista LRU utilizzata di recente.

Aggiorna clausola

  • Aggiorna: selezionare per abilitare le operazioni di aggiornamento.

  • Tipo di aggiornamento: metodo dell'operazione di aggiornamento da eseguire:
    • Aggiornamento completo: esegue la query di definizione della vista materializzata, anche se è possibile eseguire un aggiornamento rapido.
    • Aggiornamento rapido: utilizza il metodo di aggiornamento incrementale, che esegue l'aggiornamento in base alle modifiche apportate alle tabelle principali. Le modifiche per le modifiche DML convenzionali vengono memorizzate nel log delle viste materializzate associato alla tabella principale. Le modifiche per le operazioni INSERT del percorso diretto vengono memorizzate nel log del programma di caricamento diretto.
    • Forza aggiornamento: esegue un aggiornamento rapido, se possibile. In caso contrario, esegue un aggiornamento completo.
  • Azione: il tipo di operazione di aggiornamento da eseguire:
    • On Demand: esegue un aggiornamento quando viene richiamata una delle procedure di aggiornamento DBMS_MVIEW.
    • In fase di commit: esegue un aggiornamento rapido ogni volta che il database esegue il commit di una transazione che opera su una tabella principale della vista materializzata. Ciò potrebbe aumentare il tempo necessario per completare il commit, poiché il database esegue l'operazione di aggiornamento come parte del processo di commit.
    • Specifica: esegue le operazioni di aggiornamento in base a quanto specificato nei campi Inizio il e Successivo.
  • Data inizio: data e ora di inizio per la prima operazione di aggiornamento automatico. Deve essere in futuro.
  • Data successiva: ora della successiva operazione di aggiornamento automatico. L'intervallo tra l'ora di inizio e l'ora successiva stabilisce l'intervallo per le successive operazioni di aggiornamento automatico. Se non si specifica un valore, l'operazione di aggiornamento viene eseguita una sola volta all'ora specificata per Inizio il.
  • Con: tipo di aggiornamento, che determina il tipo di vista materializzata:
    • Chiave primaria: crea una vista materializzata di chiave primaria che consente di riorganizzare le tabelle principali delle viste materializzate senza influire sull'idoneità della vista materializzata per un aggiornamento rapido.
    • ID riga: crea una vista materializzata con ID riga, utile se la vista materializzata non include tutte le colonne chiave primaria delle tabelle principali.
  • Memorizzazione predefinita: se si imposta Sì, DEFAULT specifica che Oracle Database sceglierà automaticamente il segmento di rollback da utilizzare. Se si specifica DEFAULT, non è possibile specificare il valore rollback_segment. DEFAULT è più utile quando si modifica, anziché si crea, una vista materializzata.
  • Tipo di memorizzazione: MASTER specifica il segmento di rollback remoto da utilizzare nel sito principale remoto per la singola vista materializzata. LOCAL specifica il segmento di rollback remoto da utilizzare per il gruppo di aggiornamento locale che contiene la vista materializzata. Si tratta dello stato predefinito.
  • Segmento di rollback: immettere il nome del segmento di rollback.
  • Utilizzo del vincolo: se questa opzione è selezionata, è possibile utilizzare più alternative di riscrittura durante l'operazione di aggiornamento, con conseguente esecuzione dell'aggiornamento più efficiente. Il funzionamento di questa opzione dipende dalla selezione di Applica o Affidabile.
    • Applicato: durante l'operazione di aggiornamento vengono utilizzati solo i vincoli applicati.
    • Trusted: consente l'utilizzo di informazioni sulle dimensioni e sui vincoli dichiarate affidabili dall'amministratore del database ma non convalidate dal database. Se le informazioni relative a dimensione e vincolo sono valide, le prestazioni potrebbero migliorare. Tuttavia, se queste informazioni non sono valide, la procedura di aggiornamento potrebbe danneggiare la vista materializzata anche se restituisce uno stato di operazione riuscita.

Riquadro DDL

È possibile rivedere e salvare le istruzioni SQL generate durante la creazione o la modifica dell'oggetto. Se si desidera apportare modifiche, tornare ai riquadri pertinenti e apportare le modifiche desiderate.

Per una nuova tabella, fare clic su CREATE per visualizzare le istruzioni DDL generate.

Quando si modificano le proprietà della tabella, fare clic su UPDATE per visualizzare le istruzioni ALTER generate.

Per una nuova tabella, la scheda UPDATE non sarà disponibile. Al termine, fare clic su Apply.

Riquadro di output

Visualizza i risultati dei comandi DDL.

In caso di errori, andare al riquadro appropriato, correggere gli errori ed eseguire di nuovo i comandi. È possibile salvare in un file di testo o cancellare l'output.