Синонім проти псевдоніму (у базах даних ORACLE) | Приватні синоніми та загальнодоступні синоніми
В англійській мові синонім та псевдонім мають майже однакове значення. Але в базах даних це дві різні речі. Особливо в базах даних ORACLE, обидва способи їх використання різні. Синоніми використовуються для позначення об'єктів схеми або бази даних з іншої схеми. Отже, синонім - це тип об’єкта бази даних. Але псевдоніми йдуть по-іншому. Це означає; вони не є об'єктами бази даних. Псевдоніми використовуються для позначення таблиць, подань та стовпців всередині запитів.
Синоніми
Це тип об'єктів бази даних. Вони посилаються на інші об'єкти в базі даних. Найбільш поширене використання синоніма - це посилання на об'єкт окремої схеми за допомогою іншого імені. Але синоніми можуть бути створені і для посилання на об’єкти іншої бази даних (також у розподілених базах даних, використовуючи посилання на бази даних). Таблиці, види, функції, процедури, пакети, послідовності, матеріалізовані подання, об’єкти класу java та тригери можуть використовуватися як посилання на синоніми. Існує два типи синонімів.
Ось простий синтаксис для створення синоніму в окремій базі даних,
створити синонім myschema.mytable1 для [захищено електронною поштою] _link1
Оскільки у нас є синонім на ім'я mytable1 в мішема для [захищено електронною поштою] _link1 (таблиця розподіленої бази даних), ми можемо легко вказати таблицю розподіленої бази даних за допомогою mytable1. Нам не потрібно використовувати довге ім'я об'єкта зі посиланням на базу даних скрізь.
Псевдонім
Це лише інша назва для представлення даних, таблиці або стовпця всередині запиту. Вони не є об'єктами бази даних. Тому псевдоніми не діють скрізь у схемі / базі даних. Вони дійсні лише в запиті. Подивимося на цьому прикладі,
виберіть tab1.col1 як c1, tab2.col2 як c2
від user1.tab1 tab1, user1.tab2 tab2
де tab1.col1 = tab2.col2
Тут c1 і c2 - псевдоніми стовпців, які використовуються для tab1.col1 і tab2.col2, а tab1 і tab2 - псевдоніми таблиць, які використовуються для user1.table1 та user2.table2. Усі ці псевдоніми дійсні лише в цьому запиті.
Яка різниця між синонімом та псевдонімом (у базах даних ORACLE)?
|