Forskjell mellom synonym og alias
Synonym vs Alias (i ORACLE-databaser) | Private synonymer og offentlige synonymer
På engelsk har synonym og alias nesten samme betydning. Men i databaser er det to forskjellige ting. Spesielt i ORACLE-databaser, er begge deres bruk forskjellige. Synonymer brukes til å referere objekter til et skjema eller en database fra et annet skjema. Så synonymt er en databaseobjekttype. Men aliaser kommer på en annen måte. Det betyr; de er ikke databaseobjekter. Aliaser brukes til å referere tabeller, synspunkter og kolonner i spørringer.
Synonymer
Dette er en type databaseobjekter. De refererer til andre objekter i databasen. Den vanligste bruken av synonym er å referere til et objekt med et eget skjema ved å bruke et annet navn. Men synonymer kan opprettes for å referere gjenstandene til en annen database, i tillegg (i distribuerte databaser, ved hjelp av databasekoblinger). Tabeller, visninger, funksjoner, prosedyrer, pakker, sekvenser, materialiserte visninger, java klasse objekter og utløsere kan brukes som referanser for synonymer. Det finnes to typer synonymer.
- Private synonymer (kan bare brukes av brukeren som opprettet dem.)
- Offentlige synonymer (kan brukes av alle brukere som har de riktige rettighetene).
Her er det enkelt syntaks for å lage et synonym i en egen database, opprett synonym myschema. mytable1 for userA. tabell1 @ database_link1
Siden vi har et synonym som heter mytable1 i myschema for userA. tabell1 @ database_link1 (distribuert database tabell) , kan vi enkelt referere den distribuerte databasetabellen med mytable1. Vi trenger ikke å bruke det lange objektnavnet med databasekobling overalt.
Alias
Dette er bare et annet navn for en visning, et bord eller en kolonne i en forespørsel. De er ikke databaseobjekter. Derfor er aliaser ikke gyldige overalt i skjemaet / databasen. De er gyldige innenfor spørringen bare. La oss se dette eksempelet, velg kategorien1. col1 som c1, tab2. col2 som c2
fra bruker1. tab1 tab1, user1. tab2 tab2
der tab1. col1 = tab2. col2
Her er c1 og c2 kolonnaliaser, som brukes til tab1. col1 og tab2. col2 og tab1 og tab2 er tabellaliaser, som brukes til bruker1. tabell1 og bruker2. table2. Alle disse aliasene er gyldige innenfor dette spørsmålet.
Hva er forskjellen mellom Synonym og Alias (i ORACLE-databaser) ?
|