Synonim a alias (w bazach danych ORACLE) | Synonimy prywatne i synonimy publiczne
W języku angielskim synonim i alias mają prawie to samo znaczenie. Ale w bazach danych to dwie różne rzeczy. Szczególnie w bazach danych ORACLE oba ich zastosowania są różne. Synonimy są używane do odwoływania się do obiektów schematu lub bazy danych z innego schematu. Zatem synonim to typ obiektu bazy danych. Ale aliasy pojawiają się w inny sposób. To znaczy; nie są obiektami bazy danych. Aliasy służą do odwoływania się do tabel, widoków i kolumn w zapytaniach.
Synonimy
Są to typy obiektów bazy danych. Odnoszą się do innych obiektów w bazie danych. Najczęstszym zastosowaniem synonimu jest odwoływanie się do obiektu z oddzielnego schematu przy użyciu innej nazwy. Ale można tworzyć synonimy, aby odsyłać również obiekty z innej bazy danych (w rozproszonych bazach danych przy użyciu łączy do baz danych). Tabele, widoki, funkcje, procedury, pakiety, sekwencje, zmaterializowane widoki, obiekty klas Java i wyzwalacze mogą być używane jako odniesienia dla synonimów. Istnieją dwa rodzaje synonimów.
- Prywatne synonimy (mogą być używane tylko przez użytkownika, który je utworzył).
- Synonimy publiczne (mogą być używane przez wszystkich użytkowników, którzy mają odpowiednie uprawnienia)
Tutaj jest prosta składnia do tworzenia synonimu w oddzielnej bazie danych, utwórz synonim myschema.mytable1 dla [email chroniony] _link1
Ponieważ w myschema mamy synonim o nazwie mytable1 dla [chroniony pocztą e-mail] _link1 (tabela rozproszonej bazy danych), możemy łatwo odwołać się do tabeli rozproszonej bazy danych za pomocą mytable1. Nie musimy wszędzie używać długiej nazwy obiektu z linkiem do bazy danych.
Alias
To tylko inna nazwa widoku, tabeli lub kolumny wewnątrz zapytania. Nie są obiektami bazy danych. Dlatego aliasy nie są prawidłowe wszędzie w schemacie / bazie danych. Są ważne tylko w zapytaniu. Zobaczmy ten przykład, wybierz tab1.col1 jako c1, tab2.col2 jako c2
z user1.tab1 tab1, user1.tab2 tab2
gdzie tab1.col1 = tab2.col2
Tutaj c1 i c2 to aliasy kolumn, które są używane dla tab1.col1 i tab2.col2, a tab1 i tab2 to aliasy tabel, które są używane dla user1.table1 i user2.table2. Wszystkie te aliasy są ważne tylko w ramach tego zapytania.
Jaka jest różnica między synonimem a aliasem (w bazach danych ORACLE)? Synonimy są typami obiektów bazy danych. Ale aliasy to tylko nazwy odnoszące się do tabeli, widoku lub kolumny w zapytaniu. To nie jest obiekt bazy danychSynonimy mogą być tworzone dla tabel, widoków, funkcji, procedur, pakietów, sekwencji, widoków zmaterializowanych, typów obiektów klasy Java i wyzwalaczy. Ale aliasy są używane tylko dla widoków, tabel i ich kolumnPonieważ synonimy są obiektem bazy danych, obowiązują one w schemacie (synonim prywatny) lub w bazie danych (synonim publiczny). Ale aliasy są ważne w zapytaniu, w którym są używaneKażdy schemat wymaga uprawnienia do tworzenia synonimów, aby móc tworzyć synonimy. Ale nie ma żadnego przywileju używania aliasów |