SAP HANA - Sinonimo SQL
SQL Sinonimi è un alias per una tabella o un oggetto Schema in un database. Vengono utilizzati per proteggere le applicazioni client dalle modifiche apportate al nome o alla posizione di un oggetto.
I sinonimi consentono alle applicazioni di funzionare indipendentemente dall'utente che possiede la tabella e quale database contiene la tabella o l'oggetto.
L'istruzione Crea sinonimo viene utilizzata per creare un sinonimo di tabella, vista, pacchetto, procedura, oggetti, ecc.
Esempio
C'è una tabella Customer di efashion, situata su un Server1. Per accedervi da Server2, un'applicazione client dovrebbe utilizzare il nome Server1.efashion.Customer. Ora cambiamo la posizione della tabella Customer, l'applicazione client dovrebbe essere modificata per riflettere la modifica.
Per risolvere questi problemi possiamo creare un sinonimo di tabella cliente Cust_Table su Server2 per la tabella su Server1. Quindi ora l'applicazione client deve utilizzare il nome di una parte Cust_Table per fare riferimento a questa tabella. Ora, se la posizione di questa tabella cambia, sarà necessario modificare il sinonimo in modo che punti alla nuova posizione della tabella.
Poiché non è presente alcuna istruzione ALTER SYNONYM, è necessario eliminare il sinonimo Cust_Table, quindi ricreare il sinonimo con lo stesso nome e puntare il sinonimo alla nuova posizione della tabella Customer.
Sinonimi pubblici
I sinonimi pubblici sono di proprietà dello schema PUBLIC in un database. I sinonimi pubblici possono essere referenziati da tutti gli utenti nel database. Vengono creati dal proprietario dell'applicazione per le tabelle e altri oggetti come procedure e pacchetti in modo che gli utenti dell'applicazione possano vedere gli oggetti.
Sintassi
CREATE PUBLIC SYNONYM Cust_table for efashion.Customer;
Per creare un sinonimo PUBLIC, devi usare la parola chiave PUBLIC come mostrato.
Sinonimi privati
I sinonimi privati vengono utilizzati in uno schema di database per nascondere il vero nome di una tabella, procedura, vista o qualsiasi altro oggetto di database.
È possibile fare riferimento ai sinonimi privati solo dallo schema che possiede la tabella o l'oggetto.
Sintassi
CREATE SYNONYM Cust_table FOR efashion.Customer;
Lascia un sinonimo
I sinonimi possono essere eliminati utilizzando il comando DROP Sinonimo. Se stai rilasciando un sinonimo pubblico, devi usare la parola chiavepublic nell'istruzione drop.
Sintassi
DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;