Skillnaden mellan synonym och alias

Innehållsförteckning:

Skillnaden mellan synonym och alias
Skillnaden mellan synonym och alias

Video: Skillnaden mellan synonym och alias

Video: Skillnaden mellan synonym och alias
Video: Tao skillnaden mellan kunskap och visdom 2024, Juli
Anonim

Synonym vs Alias (i ORACLE-databaser) | Privata synonymer och offentliga synonymer

På engelska har synonymer och alias nästan samma betydelser. Men i databaser är det två olika saker. Speciellt i ORACLE-databaser är båda deras användning olika. Synonymer används för att referera objekt i ett schema eller en databas från ett annat schema. Så synonym är en databasobjekttyp. Men alias kommer på ett annat sätt. Det betyder; de är inte databasobjekt. Alias används för att referera tabeller, vyer och kolumner i frågor.

Synonymer

Dessa är en typ av databasobjekt. De hänvisar till andra objekt i databasen. Den vanligaste användningen av synonym är att hänvisa till ett objekt i ett separat schema genom att använda ett annat namn. Men synonymer kan skapas för att referera till objekten i en annan databas också (i distribuerade databaser, med hjälp av databaslänkar). Tabeller, vyer, funktioner, procedurer, paket, sekvenser, materialiserade vyer, javaklassobjekt och triggers kan användas som referenser för synonymerna. Det finns två typer av synonymer.

  1. Privata synonymer (kan endast användas av användaren som skapade dem.)
  2. Offentliga synonymer (kan användas av alla användare som har lämpliga rättigheter)

Här är en enkel syntax för att skapa en synonym i en separat databas, skapa synonym myschema.mytable1 för [email protected]_link1

Eftersom vi har en synonym som heter mytable1 i myschema för [email protected]_link1 (distribuerad databastabell) kan vi enkelt referera till den distribuerade databastabellen med mytable1. Vi behöver inte använda det långa objektnamnet med databaslänk överallt.

Alias

Detta är bara ett annat namn för en vy, en tabell eller en kolumn i en fråga. De är inte databasobjekt. Därför är alias inte giltiga överallt i schemat/databasen. De är endast giltiga i frågan. Låt oss se det här exemplet, välj tab1.col1 som c1, tab2.col2 som c2

från user1.tab1 tab1, user1.tab2 tab2

där tab1.col1=tab2.col2

Här är c1 och c2 kolumnalias, som används för tab1.col1 och tab2.col2, och tab1 och tab2 är tabellalias, som används för user1.table1 och user2.table2. Alla dessa alias är endast giltiga i den här frågan.

Vad är skillnaden mellan synonym och alias (i ORACLE-databaser)?

Synonymer är en databasobjekttyp. Men alias är bara ett namn som refererar till en tabell, vy eller en kolumn inuti en fråga. Inte ett databasobjekt

Synonymer kan skapas för tabeller, vyer, funktioner, procedurer, paket, sekvenser, materialiserade vyer, java-klassobjekttyper och triggers. Men alias används bara för vyer, tabeller och deras kolumner

Rekommenderad: