По моему опыту, большинство рабочих администраторов баз данных в реальной жизни, вероятно, будут делать то, что вы предложили, и объявить ключевые столбцы как NUMBER, а не NUMBER (n).
Стоит спросить профессора, что делает этот подход нецелесообразным по его или ее мнению.Есть несколько вариантов, о которых я могу подумать
Предполагая, что вы используете инструмент моделирования данных для разработки своей схемы, разумный инструмент гарантирует, что тип данных ключа будет таким же, как в таблице, гдеон определяется как первичный ключ и в дочерней таблице, где он является внешним ключом.Если вы укажете длину для первичного ключа, принуждение ключа к генерации внешних ключей без ограничений длины будет нецелесообразным.Конечно, в противовес этому можно просто объявить столбцы как первичного, так и внешнего ключа как NUMBER.
Администраторы баз данных, как правило, очень разборчивы (и я имею в виду это как комплимент).Им нравится, когда все организовано "просто так".Добавление спецификатора длины к полю, будь то NUMBER или VARCHAR2, служит неявным ограничением, гарантирующим, что неверные данные не будут сохранены.В идеале вы должны знать, когда вы разрабатываете таблицу, разумную верхнюю границу для количества строк, которые вы вставляете за время жизни таблицы (т.е. если ваша таблица PERSON
содержит более 10 миллиардов строк, что-то, вероятно, будет серьезнонеправильно).Применение ограничений длины к числовым столбцам демонстрирует администратору базы данных, что вы провели такой анализ.
Сегодня, однако, это вряд ли действительно произойдет, по крайней мере, в отношении числовых столбцов, потому что это что-то, что больше соответствует методам планирования водопада, которые обычно включают такого рода подробное обсуждение проекта, и потому чтолюдей меньше интересует анализ роста, который традиционно проводился бы одновременно.Если бы вы разрабатывали схему базы данных 20 или 30 лет назад, было бы весьма обычным делом предоставить администратору базы данных табличную разбивку предполагаемого размера каждой таблицы при запуске и в течение следующих нескольких лет.Сегодня более экономически эффективно тратить больше на диск, чем тратить время на предварительный анализ.