Modifica delle tabelle

È possibile creare e modificare 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 visualizzata la procedura guidata Modifica tabella. È possibile visitare i riquadri in qualsiasi ordine per modificare una tabella. Le proprietà della tabella sono raggruppate in diversi riquadri.

  • Schema: schema di database in cui esiste la tabella.
  • Nome: il nome della tabella.
I diversi riquadri della finestra di dialogo sono descritti nelle sezioni seguenti:
  • Riquadro colonne
  • Riquadro chiave primaria
  • Riquadro chiavi univoche
  • Riquadro indici
  • Riquadro chiavi esterne
  • Riquadro Vincoli tabella
  • Riquadro Commenti
  • Riquadro archiviazione
  • Riquadro Proprietà tabella esterna
  • Riquadro vista materializzata
  • Riquadro DDL
  • Riquadro di output

Riquadro colonne

Specifica le proprietà per ogni colonna della tabella.

Scheda Generale

Elenca le colonne disponibili in table.To, aggiungere una colonna, quindi fare clic su Aggiungi colonna (+). Viene aggiunta una nuova riga alla tabella seguente. 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 verso l'alto e freccia verso il basso.
  • Nome: nome della colonna.
  • Tipo di dato: tipo di dato 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 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 identità. Questa opzione è valida solo per Oracle Database 12c e release successive. Per ulteriori dettagli, vedere la scheda Colonna identità.

Scheda Vincoli

Visualizza i vincoli Not Null e Check per una colonna. Un vincolo di controllo richiede valori in una colonna per essere conforme a una condizione specificata.
  • Vincolo NOT NULLO: Nome: nome del vincolo NOT NULLO.
  • Vincolo non nullo: non nullo: se questa opzione è selezionata, 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.
  • Vincolo controllo: 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 selezionato quando i dati vengono inseriti o aggiornati nella colonna.
  • Differrabile: se questa opzione è selezionata, è possibile differire la verifica della validità del vincolo fino alla fine di una transazione.
  • Inizialmente immediato: se questa opzione è selezionata, il vincolo viene selezionato 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 della tabella.

La chiave primaria è la colonna o il set 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 apportare le modifiche necessarie alle proprietà.

Viene creato automaticamente un indice 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 della chiave primaria (o nel set di colonne) devono essere univoci e non nulli.
  • Indice: nome dell'indice a cui è associata 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. È possibile selezionare più attributi, se necessario, 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 disponibile a selezionata (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 di dati devono essere univoci: ogni valore di 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 Aggiungi; per eliminare un vincolo univoco, selezionarlo e fare clic sul pulsante Rimuovi.
  • Nome: il nome del vincolo univoco.

  • Abilitato: se questa opzione è selezionata, il vincolo univoco viene applicato.
  • Riduci: se questa opzione è selezionata, il vincolo in modalità NOVALIDATE viene preso in considerazione durante la riscrittura della query.
  • Differrabile: 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 selezionato 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 fa riferimento la chiave univoca.
  • Tablespace: 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 disponibile a selezionata (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: il 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 gli ID riga associati a un valore chiave come bitmap.
  • Tablespace: il nome della tablespace per l'indice.
  • Espressione: un'espressione colonna è un'espressione creata a partire 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 dei dati corrispondono ai valori nella chiave primaria o nel vincolo univoco di un'altra tabella.

  • Nome: il nome della definizione della chiave esterna.
  • Abilitato: se questa opzione è selezionata, la chiave esterna viene applicata.
  • Riducibile, Differrabile, Inizialmente immediato, Convalida: consente di visualizzare la descrizione di questi campi nel riquadro Chiavi univoche.
  • Vincolo di riferimento: schema: nome dello schema contenente 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 fa riferimento questa chiave esterna.
  • Vincolo di riferimento: Vincolo: nome della chiave primaria o del vincolo univoco a cui fa riferimento questa chiave esterna.
  • Vincolo di riferimento: all'eliminazione: azione da eseguire automaticamente quando una riga della tabella di riferimento viene eliminata e nella tabella contenente la chiave esterna sono presenti righe con tale valore: NO ACTION (mostrata da una linea di incrocio) in diagrammi) non esegue alcuna azione su queste righe; CASCADE (mostrato da una "X") elimina queste righe; SET NULL (mostrato da un cerchio piccolo) imposta NULL tutte le colonne in quelle righe che possono essere impostate su un valore nullo.
  • Associazioni: colonna locale: elenca la colonna della 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 (straniera) 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: il 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 il RATING >=1 e il RATING <= 10.
  • Abilitato: se questa opzione è selezionata, il vincolo di controllo viene applicato.

Riquadro Commenti

Immettere commenti descrittivi in questo riquadro.

Questa operazione è facoltativa.

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 (Esterno).
  • 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 sono registrate nel redo log file.
  • Archiviazione righe: YES consente l'archiviazione nel database, che consente di archiviare le righe all'interno della tabella contrassegnandole come invisibili.

Riquadro Proprietà 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 dalle tabelle esterne alle 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 di 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 è 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: 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 dei campi specificati in opaque_format_spec devono corrispondere alle colonne nella definizione della tabella, altrimenti Oracle Database li 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 il modo in cui il driver di accesso convalida le righe di una tabella esterna nelle query successive.
    • 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 è stato fatto riferimento nell'elenco di selezione della query.
    • REFERENCED: elabora solo le colonne dell'elenco di selezione della query. L'impostazione ALL garantisce set di risultati coerenti. L'impostazione REFERENCED può generare diversi numeri di righe restituite, a seconda delle colonne a cui viene fatto riferimento nelle query successive, ma è più veloce dell'impostazione ALL. Se una query successiva seleziona tutte le colonne della tabella esterna, le impostazioni funzionano in modo identico.
  • Posizione: specifica i file di dati per la tabella esterna. Utilizzare l'icona Aggiungi (+) per aggiungere ogni specifica di posizione.
    • ORACLE_LOADER e ORACLE_DATAPUMP, i file sono denominati nel formato directory:file. La parte relativa alla directory è facoltativa. Se manca, la directory predefinita viene utilizzata come directory per il file. 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 è un elenco 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 utilizzato. In alternativa, la tabella HCatalog Hadoop viene 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 vista materializzata

Specifica le opzioni per una vista materializzata.

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

Generale
  • Nella tabella predefinita: se , una tabella esistente viene registrata come vista materializzata preinizializzata. Questa opzione è particolarmente utile per registrare viste materializzate di grandi dimensioni in un ambiente di data warehousing. La tabella deve avere lo stesso nome ed essere 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 della tabella o della vista materializzata non corrisponde esattamente alla precisione restituita dalla subquery. Se No, la precisione delle colonne della tabella o della 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 alla replica avanzata, questi aggiornamenti verranno propagati al master.
  • MV 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 utente anche quando la vista materializzata non è sincronizzata con le relative tabelle di base a causa di modifiche 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 Abilita, la vista materializzata è 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. Immediatoindica che la vista materializzata deve essere popolata immediatamente. Differito indica che la vista materializzata deve essere popolata dall'operazione di aggiornamento successiva. 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 di inutilizzabile, quindi non può essere utilizzata per la riscrittura della query.
  • Usa indice: se , viene creato e utilizzato un indice predefinito per accelerare 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 crearlo in modo esplicito in un secondo momento.
  • Tablespace 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 contenente la vista materializzata.
  • Cache: se si seleziona questa opzione , i blocchi recuperati per questa tabella vengono collocati all'estremità utilizzata più recentemente della lista LRU (Least Recent Used) all'interno della buffer cache quando viene eseguita una scansione completa dell'intera tabella. Questa impostazione è utile per le tabelle di ricerca di piccole dimensioni. Se No, i blocchi vengono posizionati almeno alla fine dell'elenco 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 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 caricatore diretto.
    • Aggiornamento forzato: 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.
    • Su 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 nell'ambito del processo di commit.
    • Specifica: esegue le operazioni di aggiornamento in base a quanto specificato nei campi Inizio in e Successivo.
  • Data inizio: data e ora di inizio della 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 l'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 impostato su Sì, DEFAULT specifica che Oracle Database sceglierà automaticamente il segmento di rollback da utilizzare. Se si specifica DEFAULT, non è possibile specificare rollback_segment. DEFAULT è particolarmente utile quando si modifica una vista materializzata anziché crearla.
  • 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 rollback: immettere il nome del segmento rollback.
  • Utilizzo del vincolo: se questa opzione è selezionata, è possibile utilizzare più alternative di riscrittura durante l'operazione di aggiornamento, con conseguente efficienza dell'esecuzione dell'aggiornamento. Il comportamento di questa opzione è influenzato dalla selezione di Applicato o Attendibile.
    • Applicato: causa solo i vincoli applicati da utilizzare durante l'operazione di aggiornamento.
    • Affidabile: consente l'uso di informazioni su dimensioni e vincoli dichiarate attendibili dall'amministratore del database ma non convalidate dal database. Se le informazioni sulla dimensione e sul 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 apportarvi le modifiche.

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 Applica.

Riquadro di output

Visualizza i risultati dei comandi DDL.

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