在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 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告