Jailer Database
Tools提供数据库导出功能,可以在软件上连接到多个数据库,从关系数据库中导出一致的、引用完整的行集,您可以选择创建多个连接,支持PostgreSQL、oracle、mysql、MariaDB、Microsoft
sql server、IBM
Db2、SQLite等多种常用的数据库,连接完毕就可以在软件查询数据,分析数据库,创建提取模型,分析SQL脚本,从而筛选自己需要的数据将其导出到电脑使用,软件提供一个案例内容,可以在软件学习导出数据的方式,也可以结合官方的教程导出数据!
数据库子集和关系数据浏览工具。通过遵循基于外键或用户定义的关系在数据库中双向导航。从关系数据库中导出一致的、引用完整的行集。删除不违反完整性的数据。生成拓扑排序的 SQL-DML,分层结构的 XML。和数据库单元数据集。
从生产数据库中导出一致且引用完整的行集,并将数据导入开发和测试环境。
数据浏览。通过遵循基于外键或用户定义的关系在数据库中双向导航。
具有代码完成、语法突出显示和数据库元数据可视化功能的 SQL 控制台。
在不违反完整性的情况下删除和归档过时的数据,从而提高数据库性能。
API 提供对导出/导入功能的编程访问。http://jailer.sourceforge.net/api.html
包含一个演示数据库,您无需任何配置工作即可获得第一印象。
Jailer是一个用于数据库子集设置、模式和数据浏览的工具。
它从数据库中创建小片段,并允许您按照关系在数据库中导航。
非常适合创建测试数据的小样本或使用相关生产数据进行局部问题分析。
支持的数据库
由于使用了JDBC技术,基本上支持任何DMBS。
Jailer还使用额外的知识来应对主要数据库系统的特殊性。这些是:
PostgreSQL
Oracle
MySQL
MariaDB
Microsoft SQL Server
IBM Db2
SQLite
Sybase
Amazon Redshift
Firebird
Informix Dynamic Server
H2
HSQL (HyperSQL)
Derby
Interbase
导出数据
在本教程中,您将学习如何从 关系数据库分为拓扑排序的SQL-DML,即 以无外键的方式排序的 INSERT 语句序列 在执行过程中将违反禁忌。
目的
导出与员工相关的所有数据 将“Scott”命名为SQL脚本。
第 1 步。设置数据库
请参阅“准备”或使用演示数据模型“演示斯科特(7 个表)”
第 2 步。出口员工斯科特(无限制)
现在让我们 尝试导出名为斯科特的员工。为此,我们需要一个提取模型。
选择“员工”作为要从中提取的表,然后在“位置”字段中键入 T.NAME=“SCOTT”:
此提取模型描述一组包含 名为“SCOTT”的员工,与之相关的实体 员工、与这些实体关联的实体等 四。
导出此集(导出 数据按钮或 Tools>导出数据)。狱卒优先 要求输入新提取模型的文件名。叫它斯科特.csv。之后,将显示“数据导出”对话框:
在第一个字段中键入 scott.sql。这 定义要生成的导出文件的名称。
单击导出数据。进度面板显示:
Jailer 生成了一个文件scott.sql其中包含 Scott、他的老板的插入语句, 对于总统和斯科特的部门,工资等级和 项目参与。
但是,为什么所有其他员工也有声明呢?
单击“每个表的行数”概述中的“员工”。这将显示导致其他员工记录的所有流程步骤。
如您所见,分配给与 SCOTT 相同的部门的所有员工都将被导出。同样,属于相同工资等级的所有员工也是如此。
第 3 步。出口员工斯科特(受限)
出口 员工也需要输出他的老板和部门。 否则,导出的实体集将不一致(由于 基于外键约束的依赖关系)。不 限制使我们无法排除工资等级和 导出的奖金,但我们不这样做,因为结果集 将是不完整的。
另一方面,我们不想导出所有下属 员工,或与员工在同一部门工作的所有员工 斯科特。
排除下属、部门成员和“相同” 工薪级员工,我们必须限制一些 协会。
限制是 关联连接条件(在 SQL 语法中)的扩展 关联的一个方向。残疾(或错误)代表不满意 条件。
定义限制:
从部门到员工
从员工到员工(反向老板)
从工资级到员工
从项目到project_PARTICIPATION
从角色到PROJECT_PARTICIPATION
再次使用工具->导出数据。狱卒现在将仅导出与 斯科特。
删除数据
本教程向您展示如何在没有的情况下从数据库中删除行 违反其余数据的完整性。
删除数据与数据导出密切相关。一样 应用限制,不会删除任何行,这也不是 出口。这样,您始终可以通过以下方式恢复已删除的行 重新导入它们。
删除脚本包含 所有未关联的导出行的 DELETE 语句 根据受限数据模型的任何非导出行。 此外,可以从删除中排除表,以便其 行永远不会被删除(请参阅步骤 2)
目的
删除之前已结束的所有项目 2008-01-01. 删除所有关联的参与,但不删除角色 而且没有员工。
第 1 步。删除项目
创建新模型。选择 表 PROJECT 作为主题表并输入 T.END_DATE<'2008-01-01' 作为主体条件。
为了防止删除PROJECT_PARTICIPATION, 不与旧项目关联,但与 参与旧项目,禁用与角色的关联 到PROJECT_PARTICIPATION。对来自的关联执行相同的操作 员工到PROJECT_PARTICIPATION。
也禁用与员工的所有关联。这将减少集合 向参与的员工导出的员工行数 在一个旧项目中。
打开数据导出对话框。输入删除旧项目.sql作为名称 删除脚本并开始导出。
狱卒生成了删除两个旧 项目和六个相关的参与,也为 删除六名员工和一名角色。此角色是 参与一个旧项目,但不参与剩余项目。这 六名员工参加了一个旧项目,但没有参加 其余项目。
第 2 步。防止员工和角色 删除
打开数据模型编辑器(工具->数据模型编辑器)。编辑 表 EMPLOYEE 并打开“从删除中排除”复选框。做同样的事情 与表角色。
(从版本 6.7 开始,也可以通过表的 上下文菜单)
再次导出数据。 员工和角色现在已从删除中排除:
添加了 Java 11 及更高版本缺少的依赖项。
改进了对 CHAR/NCHAR 列的支持。
办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载办公软件 /
下载
网友评论