属性和使用ALTER创建的列之间的区别?

Abh*_*ali 6 mysql sql oracle

我是SQL的新手.我对'attribute'和我们使用'ALTER'创建的自定义列感到困惑.例如:

ALTER TABLE table_name
ADD column_name datatype
Run Code Online (Sandbox Code Playgroud)

这个'column_name'不是我们表中的新属性吗?

spe*_*593 8

混淆是由于我们用于逻辑"模型"和数据库实现的术语不同.

在(逻辑)实体关系模型(ERM)中,"实体"具有"属性".

当我们将模型实现到关系数据库中时,"实体"的"属性"被存储为"表"中的"列".

在(已实现的)关系数据库中,"表"包含"列".

我们向实体添加属性 ; 我们在表中添加.

(这与标准关系模型有关,并且忽略了在数据库中实现实体 - 属性 - 值(EAV)模型的任何讨论.)


例如:

ALTER TABLE order
  ADD COLUMN date_received DATETIME ;  
Run Code Online (Sandbox Code Playgroud)

这是添加一列,与列名date_receivedorder表.

我们添加列,因为在逻辑模型中,"Order"实体具有"收到日期"的属性.