我正在设计一个新应用程序的数据库,这是我已经完成了一千次,但在这种情况下,我突然开始怀疑我以前从未停止过的某些方面。对于以下事项是否有一些标准/建议?
我知道每个应用程序都有自己特定的要求需要考虑,但我觉得必须有一些比直觉和常识更具体的东西。
一如既往,将非常感谢帮助。
答案 0 :(得分:1)
NUMBER(15,2)
,实际上取决于您希望遇到的数字有多大。
VARCHAR2(30)
,请不要伤害我,如果它应该更大 - 不记得长度本身只是VARCHAR允许格式化的灵活性。
如果使用VARCHAR2,我看不到查看最小大小的重点。假设字段最大化,对物理模型的关注围绕着数据库将随着时间消耗多少空间。
最大VARCHAR2(4000)
答案 1 :(得分:1)
EDIFACT通常使用35作为Name字段的大小,我将其复制(并将其作为基础进行记录)。较新的东西往往在XML中定义,通常不会进入字段长度定义。
或者,加拿大邮局recommends每个地址行不超过40个字符。
注意,这是字符而不是字节。调整大小应考虑多字节字符,但显然并非所有名称都是最大长度。我已经使用每个名称十个字符作为评估估算的广泛近似值,但在国家,种族等方面可能会有很大差异。
答案 2 :(得分:1)
什么是用于存储货币的推荐数据类型
这取决于什么类型的货币,以及准确程度。
如果它是美分和美元,四舍五入到最接近的分数,那么NUMBER(12,2)
允许您存储-999,999,999,999.99
和999,999,999,999.99
之间的金额 - 这对于大多数货币应该足够了。
如果您需要存储利率计算的中间结果,则可能需要更高的精度,例如: NUMBER(15,5)
。
如果你在谈津巴布韦元,也许你应该选择最大NUMBER
代替:)
存储电话号码(国际)的建议尺寸
VARCHAR2(30)就足够了。如果时间太长,您的用户将在那里输入各种垃圾数据。
建议使用名字/姓氏的最小尺寸/ 建议存储评论块的最小尺寸
这些不适用,因为您在Oracle中 - 使用VARCHAR2,因此您不必担心最小大小。您需要指定的是最大尺寸。
答案 3 :(得分:1)
我知道您要求评论块的最小大小,但对于大型自由文本区域,您应该考虑使用CLOB值。 Oracle非常聪明地处理这些事情,如何存储数据等等。您永远不必担心大小。此外,您通常可以假装它们是VARCHAR2列,以便于操作。