如何有效地将大小分配给 sql 中的数据类型?

How to effectively assign sizes to datatypes in sql?

我正在 PostgreSQL 中设计一个 Employee 模式,我对数据类型的大小几乎没有疑问。例如,在 Address table for country 列中,我给出了 48,记住了 USSR 的完整形式,这样可以吗?对于 pin code 10 可以,还是我必须给 8?

同样,对于 company idemployee id 这样的列,我可以给 Big intInt 吗?

此外,我可以将 small int 用于 project members 列吗,因为数字可能不大?

实际使用 Small Int 数据类型的地方是什么?

您需要做一些 data profiling 来回答这些问题。如果不与企业交谈并查看数据,将很难回答这些问题。
data profiling 任务的输出之一是关于数据类型、长度、空值出现以及其他信息的建议。当然,这将取决于您的示例数据。
Company idemployee id 将取决于它们是否是业务键的自动递增数字。
Small Int 数据类型,顾名思义,当您不希望该字段有太多不同或太大的值时使用 - 例如 reference/lookup table 的标识字段(例如 GenderID = 1 对于 Gender = 'Male',GenderID = 2 对于 Gender = 'Female' 和 GenderID = 3 对于 Gender = 'Other').