Synonyymi vs. Alias (ORACLE - tietokannoissa) | Yksityiset synonyymit ja julkiset synonyymit
Englanniksi synonyymeillä ja aliaksilla on melkein samat merkitykset. Mutta tietokannoissa nämä ovat kaksi eri asiaa. Varsinkin ORACLE-tietokannoissa molempien käyttö on erilaista. Synonyymejä käytetään viitaamaan skeeman tai tietokannan objekteja toisesta kaavasta. Joten synonyymi on tietokantaobjektityyppi. Mutta aliakset tulevat eri tavalla. Se tarkoittaa; ne eivät ole tietokantaobjekteja. Aliaseilla viitataan kyselyiden taulukoihin, näkymiin ja sarakkeisiin.
synonyymit
Nämä ovat tietyn tyyppisiä tietokantaobjekteja. Ne viittaavat tietokannan muihin objekteihin. Yleisin synonyymin käyttö on viitata erillisen kaavan objektiin käyttämällä toista nimeä. Mutta synonyymejä voidaan luoda viittaamaan myös toisen tietokannan objekteihin (hajautetuissa tietokannoissa, käyttämällä tietokantalinkkejä). Taulukoita, näkymiä, toimintoja, menettelytapoja, paketteja, sekvenssejä, toteutuneita näkymiä, Java-luokkaobjekteja ja liipaisimia voidaan käyttää synonyymien viitteinä. Synonyymejä on kahta tyyppiä.
Tässä on yksinkertainen syntaksi synonyymin luomiseksi erilliseen tietokantaan,
luo synonyymi myschema.mytable1 kohteelle [email suojattu] _link1
Koska meillä on synonyymi nimeltä mytable1 sisään myschema varten [sähköpostisuojattu] _link1 (hajautettu tietokantataulukko), voimme viitata hajautettuun tietokantataulukkoon helposti käyttämällä mytable1. Meidän ei tarvitse käyttää pitkää objektinimeä tietokantalinkin kanssa kaikkialla.
Alias
Nämä ovat vain toinen nimi näkymälle, taulukolle tai sarakkeelle kyselyn sisällä. Ne eivät ole tietokantaobjekteja. Siksi aliakset eivät ole kelvollisia kaikkialla kaavassa / tietokannassa. Ne ovat voimassa vain kyselyn sisällä. Katsotaanpa tätä esimerkkiä,
valitse välilehti1.col1 c1: ksi, tab2.col2 c2: ksi
välilehdiltä user1.tab1 tab1, user1.tab2 tab2
missä tab1.col1 = tab2.col2
Tässä c1 ja c2 ovat sarakkeiden aliaksia, joita käytetään tab1col1 ja tab2.col2, ja tab1 ja tab2 ovat taulukon aliaksia, joita käytetään user1.table1 ja user2.table2. Kaikki nämä aliakset ovat voimassa vain tämän kyselyn sisällä.
Mitä eroa synonyymin ja aliaksen välillä on? (ORACLE-tietokannoissa)?
|