Különbség a szinonima és az álnév között

Anonim

Szinonimák vs alias (ORACLE adatbázisokban) | Nyilvános szinonimák és nyilvános szinonimák

Az angol nyelvben a szinonímának és az aliasnak közel azonos jelentése van. Az adatbázisokban azonban ezek két különböző dolog. Különösen az ORACLE adatbázisokban mindkét alkalmazás eltérő. A szinonimák egy séma vagy egy adatbázis objektumainak más sémából történő hivatkozására szolgálnak. Tehát a szinonima egy adatbázis-objektumtípus. De az aliasok másképp jönnek. Azt jelenti; ezek nem adatbázis objektumok. Az álneveket táblák, nézetek és oszlopok lekérdezésekhez használják.

Szinonimák

Ezek egyfajta adatbázis objektumok. Az adatbázisban szereplő egyéb objektumokra utalnak. A szinonima leggyakoribb használata, ha egy különálló objektum objektumát egy másik név használatával kívánja megjeleníteni. De szinonimákat lehet létrehozni, hogy egy másik adatbázis objektumát is megmutassák (megosztott adatbázisokban, adatbázis-hivatkozások használatával). Táblák, nézetek, funkciók, eljárások, csomagok, szekvenciák, materializált nézetek, java osztály objektumok és triggerek használhatók hivatkozásokként a szinonimákhoz. Kétféle szinonimák léteznek.

  1. Nyilvános szinonimák (mindenki használhatja, aki rendelkezik a megfelelő jogosultsággal)
  2. Itt egy egyszerű szimbólum (csak a felhasználó által létrehozott felhasználó használhatja) szintaxis létrehozása szinonímaként külön adatbázisban,

szimbólum létrehozása myschema. mytable1 a userA-hoz. table1 @ database_link1

Mivel

mytable1 myschema a userA szinonímáé. táblázat1 @ adatbázis_link1 (elosztott adatbázis-táblázat) , az elosztott adatbázistáblát a mytable1 segítségével egyszerűen meg lehet jeleníteni. A hosszú objektumnevet nem kell mindenhol adatbázis-kapcsolattal használni.

Alias ​​

Ezek csak egy név, egy nézet, egy táblázat vagy egy lekérdezés egy oszlopa. Ezek nem adatbázis objektumok. Ezért az aliasok nem mindenhol érvényesek a sémában / adatbázisban. Csak a lekérdezésen belül érvényesek. Lássuk ezt a példát, válasszuk a tab1-et. col1 mint c1, tab2. col2 mint c2

a user1-ből. tab1 tab1, user1. tab2 tab2

ahol tab1. col1 = tab2. col2

Itt a c1 és a c2 oszlop alias, amelyeket a tab1-re használnak. col1 és tab2. col2, és a tab1 és a tab2 táblázati álnevek, amelyeket a felhasználó1 használ. táblázat1 és felhasználó2. 2. táblázat. Mindezek az aliasok csak ebben a lekérdezésben érvényesek.

Mi a különbség a szinonimában és az Alias ​​ (ORACLE adatbázisokban) ?

  • A szinonimák adatbázis-objektumtípusok. Az alias azonban csak egy név, amely egy táblázatot, egy nézetet vagy egy lekérdezést tartalmazó oszlopot jelöl. Nem adatbázis-objektum.
  • Szinonimákat lehet létrehozni táblákhoz, nézetekhez, függvényekhez, eljárásokhoz, csomagokhoz, szekvenciákhoz, materializált nézetekhez, java osztály objektumtípusokhoz és triggerekhez. Az aliasokat azonban csak nézetek, táblázatok és oszlopuk használják.
  • Mivel a szinonimák egy adatbázis objektum, azok a séma (privát szinonimája) vagy az adatbázisban (nyilvános szinonima) belül érvényesek. De a lekérdezésben érvényes álnevek, amelyeken használják őket.
  • Minden sémanak szüksége van "szinonimára" szinonimák létrehozására. De nincs semmilyen kiváltság az aliasok használatához.