在DBMS中,重新命名和別名有什麼區別?


在本文中,我們將學習重新命名和別名。當我們在DBMS的背景下討論時,這兩者都有其特定的作用。資料庫元素的重新命名和別名提供了抽象層,並使關係的屬性對檢視者更具可讀性。大多數情況下,資料庫儲存關鍵資訊,重新命名和別名的概念在有效表示資料方面發揮著重要作用。讓我們瞭解這些概念、它們的語法以及它們之間的區別。

什麼是別名?

別名是在資料庫管理系統中賦予列的替代名稱。此做法提供了一個優勢,即可以為列分配獨特且易於識別的名稱,從而增強其特異性。

讓我們看看它的語法

Select columnName As AliasName from TableName;

例如

考慮一個名為“Employee”的表,其中包含諸如姓名、員工ID、薪資、職位和入職日期等屬性。在僅需顯示“薪資”列並將其命名為“Annual-Salary”的情況下,別名的概念就發揮了作用。這是透過使用“AS”關鍵字實現的,該關鍵字用作對分配的別名的引用。

原始表

員工ID 員工姓名 薪資
101 Sam 20000
102 Carl 30000
103 Tom 40000
104 Nick 70000

Select empid, Salary AS Annual_Salary from Employee;

輸出

員工ID 年度薪資
101 20000
102 30000
103 40000
104 70000

您可以在一個查詢中對多個列應用別名概念。

表的別名

它有助於區分可能具有相同名稱的不同表的列。

讓我們透過以下示例瞭解表別名的概念

經理表

經理ID 員工ID 經理姓名
1001 101 Sam
1002 104 Nick

員工表

員工ID 員工姓名 薪資
101 Sam 20000
102 Carl 30000
103 Tom 40000
104 Nick 70000

Select E.empid , M.empid , Salary from Employee As E , Manager As M

Where E.empid = M.empid ;

輸出

員工ID 薪資
101 20000
104 70000

在前面提供的示例中,“E”和“M”分別用作“Employee”和“Manager”表的別名。當區分這些表中的“empid”值時,別名的使用變得特別重要。這就是別名概念發揮作用的地方。“WHERE”子句在此上下文中有助於識別在兩個表中都具有相同“empid”值的共享行。

什麼是重新命名?

到目前為止,您已經探索了別名,現在您將瞭解資料庫中的重新命名概念以及如何使用它。它用於更改物件、表或列的名稱。此做法的目的是為這些元素賦予有意義且相關的名稱。這些指定的名稱雖然是臨時的,而不是永久的,但會更改表的結構。

讓我們看看它的語法

RENAME TableName TO NewName

例如,考慮一個“Employee”表;透過重新命名,我們可以將其轉變為更具上下文和表達力的標題。

Rename Employee TO Emp;

對於不同的資料庫,此語法可能有所不同,並且不同的資料庫可能有自己的規範和規則集,在重命名錶和列名時必須遵循這些規範和規則集。

透過更改列名(例如,將salary更改為YearlySal),您可以提高資料的可讀性和可理解性,同時保留表的原始結構。

語法

ALTER TABLE TableName RENAME COLUMN OldColumn TO New Column;

例如

ALTER TABLE EMP RENAME Salary TO YearlySal;

輸出

員工ID 年度薪資
101 20000
102 30000
103 40000
104 70000

重新命名和別名之間的區別

“別名”和“重新命名”是經常在資料庫上下文中使用的概念,每個概念都扮演著不同的角色。讓我們透過使用下面提到的表來了解它們之間的區別-

特徵 別名 重新命名

目的

別名在特定查詢中為表或列提供臨時或替代名稱。其目的是增強查詢的可讀性,簡化複雜的查詢,以及為查詢結果中的列或表示式分配更具描述性的標籤。這些別名僅限於單個查詢的範圍,並且不會影響架構中資料庫物件的正式名稱。

重新命名涉及更改資料庫物件(例如表、列、索引或約束)在實際資料庫架構中的名稱。此名稱更改在整個資料庫中都是永久性的。當努力使名稱與物件的真正目的保持一致或糾正命名錯誤時,重新命名非常有用。

範圍

這會臨時更改名稱,不會影響表的結構。

這會永久更改名稱,例如上述情況中的將表名Employee更改為emp。

關鍵字使用

在別名的情況下,列名是透過使用“AS”或不使用“AS”來實現的

在此,我們可以使用Alter table語句以及RENAME來更改列名

示例

SELECT e.empid, d.empid, e.first_name AS "FirstName", d.department_name
FROM employees AS e, Department AS d
Where e.empid=d.empid
在此示例中,“e”和“d”用作表別名,“FirstName”用作列別名。

ALTER TABLE old_table_name
RENAME TO new_table_name;
以上將表名修改為“new_table_name”。

結論

別名提供了一個在單個查詢中使用的臨時標籤,以增強查詢清晰度併為列或表臨時分配名稱。相反,重命名錶示一個永續性修改,它更改整個資料庫架構中資料庫物件的實際名稱。

更新於:2023年11月6日

424 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告