Ero synonyymin ja aliaksen välillä

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ä.

  1.  Yksityiset synonyymit (käyttää vain niitä luonut käyttäjä.)
  2.  Julkiset synonyymit (voivat käyttää kaikki käyttäjät, joilla on asianmukaiset käyttöoikeudet)

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)?

  • Synonyymit ovat tietokantaobjektityyppi. Mutta aliakset ovat vain nimi, joka viittaa taulukkoon, näkymään tai sarakkeeseen kyselyn sisällä. Ei tietokantaobjekti.
  • Synonyymejä voidaan luoda taulukoille, näkymille, funktioille, menettelyille, paketeille, sekvensseille, toteutuneille näkymille, Java-luokkaobjektityypeille ja liipaisimille. Mutta aliaksia käytetään vain näkymissä, taulukoissa ja niiden sarakkeissa.
  • Koska synonyymit ovat tietokantaobjekteja, ne ovat kelvollisia järjestelmän sisällä (yksityinen synonyymi) tai tietokannan sisällä (julkinen synonyymi). Mutta aliakset, jotka ovat voimassa kyselyn sisällä, missä niitä käytetään.
  • Jokainen skeema tarvitsee ”Luoda synonyymi” etuoikeus luoda synonyymejä. Mutta ei ole mitään etuoikeutta käyttää aliaksia.