2

SQL中有没有办法指定一个属性是派生的?目前,我正在创建一个 table Employee,它有一个派生属性age,但我不知道如何表示它(恐怕没有办法做到这一点):

create table Employee(
    Id int NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
    Age int,  # How to indicate this is a derived attribute?
    Country varchar(255),
    City varchar(255),
    Birthrate double,
);
4

1 回答 1

0

如果您的意思是age源自birthrate,我认为您应该考虑您是否真的需要age表格中的列。如果您不在这里创建数据仓库,那么每次计算年龄将比在生产中维护此列要明智得多...想想看 - 每次有人过生日时都应该重新计算此列!

为方便起见,您始终可以为其创建视图,如下所示:

CREATE VIEW Employee_view AS 
  SELECT 
    e.Id,
    =>here some database specyfic calculation to calculate age<= as Age,
    e.Country,
    e.City,
    e.Birthrate
 FROM Employee e;
于 2016-03-01T22:36:42.760 回答