Синоним және бүркеншік ат (ORACLE дерекқорларында) | Жеке синонимдер және жалпыға ортақ синонимдер
Ағылшын тілінде синоним мен бүркеншік аттың мағыналары бірдей. Бірақ дерекқорларда бұл екі түрлі нәрсе. Әсіресе ORACLE дерекқорларында олардың екеуінің де қолданылуы әртүрлі. Синонимдер схеманың объектілеріне немесе басқа схемадан дерекқорға сілтеме жасау үшін пайдаланылады. Демек, синоним дерекқор нысанының түрі болып табылады. Бірақ бүркеншік аттар басқа жолмен келеді. Яғни; олар дерекқор объектілері емес. Бүркеншік аттар сұраулар ішіндегі кестелерге, көріністерге және бағандарға сілтеме жасау үшін пайдаланылады.
Синонимдер
Бұл дерекқор нысандарының түрі. Олар дерекқордағы басқа объектілерге сілтеме жасайды. Синонимнің ең көп тараған қолданылуы - басқа атауды пайдалану арқылы бөлек схеманың нысанына сілтеме жасау. Бірақ синонимдер басқа дерекқордың объектілеріне сілтеме жасау үшін де жасалуы мүмкін (үлестірілген деректер қорларында, дерекқор сілтемелерін пайдалана отырып). Синонимдерге сілтеме ретінде кестелер, көріністер, функциялар, процедуралар, бумалар, реттіліктер, материалдандырылған көріністер, java класының нысандары және триггерлер пайдаланылуы мүмкін. Синонимдердің екі түрі бар.
- Жеке синонимдер (оларды жасаған пайдаланушы ғана пайдалана алады.)
- Қоғамдық синонимдер (тиісті артықшылықтары бар барлық пайдаланушылар пайдалана алады)
Міне, жеке дерекқорда синоним жасауға арналған қарапайым синтаксис, [email protected]_link1 үшін myschema.mytable1 синонимін жасау
Бізде [email protected]_link1 (үлестірілген дерекқор кестесі) үшін myschema ішінде mytable1 атты синоним болғандықтан, біз mytable1 арқылы таратылған дерекқор кестесіне оңай сілтеме жасай аламыз. Дерекқор сілтемесі бар ұзын нысан атауын барлық жерде пайдаланудың қажеті жоқ.
бүркеншік ат
Бұл көріністің, кестенің немесе сұрау ішіндегі бағанның басқа атауы. Олар дерекқор объектілері емес. Сондықтан бүркеншік аттар схемада/деректер қорында барлық жерде жарамсыз. Олар тек сұрау ішінде жарамды. Мына мысалды көрейік, tab1.col1 c1 ретінде, tab2.col2 c2 ретінде таңдаңыз
user1.tab1 қойындысынан, user1.tab2 қойындысынан
мұнда tab1.col1=tab2.col2
Мұнда c1 және c2 - tab1.col1 және tab2.col2 үшін пайдаланылатын баған бүркеншік аттары, ал tab1 және tab2 - user1.table1 және user2.table2 үшін пайдаланылатын кесте бүркеншік аттары. Бұл бүркеншік аттардың барлығы тек осы сұрау ішінде жарамды.
Синоним мен бүркеншік аттың (ORACLE дерекқорларында) айырмашылығы неде?