Sinonim və Alias (ORACLE verilənlər bazasında) | Şəxsi sinonimlər və İctimai sinonimlər
İngilis dilində sinonim və ləqəb təxminən eyni mənaları ifadə edir. Lakin verilənlər bazasında bunlar iki fərqli şeydir. Xüsusilə ORACLE verilənlər bazalarında onların hər ikisinin istifadəsi fərqlidir. Sinonimlər bir sxemin obyektlərinə və ya başqa bir sxemdən verilənlər bazasına istinad etmək üçün istifadə olunur. Beləliklə, sinonim verilənlər bazası obyekt növüdür. Ancaq ləqəblər fərqli şəkildə gəlir. Yəni; onlar verilənlər bazası obyektləri deyillər. Ləqəblər sorğular daxilində cədvəllərə, görünüşlərə və sütunlara istinad etmək üçün istifadə olunur.
Sinonimlər
Bunlar verilənlər bazası obyektlərinin bir növüdür. Onlar verilənlər bazasındakı digər obyektlərə istinad edirlər. Sinonimin ən çox yayılmış istifadəsi, başqa bir ad istifadə edərək ayrı bir sxemin obyektinə istinad etməkdir. Lakin sinonimlər başqa verilənlər bazasının obyektlərinə istinad etmək üçün də yaradıla bilər (paylanmış verilənlər bazalarında verilənlər bazası bağlantılarından istifadə etməklə). Cədvəllər, görünüşlər, funksiyalar, prosedurlar, paketlər, ardıcıllıqlar, materiallaşdırılmış görünüşlər, java sinif obyektləri və triggerlər sinonimlər üçün istinad kimi istifadə edilə bilər. İki növ sinonim var.
- Şəxsi sinonimlər (yalnız onları yaradan istifadəçi tərəfindən istifadə edilə bilər.)
- İctimai sinonimlər (müvafiq imtiyazları olan bütün istifadəçilər tərəfindən istifadə edilə bilər)
Budur, ayrı verilənlər bazasında sinonim yaratmaq üçün sadə sintaksis, [email protected]_link1 üçün myschema.mytable1 sinonimi yaradın
myschema-da [email protected]_link1 (paylanmış verilənlər bazası cədvəli) üçün mytable1 adlı sinonimimiz olduğundan, biz asanlıqla mytable1-dən istifadə edərək paylanmış verilənlər bazası cədvəlinə istinad edə bilərik. Hər yerdə verilənlər bazası bağlantısı olan uzun obyekt adından istifadə etməyə ehtiyacımız yoxdur.
Ləxmə
Bunlar sorğunun içindəki görünüş, cədvəl və ya sütun üçün sadəcə başqa addır. Onlar verilənlər bazası obyektləri deyil. Buna görə də, ləqəblər sxem/verilənlər bazasında hər yerdə etibarlı deyil. Onlar yalnız sorğu daxilində etibarlıdır. Gəlin bu nümunəyə baxaq, tab1.col1-i c1 kimi, tab2.col2-ni c2 kimi seçin
user1.tab1 tab1-dən, user1.tab2 tab2
burada tab1.col1=tab2.col2
Burada c1 və c2 sütun ləqəbləridir, bunlar tab1.col1 və tab2.col2 üçün istifadə olunur, tab1 və tab2 isə istifadəçi1.table1 və user2.table2 üçün istifadə edilən cədvəl ləqəbləridir. Bu ləqəblərin hamısı yalnız bu sorğuda etibarlıdır.
Sinonim və Alias (ORACLE verilənlər bazalarında) arasında nə fərq var?