Atšķirība starp sinonīmu un aizstājvārdu

Sinonīms vs Alias (ORACLE datu bāzēs) Privāti sinonīmi un publiski sinonīmi
 

Angļu valodā sinonīmam un aizstājvārdam ir gandrīz vienādas nozīmes. Bet datu bāzēs tās ir divas dažādas lietas. Jo īpaši ORACLE datu bāzēs abi ir atšķirīgi. Sinonīmi tiek izmantoti, lai atsauktos uz shēmas objektiem vai datu bāzes no citas shēmas. Tātad sinonīms ir datu bāzes objekta tips. Bet pseidonīmi parādās savādāk. Tas nozīmē; tie nav datu bāzes objekti. Pseidonīmi tiek izmantoti, lai atsauktos uz tabulām, skatiem un kolonnām vaicājumu iekšpusē.

Sinonīmi

Tie ir datu bāzes objektu veidi. Tie attiecas uz citiem datu bāzes objektiem. Visbiežāk sinonīms tiek izmantots, lai atsauktos uz atsevišķas shēmas objektu, izmantojot citu nosaukumu. Bet sinonīmus var izveidot, lai atsauktos arī uz citas datu bāzes objektiem (sadalītās datu bāzēs, izmantojot datu bāzes saites). Kā sinonīmu atsauces var izmantot tabulas, skatus, funkcijas, procedūras, paketes, secības, materializētus skatus, java klases objektus un sprūdus. Ir divu veidu sinonīmi.

  1.  Privāti sinonīmi (tos var izmantot tikai lietotājs, kurš tos izveidoja.)
  2.  Publiskie sinonīmi (var izmantot visi lietotāji, kuriem ir atbilstošas ​​privilēģijas)

Šeit ir vienkārša sintakse, lai izveidotu sinonīmu atsevišķā datu bāzē,

izveidot sinonīmu myschema.mytable1 mapei [aizsargāts ar e-pastu] _link1

Tā kā mums ir sinonīms nosaukts mytable1 iekšā misēms priekš [aizsargāts ar e-pastu] _link1 (izplatīta datu bāzes tabula), mēs varam viegli atsaukties uz izplatītās datu bāzes tabulu, izmantojot mytable1. Mums visur nav jālieto garais objekta nosaukums ar datu bāzes saiti.

Pseidonīms

Šie ir tikai vēl viens skata, tabulas vai kolonnas nosaukums vaicājumā. Tie nav datu bāzes objekti. Tāpēc pseidonīmi nav derīgi visur shēmā / datu bāzē. Tie ir derīgi tikai vaicājumā. Ļaujiet mums redzēt šo piemēru,

                                    atlasiet tab1.col1 kā c1, tab2.col2 kā c2

                                       no cilnes user1.tab1 tab1, user1.tab2 tab2

                                       kur tab1.col1 = tab2.col2

Šeit c1 un c2 ir sleju pseidonīmi, kurus izmanto tabulām1.col1 un tab2.col2, un tabulas1 un tab2 ir tabulas aizstājvārdi, kurus izmanto lietotājiem1.tab1 un lietotājam2.table2. Visi šie aizstājvārdi ir derīgi tikai šajā vaicājumā. 

Kāda ir atšķirība starp sinonīmu un aizstājvārdu (ORACLE datu bāzēs)?

  • Sinonīmi ir datu bāzes objekta tips. Bet pseidonīmi ir tikai nosaukums, kas norāda tabulu, skatu vai kolonnu vaicājuma iekšpusē. Nav datu bāzes objekts.
  • Sinonīmus var izveidot tabulām, skatiem, funkcijām, procedūrām, paketēm, sekvencēm, materializētiem skatiem, java klases objektu veidiem un sprūdainiem. Bet aizstājvārdus izmanto tikai skatiem, tabulām un to kolonnām.
  • Tā kā sinonīmi ir datu bāzes objekts, tie ir derīgi shēmā (privāts sinonīms) vai datu bāzē (publisks sinonīms). Bet aizstājvārdi, kas derīgi vaicājumā, kur tie tiek izmantoti.
  • Katrai shēmai ir nepieciešams “Izveidot sinonīmu” privilēģija radīt sinonīmus. Bet izmantot pseidonīmus nav nekādu privilēģiju.