在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 |
结论
别名提供了一个在单个查询中使用的临时标签,以增强查询清晰度并为列或表临时分配名称。相反,重命名表示一个持久性修改,它更改整个数据库架构中数据库对象的实际名称。