Как мне записать дату окончания
адрес электронной почты без
атрибут в моей таблице электронной почты, сидя как
Нулевое ожидание для заполнения?
Пуристический подход к получению даты окончания заключается в создании новой таблицы с тем же ключом, что и у существующей таблицы, и датой окончания:
create table email_end_date(
email datatype not null
,end_date datatype not null
,primary key(email)
,foreign key(email) references the_email_table(email)
);
Эта таблица будет в 6NF.
Я бы дважды подумал, прежде чем идти по этому пути, и попытаться проанализировать шаблоны запросов и распределение данных. Если большинству запросов нужно проверять конечную дату, такой подход приведет к снижению производительности. Чем больше у вас плотных данных (высокий процент писем с конечной датой), тем хуже будет этот подход.
С другой стороны, если ни один или несколько ваших запросов не заботятся о дате окончания, а те запросы, которые действительно заинтересованы в датах окончания, вышеуказанный подход часто будет работать лучше. Чем больше у вас разреженных данных (низкий процент электронных писем с конечной датой), тем лучше будет этот подход.