Szinonimák oracle
Értékelés: 0/5
Az Oracle Database szinonimái az adatbázis objektumok álnevek, amelyek elsősorban a felhasználók más felhasználókhoz tartozó objektumokhoz való hozzáférésének megkönnyítését szolgálják, valamint biztonsági okokból. A szinonimák elrejtik az alapul szolgáló objektumok azonosságát, és lehetnek magán vagy nyilvánosak. Nyilvános szinonimák minden felhasználó számára elérhető az adatbázis, és saját szinonimák szerves részét képezik a rendszer az egyéni felhasználó, és a többi felhasználó kell alapozni, hogy a hozzáférési jogokat a magán szinonimái. Oracle szinonimákat hozhat létre táblákhoz, nézetekhez, materializált nézetekhez és tárolt kódcsomagokhoz és eljárásokhoz.
Szinonimák Az Oracle egy nagyon hatékony eszköz ahhoz, hogy a felhasználók hozzáférjenek azokhoz az objektumokhoz, amelyek nem tartoznak a sémájukhoz. Minden szinonimát kifejezetten a CREATE SYNONYM parancs segítségével kell létrehozni. és az alapul szolgáló objektumok ugyanabban az adatbázisban vagy adatbázis-kapcsolatokkal összekapcsolt más adatbázisokban helyezhetők el.
Az Oracle szinonimái
A szinonimák két fő alkalmazási területe.
- Az objektumok átláthatóságának biztosítása. Szinonimák hozhatók létre a felhasználó forrásobjektumainak átláthatósága érdekében.
- A helyszín átláthatósága érdekében. A szinonimák táblák és egyéb, nem helyi adatbázisokhoz kapcsolódó objektumok álneveként hozhatók létre.
A jegyzethez! Ne feledje, hogy ha ismered a séma táblázat szinonimáját, akkor nem feltétlenül fér hozzá. A táblázat eléréséhez rendelkeznie kell a szükséges jogosultságokkal.
Amikor táblát vagy eljárást hoz létre, az adatbázis létrehozza azokat a sémában, és más felhasználók hozzáférhetnek hozzájuk, a séma nevével az objektum nevének előtagjaként. Az alább felsorolt példák több példát mutatnak be erre a pontra.
Amint látja, amikor a SYSTEM felhasználó megpróbál egy táblázati struktúrát előtag nélkül megjeleníteni - a séma neve, az Oracle hibát jelez, ami jelzi a tábla hiányát. Ennek érdekében a séma tulajdonosának létre kell hoznia egy szinonimát ugyanazzal a névvel, mint a táblázatban. Amint a SYSTEM felhasználó alkalmazza a jelölési sémát.table. láthatja az asztal tartalmát.
Hozzon létre egy nyilvános szinonímát
A nyilvános szinonimák egy speciális Oracle adatbázis sémára utalnak, a PUBLIC néven. Amint korábban említettük, a nyilvános szinonimák az adatbázis minden felhasználójának láthatók. A nyilvános szinonimákat általában az alkalmazások tulajdonosa hozza létre táblákhoz és egyéb objektumokhoz, például eljárásokhoz és csomagokhoz, hogy az alkalmazást használók láthassák ezeket az objektumokat.
A következő kód bemutatja, hogyan hozzon létre nyilvános szinonimát a munkavállalók számára.
Most minden felhasználó láthatja az asztalt, egyszerűen beírja az eredeti nevét. Ha szükséges, a CREATE SYNONYM utasítás használatával a táblázatban másik név is megadható. Ne felejtsük el, hogy az adatbázis adminisztrátorának explicit módon meg kell adnia a CREATE PUBLIC SYNONYM jogosultságot a felhasználó hr számára, hogy nyilvános szinonimákat hozzon létre.
A nyilvános (vagy privát) szinonímon keresztül történő asztal megtekintése nem jelenti azt, hogy elvégezheti a SELECT, INSERT, UPDATE vagy DELETE műveletek végrehajtását. Az ilyen műveletek végrehajtásához a felhasználónak speciális jogosultságokkal kell rendelkeznie ahhoz, hogy hozzáférjen a forrásobjektumhoz, amelyet az alkalmazás tulajdonosa közvetlenül vagy szerepeken keresztül bocsátott ki.
Magánszinonimának létrehozása
A magánszinonimák, ellentétben a nyilvánossággal, csak az asztal vagy objektum tulajdonában lévő rendszerben láthatók. Saját szinonimákat hozhat létre, ha ugyanazt a táblázatot különböző helyeken kell használni különböző neveken. Pontosan ugyanúgy jönnek létre, mint a nyilvánosak, de a CREATE utasításban a PUBLIC kulcsszó nélkül.
A következő példa bemutatja, hogyan hozhat létre privát szinonimát a helyek táblázata címeként. Ne feledje, hogy a létrehozás után egy privát szinonim lehet elérni az eredeti táblanévként.
A szinoním megsemmisítése
A DROP SYNONYM utasítással mind a magán-, mind a közszinonimák megsemmisülnek, de van egy különbség. Ha a DROP kulcsszó után törli a nyilvános szinonimát, akkor a PUBLIC kulcsszót kell elhelyeznie.
Az alábbiakban bemutatjuk egy magánszinonimának megsemmisítését:
Szinonimák kezelése
A DBA_SYNONYMS nézet tartalmaz információkat az adatbázis összes szinonimájáról. A szinonimák a mögöttes alaptáblákon alapulnak, és megtalálhatók az alapobjektumok nevei a következőhöz hasonló lekérdezés futtatásával:
A DBA_SYNONYMS nézet segítségével kiderítheti az alapul szolgáló táblák nevét, amelyek szinonimák mögött rejtőznek.
Másik rendszerre váltás
Ha folyamatosan olyan táblázatokat használ, amelyek egy másik sémához tartoznak, és ebben a sémában nincsenek szinonimák, akkor minden táblanév előtt meg kell adnia egy séma-minősítőt. Például a scott felhasználóhoz tartozó emp tábla eléréséhez meg kell adnia az emp.scott nevet. Ennek elkerülése érdekében használhatja a következő ALTER SESSION SET SCHEMA utasítást.
Az ALTER SESSION nyilatkozat használata nem biztosít automatikusan jogosultságot. Annak érdekében, hogy lekérdezzük az emp-táblát a séma-minősítő nélkül, ahogy az előző példában látható, a felhasználónak rendelkeznie kell az emp tábla SELECT jogosultságával.