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: Skillnaden mellan adverb och adverbial (era frågor) 2024, November
Anonim

Synonym mot alias (i ORACLE-databaser) | Privata synonymer och offentliga synonymer

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

Synonymer

Det här är en typ av databasobjekt. De hänvisar till andra objekt i databasen. Den vanligaste användningen av synonym är att hänvisa ett objekt till ett separat schema med ett annat namn. Men synonymer kan också skapas för att hänvisa objekt till en annan databas (i distribuerade databaser, med hjälp av databaslänkar). Tabeller, vyer, funktioner, procedurer, paket, sekvenser, materialiserade vyer, java-klassobjekt och utlösare 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 rätt behörighet)

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 med namnet mytable1 i myschema för [email protected] _link1 (distribuerad databastabell) kan vi enkelt hänvisa den distribuerade databasstabellen med mytable1. Vi behöver inte använda det långa objektnamnet med databaslänk överallt.

Alias

Dessa ä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 detta exempel, 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 denna fråga.

Vad är skillnaden mellan Synonym och Alias (i ORACLE-databaser)?

Synonymer är en databastyp. Men alias är bara ett namn för att hänvisa till en tabell, vy eller en kolumn i en fråga. Inte ett databasobjekt

Synonymer kan skapas för tabeller, vyer, funktioner, procedurer, paket, sekvenser, materialiserade vyer, java-klass objekttyper och utlösare. Men alias används endast för vyer, tabeller och deras kolumner

Eftersom synonymer är ett databasobjekt är de giltiga i schemat (privat synonym) eller inne i databasen (offentlig synonym). Men alias är giltiga i frågan där de används

Varje schema behöver "skapa synonym" -behörighet för att skapa synonymer. Men det finns inget privilegium att använda alias

Rekommenderas: