Tabella di database
copia linkUna tabella contiene un insieme di oggetti dello stesso tipo memorizzati nel database o gestiti in memoria. Viene rappesentata con le seguenti icone:
Tabella del database |
Tabella del database importata |
Tabella IMDB (gestita in memoria) |
Tabella IMDB con una sola riga |
Video corso Creazione oggetto tabella
Proprietà
Nome: rappresenta il nome logico della tabella, così come sarà riconosciuta all'interno del progetto Instant Developer. Il nome dovrebbe essere indicativo sul contenuto della tabella e dovrebbe essere in forma plurale (es. Utenti, Fatture, Ordini...) in quanto indica il nome comune degli oggetti che essa contiene.
Descrizione: contiene una descrizione significativa del contenuto della tabella. Il testo inserito verrà utilizzato per comporre la documentazione del database e per il manuale utente, quindi è importante spiegare bene lo scopo della tabella e che tipo di oggetti contiene, in modo da facilitarne il corretto utilizzo.
Titolo: è il nome che verrà utilizzato all’interno dell’interfaccia dell’applicazione quando ci si deve riferire ad oggetti contenuti nella tabella. Normalmente viene lasciato vuoto ed, in questo caso, verrà usata la proprietà Nome.
Elemento: è il nome del singolo oggetto contenuto nella tabella, quindi è la forma singolare del nome della tabella. Se, ad esempio, la tabella contiene i dati degli utenti essa potrebbe avere come nome Utenti e come elemento Utente. E’ importante inserire un nome sintetico, formato da una o due parole in quanto esso verrà usato per comporre il nome completo dei campi, quando essi sono riferiti da un contesto esterno: nell’esempio precedente, il campo Nome verrà automaticamente chiamato Nome Utente da In.de.
Numero righe: rappresenta il numero di righe stimato della tabella, almeno come ordine di grandezza. In.de lo usa per per stimare le dimensioni del database, suggerire l’uso di indici e decidere il tipo di lookup (vedi paragrafo seguente). Nel caso di tabelle in memoria, se il numero di righe è pari a uno sarà possibile referenziare direttamente i campi della tabella invece che tramite delle query.
Icona: è l’immagine con cui deve essere rappresentato un oggetto contenuto in questa tabella. E’ consigliabile scegliere un’icona 16x16 pixel in formato gif. Impostando l’icona nell’oggetto tabella non sarà necessario farlo nelle videate, nei menu o nei pannelli che ad essa si riferiscono.
Tipo lookup: indica quali metodi di lookup devono essere usati quando si costruisce un pannello che ha una relazione verso questa tabella. I possibili valori sono:
- Scelta automatica: se il numero di righe è maggiore di 100 verrà usata una finestra di lookup; se è compreso fra 30 e 100 verrà creata una combo-lookup, se è inferiore a 30 verrà predisposta una auto-lookup.
- Combo lookup: verrà mostrato a video sia il campo che contiene il codice che quello con la sua decodifica, estratta da questa tabella. Sarà possibile digitare direttamente il codice oppure selezionarlo tramite una combo-box.
- Auto lookup: verrà mostrata a video una combo box con le descrizioni estratte da questa tabella.
- Finestra di lookup: è come il caso combo-lookup, ma l’utente potrà scegliere i dati mediante un videata di ricerca aperta in popup invece che con la combo-box.
- Nessun lookup: non viene adottato nessun meccanismo addizionale di lookup, al campo viene applicata una smart lookup.
Video corso Campo di pannello di lookup
Sostituzione tabella: impostando questo flag viene comunicato al sistema che, prima di eseguire una query che riguarda questa tabella, occorre notificare l'evento OnTableSubstitution tramite il quale è possibile cambiare il nome della tabella nel testo della query.
Escludi dal grafico del DB: impostando questo flag, la tabella non verrà mostrata nei grafici delle relazioni del database. Può essere utile quando la tabella ha relazioni con moltissime tabelle del database, e la rappresentazione delle stesse non sarebbe significativa.
Codice: rappresenta il nome fisico della tabella all’interno del database. Se è attivo il check- box Automatico allora Instant Developer sceglierà un nome fisico adeguato e non dovrai preoccuparti che rimanga univoco. Nel caso di tabella importata non potrai modificare questa proprietà perché è il nome effettivo della tabella nel database.
Automatico: indica che il codice della tabella viene calcolato e reso univoco in base al nome logico della stessa.
Schema: nel caso di tabelle importate rappresenta lo schema a cui appartiene la tabella se è diverso da quello a cui si riferiscono le proprietà di connessione del database. Si consiglia di lasciare vuota questa proprietà a meno di non dover referenziare esplicitamente tabelle appartenenti a schemi diversi.
Nome sequence: se la tabella contiene un campo contatore, ed il database è Oracle, DB2 o Postgres, In.de genera un oggetto sequence per gestirlo. Il nome della sequence può essere generato da In.de, oppure indicato in questa proprietà.
Menu contestuale
Aggiungi campo: aggiunge un nuovo campo alla tabella; non è disponibile in caso di tabelle importate perché lo schema è già fissato dalla struttura attuale del database.
Aggiungi trigger: aggiunge un oggetto trigger alla tabella. In.de può generare trigger nel database se esso è di tipo Oracle o SQL Server.
Aggiungi indice: aggiunge un indice alla tabella; non è disponibile in caso di tabelle importate perché lo schema è già fissato dalla struttura attuale del database. Se la chiave dell’indice è sovrapposta a quella di una foreign-key si consiglia di creare l’indice dalla videata delle proprietà della foreign key stessa.
Aggiungi check: aggiunge un check constraint alla tabella per garantire l'integrità logica dei dati contenuti; non è disponibile in caso di tabelle importate perché lo schema è già fissato dalla struttura attuale del database.
Wizard/Mostra dati: apre il wizard per la visualizzazione dei dati effettivamente contenuti nella tabella e per l’esecuzione di query su di essa.
Aggiungi cartella: aggiunge una cartellina all'interno della tabella, che non avrà impatto a livello di schema di database, ma permette di organizzare meglio gli oggetti presenti nella tabella stessa.
Aggiungi attività: crea un nuovo oggetto attività collegato alla tabella. Serve come promemoria per modifiche future o per gestire il lavoro di gruppo.
Trova oggetti derivati: cerca tutti gli oggetti del progetto derivati dalla tabella, come videate, documenti, classi, pannelli, query, tabelle in memoria ecc. anche a più livelli di derivazione.
Trova dove usato (oggetto): cerca tutti i punti del progetto dove è stata direttamente riferita in qualunque modo questa tabella.
Trova dove usato (contenuto): cerca tutti i punti del progetto dove è stata direttamente riferita in qualunque modo questa tabella o uno degli oggetti in essa contenuti.
Prendi possesso: se la tabella è importata In.de non può gestirne lo schema. Se desideri farlo, usa questo comando di menu per prenderne possesso: da questo momento In.de potrà gestire questa tabella al momento della ricostruzione o della modifica dello schema del database.
Rilascia possesso: rilascia il possesso della tabella. Dopo aver usato questo comando, In.de non modificherà più lo schema della tabella nel database al momento della ricostruzione o modifica dello stesso.
Stacca da: per le tabelle in memoria derivate da quelle del database, interrompe il legame e la sincronizzazione fra i due oggetti. Dopo aver usato questo comando è possibile modificare la struttura della tabella in memoria in modo indipendente da quella del database.
Puoi tirare una tabella con il drag & drop su...
Tabella: sposta la tabella in un’altra cartellina o riordina le tabelle in quella esistente. Puoi anche spostare tabelle fra un database ed un altro ma questa operazione può avere un forte impatto applicativo.
Aggiunge alla tabella su cui stai tirando una foreign-key verso la tabella tirata. Non è disponibile se la tabella su cui tiri è importata.
per creare una copia della tabella e posizionarla vicino a quella su cui la tiri.
Database: sposta la tabella nel database su cui stai tirando. Questa operazione può avere un forte impatto applicativo.
crea una copia della tabella all’interno del database su cui stai tirando. Se la tabella si riferisce ad altre tabelle e non è possibile trovarne una equivalente nel database su cui tiri, allora verranno copiate anche loro.
Applicazione: crea una tabella in memoria con la stessa struttura della tabella trascinata. E’ molto comodo per avere oggetti in memoria con lo schema di quelli sul database.
Crea una videata pronta per la ricerca e la modifica dei dati della tabella trascinata.
crea una videata di lookup per la ricerca e la selezione dei dati della tabella trascinata.
crea un oggetto di tipo Documento derivato dalla tabella trascinata.
Video corso Modello ad oggetti - Introduzione
Videata: crea una tabella in memoria con la stessa struttura della tabella trascinata all’interno della videata su cui stai tirando.
Aggiunge alla videata un pannello per mostrare o modificare i dati della videata stessa. Nella videata deve essere presente un riquadro vuoto per contenere il pannello. La tabella può essere anche tirata direttamente sul riquadro all’interno del form editor.
Classe: se la classe è di tipo documento, collega il documento alla tabella tirata, sincronizzandone le proprietà e preparando i meccanismi di permanentizzazione e caricamento.
Tabbed View: aggiunge alla tabbed view un pannello per mostrare o modificare i record della tabella.
Pannello: se la tabella è contenuta nel database, tirandola su un pannello verrà aggiunta una query di lookup verso la tabella stessa. L’operazione potrebbe non riuscire se In.de non riesce a trovare un collegamento fra i dati contenuti nel pannello ed i campi della tabella tirata.
Campo di pannello master: aggiunge al campo indicato una query sorgente di valori per effettuare il lookup dei valori del campo tramite una combo-box.
Campo di pannello statico: inserisce un sotto-pannello nel campo statico per mostrare o modificare i dati della tabella tirata. E’ possibile anche tirare la tabella direttamente sul campo nel form editor.
Albero: aggiunge all’albero un item che mostra i record di questa tabella (solo tabelle database).
Elemento albero: aggiunge un sotto-elemento all’albero per mostrare i record di questa tabella correlati all’elemento che lo precede nella gerarchia (solo tabelle database).
Procedura / funzione / evento: per creare una struttura dati locale alla procedura adatta a contenere un record della tabella.
Query: aggiunge la tabella tirata alla query, cercando di collegarla con la altre gà presenti.
Aggiunge anche tutti i campi presenti nella tabella come colonne ritornate dalla query.
Tabella in query: sostituisce la tabella selezionata nella query con quella tirata. La query cambia di significato, alcune colonne o condizioni potrebbero non essere più valide.
Report: aggiunge la tabella al report e crea le box per visualizzarne il contenuto nel libro. Premendo i tasti e è possibile ottenere un layout lista o dettaglio, con le intestazioni o meno.
Cartella: se la cartella è nello stesso database a cui appartiene la tabella, allora essa verrà semplicemente spostata all’interno, altrimenti è come tirare la tabella sull’oggetto che contiene la cartella. Se ad esempio la cartella su cui stai tirando è all’interno di un’applicazione è come tirare la tabella sull’applicazione.
Se la cartella è nello stesso database a cui appartiene la tabella, allora essa verrà semplicemente spostata prima della cartella su cui stai tirando, allo stesso livello dell’albero.
Se la cartella è nello stesso database a cui appartiene la tabella, allora ne verrà creata una copia all’interno della cartella.
Ultima modifica: 04/11/2022 / Validità: da 8.5.3800