Sinonimo vs Alias (nei database ORACLE) | Sinonimi privati e sinonimi pubblici
In inglese, sinonimo e alias hanno quasi lo stesso significato. Ma nei database questi sono due cose diverse. Soprattutto nei database ORACLE, entrambi i loro usi sono diversi. I sinonimi sono usati per riferirsi agli oggetti di uno schema o di un database da un altro schema. Quindi sinonimo è un tipo di oggetto di database. Ma gli alias stanno arrivando in un modo diverso. Questo significa; non sono oggetti di database. Gli alias vengono utilizzati per riferirsi a tabelle, viste e colonne all'interno di query.
Sinonimi
Questi sono un tipo di oggetti di database. Si riferiscono ad altri oggetti nel database. L'uso più comune del sinonimo è quello di riferire un oggetto di uno schema separato usando un altro nome. Ma i sinonimi possono essere creati per riferirsi anche agli oggetti di un altro database (in database distribuiti, usando collegamenti a database). Tabelle, viste, funzioni, procedure, pacchetti, sequenze, viste materializzate, oggetti di classi java e trigger possono essere usati come riferimenti per i sinonimi. Esistono due tipi di sinonimi.
Ecco una semplice sintassi per creare un sinonimo in un database separato,
crea sinonimo myschema.mytable1 per [email protetta]_link1
Dal momento che abbiamo un sinonimo chiamato myTable1 nel myschema per [email protetta]_link1 (tabella del database distribuito), possiamo facilmente consultare la tabella del database distribuito usando myTable1. Non è necessario utilizzare il nome dell'oggetto lungo con il collegamento del database ovunque.
Alias
Questi sono solo un altro nome per una vista, una tabella o una colonna all'interno di una query. Non sono oggetti di database. Pertanto, gli alias non sono validi ovunque nello schema / database. Sono validi solo all'interno della query. Vediamo questo esempio,
selezionare tab1.col1 come c1, tab2.col2 come c2
da utente1.tab1 tab1, utente1.tab2 tab2
dove tab1.col1 = tab2.col2
Qui, c1 e c2 sono alias di colonne, che sono usati per tab1.col1 e tab2.col2, e tab1 e tab2 sono alias di tabella, che sono usati per user1.table1 e user2.table2. Tutti questi alias sono validi solo all'interno di questa query.
Qual è la differenza tra Synonym e Alias (nei database ORACLE)?
|