gpt4 book ai didi

java - 关系数据库数组(H2,Java)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:07 25 4
gpt4 key购买 nike

关于如何实现数组,我似乎有两个选择,我想知道我应该选择哪个:

  • 使用 ARRAY 数据类型并(据我所知)将数据对象有效地序列化到数据库中(在我的情况下,它们只是包装的原始类型;不知道还有其他方法可以实现这一点)。
  • 使用单独的表并为每个数组项映射外键。

  • 如果您有这方面的经验(尤其是 H2),您会推荐哪个?

    最佳答案

    数组字段在数据库中通常是禁忌,它经常违反规范化原则。根据数据的用途,您需要将它们存储在与父表有 fk 关系的单独表中,或者存储在独立表中(当单个项目可能出现多次时更好,即 n-m 关系代替of n-0 ) 并使用 fk-fk 连接表来表示它们与父表之间的关系。

    在 SQL/JDBC 中,您可以经常使用 SELECT它们作为一个数组,取决于数据库是否支持 SQL 构造/函数。例如,在 PostgreSQL 中,您可以使用 ARRAY()您可以使用 ResultSet#getArray() 在 Java/JDBC 中获得此功能.

    关于java - 关系数据库数组(H2,Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2584667/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com