Sinonimi vs Alias (në bazat e të dhënave ORACLE) | Sinonimet private dhe sinonimet publike
Në anglisht, sinonimi dhe pseudonimi kanë pothuajse të njëjtat kuptime. Por në bazat e të dhënave këto janë dy gjëra të ndryshme. Sidomos në bazat e të dhënave ORACLE, përdorimi i të dyjave është i ndryshëm. Sinonimet përdoren për të referuar objektet e një skeme ose një bazë të dhënash nga një skemë tjetër. Pra, sinonimi është një lloj objekti i bazës së të dhënave. Por pseudonimet po vijnë në një mënyrë tjetër. Kjo do të thotë; ato nuk janë objekte të bazës së të dhënave. Pseudonimet përdoren për të referuar tabelat, pamjet dhe kolonat brenda pyetjeve.
Sinonime
Këto janë një lloj objektesh të bazës së të dhënave. Ato u referohen objekteve të tjera në bazën e të dhënave. Përdorimi më i zakonshëm i sinonimit është, referimi i një objekti të një skeme të veçantë duke përdorur një emër tjetër. Por sinonimet mund të krijohen për të referuar edhe objektet e një baze të dhënash tjetër (në bazat e të dhënave të shpërndara, duke përdorur lidhjet e bazës së të dhënave). Tabelat, pamjet, funksionet, procedurat, paketat, sekuencat, pamjet e materializuara, objektet e klasës java dhe nxitësit mund të përdoren si referenca për sinonimet. Ka dy lloje sinonimish.
- Sinonime private (mund të përdoren vetëm nga përdoruesi që i ka krijuar ato.)
- Sinonimet publike (mund të përdoren nga të gjithë përdoruesit që kanë privilegjet e duhura)
Këtu, është një sintaksë e thjeshtë për të krijuar një sinonim në një bazë të dhënash të veçantë, krijo sinonim myschema.mytable1 për [email protected]_link1
Meqenëse kemi një sinonim të quajtur mytable1 në myschema për [email protected]_link1 (tabela e shpërndarë e bazës së të dhënave), ne mund t'i referohemi lehtësisht tabelës së bazës së të dhënave të shpërndarë duke përdorur mytable1. Nuk kemi nevojë të përdorim kudo emrin e objektit të gjatë me lidhjen e bazës së të dhënave.
Alias
Këta janë vetëm një emër tjetër për një pamje, një tabelë ose një kolonë brenda një pyetjeje. Ato nuk janë objekte të bazës së të dhënave. Prandaj, pseudonimet nuk janë të vlefshme kudo në skemë/bazë të të dhënave. Ato janë të vlefshme vetëm brenda pyetjes. Le ta shohim këtë shembull, zgjidh tab1.col1 si c1, tab2.col2 si c2
nga user1.tab1 tab1, user1.tab2 tab2
where tab1.col1=tab2.col2
Këtu, c1 dhe c2 janë pseudonimet e kolonave, të cilat përdoren për tab1.col1 dhe tab2.col2, dhe tab1 dhe tab2 janë pseudonimet e tabelës, të cilat përdoren për user1.table1 dhe user2.table2. Të gjitha këto pseudonime janë të vlefshme vetëm brenda këtij pyetësori.
Cili është ndryshimi midis Sinonimit dhe Alias (në bazat e të dhënave ORACLE)?