Sinonimo vs Alias (nei database ORACLE) | Sinonimi privati e sinonimi pubblici
In inglese, sinonimo e alias hanno quasi gli stessi significati. Ma nei database queste sono due cose diverse. Soprattutto nei database ORACLE, il loro utilizzo è diverso. I sinonimi vengono utilizzati per fare riferimento a oggetti di uno schema o di un database da un altro schema. Quindi il 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 fare riferimento a tabelle, viste e colonne all'interno delle query.
Sinonimi
Questi sono un tipo di oggetti di database. Si riferiscono ad altri oggetti nel database. L'utilizzo più comune di sinonimo è fare riferimento a un oggetto di uno schema separato utilizzando un altro nome. Ma i sinonimi possono essere creati anche per fare riferimento agli oggetti di un altro database (nei database distribuiti, utilizzando i collegamenti al database). Tabelle, viste, funzioni, procedure, pacchetti, sequenze, viste materializzate, oggetti di classe java e trigger possono essere utilizzati come riferimenti per i sinonimi. Esistono due tipi di sinonimi.
- Sinonimi privati (possono essere utilizzati solo dall'utente che li ha creati).
- Sinonimi pubblici (possono essere utilizzati da tutti gli utenti che dispongono dei privilegi appropriati)
Ecco una semplice sintassi per creare un sinonimo in un database separato, creare il sinonimo myschema.mytable1 per [email protected] _link1
Dato che abbiamo un sinonimo chiamato mia tabella1 in myschema per [email protected] _link1 (tabella database distribuita), possiamo facilmente fare riferimento alla tabella database distribuita usando mia tabella1. Non è necessario utilizzare ovunque il nome dell'oggetto lungo con il collegamento al database.
Alias
Questi sono solo un altro nome per una visualizzazione, 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 user1.tab1 tab1, user1.tab2 tab2
dove tab1.col1 = tab2.col2
In questo caso, c1 e c2 sono alias di colonna, che vengono utilizzati per tab1.col1 e tab2.col2, e tab1 e tab2 sono alias di tabella, che vengono utilizzati per user1.table1 e user2.table2. Tutti questi alias sono validi solo all'interno di questa query.
Qual è la differenza tra Sinonimo e Alias (nei database ORACLE)? I sinonimi sono un tipo di oggetto database. Ma gli alias sono solo un nome per fare riferimento a una tabella, vista o una colonna all'interno di una query. Non un oggetto di databaseÈ possibile creare sinonimi per tabelle, viste, funzioni, procedure, pacchetti, sequenze, viste materializzate, tipi di oggetto classe java e trigger. Ma gli alias vengono utilizzati solo per le viste, le tabelle e le relative colonnePoiché i sinonimi sono un oggetto di database, sono validi all'interno dello schema (sinonimo privato) o all'interno del database (sinonimo pubblico). Ma alias validi all'interno della query in cui vengono utilizzatiOgni schema necessita del privilegio "crea sinonimo" per creare sinonimi. Ma non c'è alcun privilegio per usare gli alias |