我必须在oracle数据库中存储多个可变长度的文本字段。我需要将它们定义为同一个表的列,以便在查询时能够对结果进行排序。
我无法知道字段内容的最大大小,其中大多数将少于100个字符,但可能会有数千个字符。此外,字段的数量会发生变化。
我正在考虑定义一个包含多个NCLOB列的表,这些列允许我在其中存储任何内容(非常短和非常长的文本)但是我想知道这是否是正确的设计。
要点:
由于
KL
答案 0 :(得分:1)
当您需要可变数量的字段时,最好将表拆分为父级和子级。然后,您可以有效地拥有任意数量的字段。您可以添加订单列来存储订购信息以订购结果。您可以通过连接两个表进行查询,并使用order by
子句对结果进行排序。您还可以添加外键约束以确保关系和数据完整性。
在内容长度可变的情况下,您可以使用varchar2(或nvarchar2)来存储文本日期。 Varchar2可以容纳最多4000个字节的字符。如果您知道内容的最大长度可能超过4000个字节,则应使用CLOB(或NCLOB)。