Укажите, что атрибут таблицы получен в SQL

Есть ли способ в SQL, чтобы указать, что атрибут является производным? В настоящее время я создаю таблицу 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,
);

1 ответ

Если ты имеешь в виду 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;
Другие вопросы по тегам