Eş anlamlı ve diğer ad (ORACLE veritabanlarında) | Özel eşanlamlılar ve Genel eşanlamlılar
İngilizce'de eşanlamlı ve takma ad neredeyse aynı anlamlara sahiptir. Ancak veritabanlarında bunlar iki farklı şeydir. Özellikle ORACLE veritabanlarında her ikisi de farklıdır. Eş anlamlılar, bir şemanın nesnelerini veya başka bir şemadaki bir veritabanını belirtmek için kullanılır. Yani eşanlamlı bir veritabanı nesnesi türüdür. Ancak takma adlar farklı bir şekilde geliyor. Bunun anlamı; veritabanı nesneleri değildir. Takma adlar, sorguların içindeki tabloları, görünümleri ve sütunları belirtmek için kullanılır.
Eş anlamlı
Bunlar bir tür veritabanı nesnesidir. Veritabanındaki diğer nesnelere atıfta bulunurlar. Eşanlamlıların en yaygın kullanımı, ayrı bir şemanın nesnesine başka bir ad kullanarak başvurmaktır. Ancak eşanlamlılar başka bir veritabanının nesnelerine de atıfta bulunmak için oluşturulabilir (dağıtılmış veritabanlarında, veritabanı bağlantıları kullanılarak). Tablolar, görünümler, fonksiyonlar, prosedürler, paketler, sekanslar, materyalize görünümler, java sınıfı nesneleri ve tetikleyiciler eş anlamlılar için referans olarak kullanılabilir. İki tür eşanlamlı vardır.
Burada, ayrı bir veritabanında eşanlamlı oluşturmak için basit bir sözdizimi,
[e-posta korumalı] _link1 için myschema.mytable1 eş anlamlı oluştur
Adında bir eşanlamlımız olduğundan mytable1 içinde myschema için [e-posta korumalı] _link1 (dağıtılmış veritabanı tablosu), kullanarak kolayca dağıtılmış veritabanı tablosuna başvurabiliriz mytable1. Her yerde veritabanı bağlantısı olan uzun nesne adını kullanmamız gerekmiyor.
takma ad
Bunlar yalnızca bir görünüm, tablo veya sorgunun içindeki bir sütun için başka bir addır. Bunlar veritabanı nesneleri değildir. Bu nedenle, diğer adlar şema / veritabanında her yerde geçerli değildir. Bunlar yalnızca sorgu içinde geçerlidir. Bu örneği görelim,
tab1.col1'i c1 olarak, tab2.col2'yi c2 olarak seçin
from user1.tab1 tab1, user1.tab2 tab2
burada tab1.col1 = tab2.col2
Burada c1 ve c2, tab1.col1 ve tab2.col2 için kullanılan sütun diğer adlarıdır ve tab1 ve tab2, user1.table1 ve user2.table2 için kullanılan tablo diğer adlarıdır. Bu takma adların tümü yalnızca bu sorguda geçerlidir.
Eşanlamlı ve Takma Ad arasındaki fark nedir (ORACLE veritabanlarında)?
|