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