Forskellen mellem synonym og alias

Indholdsfortegnelse:

Forskellen mellem synonym og alias
Forskellen mellem synonym og alias

Video: Forskellen mellem synonym og alias

Video: Forskellen mellem synonym og alias
Video: Glamour – et verdensproblem 2024, Juli
Anonim

Synonym vs Alias (i ORACLE-databaser) | Private synonymer og offentlige synonymer

På engelsk har synonym og alias næsten de samme betydninger. Men i databaser er det to forskellige ting. Især i ORACLE-databaser er begge deres brug forskellig. Synonymer bruges til at henvise til objekter i et skema eller en database fra et andet skema. Så synonym er en databaseobjekttype. Men aliaser kommer på en anden måde. Det betyder; de er ikke databaseobjekter. Aliaser bruges til at henvise til tabeller, visninger og kolonner i forespørgsler.

Synonymer

Dette er en type databaseobjekter. De henviser til andre objekter i databasen. Den mest almindelige brug af synonym er at henvise til et objekt i et separat skema ved at bruge et andet navn. Men synonymer kan også oprettes for at henvise til objekterne i en anden database (i distribuerede databaser ved hjælp af databaselinks). Tabeller, visninger, funktioner, procedurer, pakker, sekvenser, materialiserede visninger, java-klasseobjekter og triggere kan bruges som referencer til synonymerne. Der er to typer synonymer.

  1. Private synonymer (kan kun bruges af den bruger, der har oprettet dem.)
  2. Offentlige synonymer (kan bruges af alle brugere, der har de relevante rettigheder)

Her er en simpel syntaks til at oprette et synonym i en separat database, create synonym myschema.mytable1 for [email protected]_link1

Da vi har et synonym ved navn mytable1 i myschema for [email protected]_link1 (distribueret databasetabel), kan vi nemt henvise til den distribuerede databasetabel ved hjælp af mytable1. Vi behøver ikke bruge det lange objektnavn med databaselink over alt.

Alias

Dette er blot endnu et navn for en visning, en tabel eller en kolonne inde i en forespørgsel. De er ikke databaseobjekter. Derfor er aliaser ikke gyldige over alt i skemaet/databasen. De er kun gyldige i forespørgslen. Lad os se dette eksempel, vælg tab1.col1 som c1, tab2.col2 som c2

fra bruger1.tab1 fane1, bruger1.tab2 fane2

hvor tab1.col1=tab2.col2

Her er c1 og c2 kolonnealiasser, som bruges til tab1.col1 og tab2.col2, og tab1 og tab2 er tabelaliaser, som bruges til user1.table1 og user2.table2. Alle disse aliaser er kun gyldige i denne forespørgsel.

Hvad er forskellen mellem Synonym og Alias (i ORACLE-databaser)?

Synonymer er en databaseobjekttype. Men aliaser er blot et navn, der henviser til en tabel, visning eller en kolonne inde i en forespørgsel. Ikke et databaseobjekt

Synonymer kan oprettes for tabeller, visninger, funktioner, procedurer, pakker, sekvenser, materialiserede visninger, java-klasse objekttyper og triggere. Men aliaser bruges kun til visninger, tabeller og deres kolonner

Anbefalede: