【问题标题】:Java DB: can i remove tables created by derbyJava DB:我可以删除由 derby 创建的表吗
【发布时间】:2026-02-04 08:10:01
【问题描述】:

使用:JDK 7、Eclipse Luna、Derby 10.8 我刚刚学会了如何使用 Derby/Java DB,我需要知道为什么它(derby)在我创建新 DB 时会创建这些模式和表:(来自 eclipse Data Tools 的图片)

【问题讨论】:

    标签: java eclipse jdbc derby javadb


    【解决方案1】:

    名称以“SYS”开头的通常称为“系统目录”或“系统表”,它们由 Derby 自己自动创建和管理。

    您可以在 Derby 参考手册中了解它们:http://db.apache.org/derby/docs/10.11/ref/

    例如,请参阅:Derby 系统表 (http://db.apache.org/derby/docs/10.11/ref/rrefsistabs38369.html) 和 SYSCS 诊断表 (http://db.apache.org/derby/docs/10.11/ref/rrefsyscsdiagtables.html)。

    另一方面,“APP”模式是普通用户模式。当每个用户连接到数据库并创建数据库对象(如表或视图)时,会为每个用户创建用户模式。如果您不提供自己的用户名,则“APP”用户是默认用户名,这就是您在那里看到它的原因。

    我不确定您为什么会看到“SQLJ”架构。您是否查看了它的内部以查看它包含哪些表?

    【讨论】: