У этого есть две перспективы - во-первых, какова сфера бизнеса?В вашем примере вы использовали «подписку» - они часто продаются как «ежемесячные», «еженедельные» и т. Д. При прочих равных условиях я предпочитаю, чтобы моя база данных соответствовала бизнес-концепциям, когда это возможно.Вы можете даже пойти так далеко, что создадите таблицу «subscription_type» и получите продолжительность описания из типа.
Это часто конфликтует с необходимостью выполнения вашей базы данных.С этой точки зрения я бы определил, какие будут наиболее распространенные запросы, и посмотрю, сможете ли вы заставить проект вашей базы данных работать с минимальным количеством возможных преобразований или вычислений.Например, поиск всех записей, срок действия подписки которых истекает в определенную дату, намного проще (и, вероятно, быстрее), если вы можете запросить dateEnd