database editor(优秀的数据库管理工具)
databaseeditor文章列表:
- 1、优秀的数据库管理工具
- 2、TSMaster如何实现checksum和rolling counter的本地化支持
- 3、CKEditor5 + SpringBoot实战三:SpringData JPA数据持久化
- 4、开源资讯DBeaver 6.3.3 发布,可视化数据库管理平台
- 5、亲测好用数据库管理软件:Valentina Studio Pro for Mac
优秀的数据库管理工具
RazorSQL Mac激活版是Mac平台上一款优秀的数据库管理工具,RazorSQL Mac破解版主要用来查询、编辑、浏览和管理数据库,支持MySQL,OpenBase、Oracle、SQLite、SQL Server等数据库,赶紧下载试试吧!
软件介绍
RazorSQL是用于Windows,Mac OS X,macOS,Linux和Solaris的SQL查询工具,数据库浏览器,SQL编辑器和数据库管理工具。
RazorSQL已经在超过30个数据库上进行了测试,可以通过JDBC或ODBC连接到数据库。
功能特点
- 用于创建SQL查询的SQL编辑器。
- 一个数据库导航用于浏览数据库对象。
- 用于创建,编辑,删除,描述,更改和查看表,视图,索引和序列的可视化工具
- 用于创建,编辑,删除和执行存储过程,函数和触发器的Visual Tools
- 一个强大的编程编辑器,嵌入了强大的 EditRocket代码编辑器,支持20种编程语言,包括SQL,PL / SQL,TransactSQL,SQL PL,HTML,XML等。
- 导出工具 - 导出各种格式的数据
- 导入工具 - 将分隔文件,Excel文件或固定宽度文件的数据导入表
- 使用内置的关系数据库引擎(HSQLDB)运行,并且不需要最终用户管理
- 甲生成DDL工具用于产生表,视图,和索引DDL。
- 用于比较多个连接中的表或查询的表/ SQL查询比较工具
- 数据库数据搜索工具,用于搜索单个或多个数据库表格并查看数据。
- 用于搜索数据库对象的数据库对象搜索工具。
- 备份工具,如数据库备份工具和表备份工具
- 许多流行数据库(如MySQL,Oracle,DB2,PostgreSQL,SQLite,MS SQL Server和MS Access)的数据库转换工具。
- 自动列和自动表查找
- SQL格式化程序
- SQL查询构建器工具
- SQL查询调度程序工具
- 命令行界面
- PHP桥接器通过支持PHP的Web服务器远程连接到MySQL,PostgreSQL和SQL Server数据库
- 通过ASP启用的Web服务器远程连接到MS SQL Server数据库的ASP桥
- 用于为各种操作生成SQL的SQL GUI工具
- 使用数据库编辑器编辑,删除和插入数据库数据
- 适用于所有主要操作系统,包括Windows,Mac OS X,MacOS,Linux,Solaris和任何其他启用Java的操作系统
- 使用Apache Cassandra,Apache Derby / JavaDB,Daffodil DB,DB2,DBASE,DynamoDB,Firebird,FrontBase,H2,HSQLDB / HyperSQL,Informix,Ingres,Interbase,Mckoi,Microsoft Access,Microsoft SQL Server,Mimer SQL,MongoDB,MySQL ,Netezza,OpenBase,Oracle,Pervasive,Pointbase,PostgreSQL,Redshift,Salesforce,SimpleDB,Solid,SQLite,Sybase Adaptive Server Enterprise,Sybase SQL Anywhere和Teradata
TSMaster如何实现checksum和rolling counter的本地化支持
一、旧版本 VS 新版本
旧版本
首先回顾一下旧的方法,也就是使用小程序对每个信号进行模拟,打开这个示例随后按F5启动仿真,就可以看到不断递增的rolling counter,也就是蓝色的这个三角波。
我们展开trace,从中把这个checksum拖到图形窗口中,就可以观察checksum的实时曲线。再看我们的小程序代码,在pretx的回调函数中,需要写程序来直接控制checksum和rolling counter的信号,倘若涉及到大型的网络仿真,那么就需要花费大量的时间,每个信号进行逐个处理容易出错,同时也会带来效率的问题。
新版本
新功能则不需要手动处理每个信号,我们来新建一个工程试一试。打开工程-工程目录,找到TSMaster的安装包自带的示例数据库。例如powertrain,我们将它拖入,可以看到数据库已经载入。
我们选择一帧报文,以ABS data为例,可以看到这个报文并没有checksum和rc,我们需要修改数据库给他加上这两个信号,点击编辑按钮,打开数据库编辑器,我们新建两个信号,分别命名为ABS checksum。checksum一般是8位的无符号,然后还有一个是ABS。rc一般是4位无符号,再将这两个信号拖入ABS data这个报文里面,随后我们打开这个报文的配置窗口,将dlc改为8,切换到layout。
我们可以将我们新建的rc拖动到合适的位置,接下去是设定checksum的位置,这是我们新增的checksum信号,由于checksum是保护报文的数据内容的,一般位于报文的第一个字节或者是最后一个字节。在这里我们把这个信号拖到最后一个字节,这意味着保护的范围是从0到6字节,点击确定,再点击保存,再点击关闭。可以看到TSMaster会自动刷新所编辑的数据库。
这时候我们展开报文,选择abs data,切换到布局窗口,我们就可以看到我们新增的两个信号,一个是rolling counter,在52-55位之间;另外一个是checksum,在56-63之间。新增的checksum和rc已经按照我们的要求设置成功了。
二、checksum和rc的本地化支持
>关闭数据库编辑器,切换到仿真,打开rbs窗口,双击激活engine节点,设置为自启动仿真,随后按下F5启动仿真,这就可以让rbs来仿真engine这个节点的所有报文。
切换到分析,打开trace窗口,展开abs data报文,可以看到我们新增的rc和checksum都是默认的0,这时候就需要进行配置,回到rbs窗口,在rc信号上点击右键,设置它为rolling counter信号,设置将会立即生效,可以看到rolling counter在变化。
>接着打开一个图形窗口,把rc拖入图形就可以看到锯齿波,说明rc已经生效,接下来就要配置checksum。由于checksum涉及到crc算法库的安装和编辑,这个信号是不能够实时的去配置它的,所以我们先按F6停止仿真,再在checksum信号上右击选择设为checksum信号,那么第一次设置会看到系统会安装默认的crc的算法库,并且在安装成功后会弹出crc算法列表。
我们可以随便选一个算法比如说crc 8。这个时候我们就已经成功的将crc 8的算法和这个checksum信号产生了关联。此时还有一个配置项需要确认,那就是这个checksum信号的保护范围,默认是从0字节开始,保护后面7个字节,那么这是可以随时更改。我们可以点击右键,选择编辑crc算法参数,就可以看到已经配置过的crc信号表。
那么双击这个表里面任何一个信号,还可以继续修改他关联的crc算法,这个时候我们先不修改算法,我们只需要知道这个窗口是可以更改保护的字节起始以及保护的字节数就可以了。那么我们现在先点击确认,然后我们再次按下F5启动仿真,展开abs data报文,我们就可以看到checksum已经在刷新了。
>我们把这个信号拖到图形窗口中,就可以看到了checksum的实时曲线,而一般情况下,checksum的算法都是公司自定义的,我们完全可以改写默认的crc的算法库来做到这一点。点击仿真-小程序库,可以看到默认的crc的算法库也不过就是一个小程序库而已,他提供了21个默认的算法。
我们可以在c代码编辑器中找到这个算法库的源代码,注意的是这个小程序是以库文件的方式提供的,是没有独立的启动和停止按钮的,我们在此制定一个crc算法。点右键添加自定义函数取名为mycrc,参数表可以随便选一个copy,然后我们可以把现有的算法的内容抄进来。比如说这个crc8,然后在这个基础上进行修改,我们可以随意的改,比如说将这个poly = 0x17,如果要想把我们新的这个函数安装到系统中,只需要编译这个算法库就可以,当然编译的过程需要保证。
首先要停止仿真,因为当前的这个算法库依然在被rbs引擎使用,此时我们再点击编译就可以看到编译成功,并且已经自动安装到我们的系统中。
三、如何实现实时曲线
我们打开总线仿真,在这个信号上点右键,重新选择一下crc算法,选择我们的mycrc,就可以关联成功。然后我们按F5启动仿真切换到图形窗口,就可以看到不一样的checksum的实时曲线,这是因为这个整个报文里面就只有rolling counter的一个信号在变化,所以这个checksum的信号的曲线具有一定的规律,那么同时我们也可以让其他的信号也动起来,这该怎么做呢?
1、手动设置方法
最快的一种是使用发送窗口的信号生成器。我们可以首先在rbs窗口中将这个报文的周期改为0,那这样的话rbs就不会自动发送这个报文,然后我们切换到发送窗口,点击添加来自数据库的报文,选择我们的abs data,我们点击发送,然后切换到图形窗口,就可以看到跟之前一样的曲线。这是新功能的强大之处,也就是不管该报文在系统的哪个模块被发出,只要rbs是激活状态,报文的checksum和rolling counter就能够被正确配置。
接下来我们可以激励其中的其他信号,比如说carspeed这个信号,我们可以将生成器选择为正弦波,配置偏移量为150,因为它的范围是0到300,然后点击应用关闭,点击启动生成,这个时候就可以看到checksum发生了变化,这时候我们把carspeed拖进来,就可以看到所有信号的实时曲线。这时候的checksum就显示出了无规则的变化,这是因为同时有了两个信号在变化,那么以上就是checksum和rolling counter的手动设置方法。
2、自动设置方法
我们还可以通过小程序API来做到自动设置,首先可以清空这两个信号的配置,只要在上面点击右键,选择设为普通信号,那这两个信号就不再具有功能,可以看到这两个信号就变成了默认的值,然后我们可以打开自动化模块,新增一个函数调用,搜rc可以从中找到跟rolling counter有关的就是这个can rbs set rc Signal。他只有一个传入参数,就是信号的数据库地址。接着我们到总线仿真里面,把这个rc信号顶右键的数据库地址拷贝过来,这样就实现了这个信号的设置。
那么我们可以再增加一个函数调用,按回车新建一个新的动作,然后我们选择crc相关的函数,那么可以看到这个函数名叫set crc Signal,他有4个参数。第一个也是信号地址,我们就如法炮制,选择checksum的数据库地址,填入后第二个就是算法的名称,那这个名称其实就是刚才我们所选的mycrc,那么在这个前面需要加上小程序的前缀,所以是crc.mycrc。那么小程序可以看到他的名称是crc,所以只需要把这个这个名称加上点,再加上函数名抄过来就可以了,然后他所保护的字节起始是从第0个字节开始,往后保护7个字节,那么这样就算设置完毕。
CKEditor5 + SpringBoot实战三:SpringData JPA数据持久化
在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData jpa数据持久化,CKEditor5的安装,CKEditor图片上传,CKEditor插入视频,获取/设置CKEditor内容等。
项目源码
本系列文章的项目源码同步更新至码云 和 Github ,你可以任选其一下载源码到本地。项目地址如下:
码云:https://gitee.com/ramostear/CKEditor5-SpringBoot
Github:https://github.com/ramostear/CKEditor5-SpringBoot
你也可以通过Git命令行工具下载项目源码,命令如下(二者任选其一):
git clone https://gitee.com/ramostear/CKEditor5-SpringBoot.git
git clone https://github.com/ramostear/CKEditor5-SpringBoot.git
接上篇内容,本篇的主要内容是引入mysql数据库驱动依赖和SpringData JPA依赖,然后创建内容实体,并完成数据持久层(DAO)和业务逻辑层(Service)相关代码的设计和实现。
引入依赖
前面的内容中我们分析过,需要将CKEditor5编辑的内容存储到数据库中(图片数据存储到磁盘)。本项目使用MySQL数据库来存储数据。数据的持久化过程选用SpringData JPA进行实现,除此之外,我们借用Alibaba Druid来管理数据库连接池。
在项目根目录下找到并打开pom.xml文件,然后向文件中添加如下的依赖:
SpringData JPA
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>
MySQL Driver
<dependency> <groupId>mysql</groupId> <artifactId>MySQL-connector-java</artifactId> <version>5.1.47</version> <scope>runtime</scope></dependency>
Alibaba Druid
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.14</version></dependency>
项目配置
依赖包加载完成,我们需要对项目中的JPA和数据源进行配置。配置的内容包括数据库的类型,数据库方言,数据源类型,数据库驱动以及连接数据库所需要的用户名,密码和连接地址。详细配置如下图:
在“src/main/resources”目录下找到application.properties 文件,并将该文件更名为application.yml 并添加下列配置信息:
spring: jpa: database: mysql show-sql: true hibernate: ddl-auto: update database-platform: org.hibernate.dialect.MySQL5Dialect properties: hibernate.format_sql: true datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver username: root password: root url: jdbc:mysql://localhost:3306/db_ckeditor_springboot?useUnicode=true&useSSL=false&characterEncoding=utf8
如上图所示:
①:指定数据库类型为MySQL数据库
②:在启动项目时,如果数据库表和对应的实体之间的映射不一致,则更新数据库表,并保留原有数据
③:配置数据库方言为org.hibernate.dialect.MySQL5Dialect
④:配置数据源类型为Alibaba Druid Datasource
⑤:配置数据库驱动
⑥:数据账户名
⑦:账户密码
⑧:数据库的连接地址
创建数据库
在上一步中,我们配置的数据库连接地址为:jdbc : mysql://localhost:3306/db_ckeditor_springboot?useUnicode=true&useSSL=false&characterEncoding=utf8 。因此,我们需要创建一个名为db_ckeditor_springboot的数据库。你可以使用Navicat或SQLyog这一类的可视化软件来创建数据库,也可以使用MySQL命令行窗口来创建。这里我们使用命令行的方式来创建db_ckeditor_springboot数据库,命令如下:
CREATE DATABASE `db_ckeditor_springboot` `CHARACTER SET utf5 COLLATE utf8_bin`;
USE `db_ckeditor_springboot`;
提示:
在配置环节,我们配置了spring.jpa.hibernate.ddl-auto=update。因此,我们不需要再手动创建数据库表,当项目中存在对应的实体类时,SpringData JPA为自动生成表。
spring.jpa.hibernate.ddl-auto有四个可选配置项:
create:每次加载 hibernate 时都会删除上一次的生成的表,然后根据你的 model 类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。[删除-创建-操作]
create-drop:每次加载 hibernate 时根据 model 类生成表,但是 sessionFactory 一关闭,表就自动删除。[删除-创建-操作-再删除]
update:最常用的属性,第一次加载 hibernate 时根据 model 类会自动建立起表的结构(前提是先建立好数据库),以后加载 hibernate 时根据 model 类自动更新表结构,即使表结构改变了,但表中的行仍然存在,不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。[没表-创建-操作 | 有表-更新没有的属性列-操作]
validate:每次加载 hibernate 时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。[启动验证表结构,验证不成功,项目启动失败]
创建实体
在com.ramostear.ckeditor包下创建model包用来存放实体类,为了减少编码工作量,这里我们需要引入Lombok依赖包。在pom.xml文件中添加如下依赖:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>
接下来,我们创建一个用于存储CKEditor编辑器内容的实体类Content,为了简化操作,该类只设计三个属性,具体如下:
属性名类型数据库类型idIntegerint 自增,不允许为空textStringtext, 默认值为””createTimeDateDate,默认值为CURRENT_TIMESTAMP
Content.java类详细信息如下:
①:@Table为实体类指定数据库表。
②:@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键、@GeneratedValue提供了主键的生成策略。
③:@Lob指定持久属性或字段应作为大对象持久保存到数据库支持的大对象类型。
④:@PrePersist在持久化之前自动填充实体属性。
以下是Content.java的源代码:
package com.ramostear.ckeditor.model;import lombok.Data;import org.hibernate.annotations.Type;import javax.persistence.*;import java.util.Date;@Data@Entity@Table(name = "content")public class Content { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Lob @Type(type = "text") @Column(name = "text") private String text; @Temporal(TemporalType.TIMESTAMP) @Column(name = "create_time",columnDefinition = "timestamp default CURRENT_TIMESTAMP") private Date createTime; @PrePersist public void prePersist(){ this.id = null; this.createTime = new Date(); if(text == null || text.trim().equals("")){ text = ""; } }}
提示:
@Data是@Getter,@Setter,@RequiredArgsConstructor,@ToString和@EqualsAndHashCode的组合注解(快捷方式),用于生成getter(),setter(),toString()等方法。
创建持久化类
SpringData JPA是spring在ORM框架和JPA规范的基础上封装的一套JPA应用框架,可以使开发者使用极简的代码实现对数据库的访问和操作。它提供了包括增删改查等在内的基本功能,且易于扩展。因此,创建持久化类最快的方式是继承SpringData JPA提供的基础类。我们将继承SpringData JPA的JpaRepository类来实现内容数据的增删改查功能。下面是ContentRepository.java类的代码明细:
package com.ramostear.ckeditor.repository;import com.ramostear.ckeditor.model.Content;import org.springframework.data.jpa.repository.JpaRepository;public interface ContentRepository extends JpaRepository<Content,Integer> {}
提示:
该类放置在“com.ramostear.ckeditor.repository”包下,在一开始的时候,我们只需要继承JpaRepository接口即可。
创建业务逻辑类
首先,我们仅提供一个包含增、删、改、查四个功能的业务逻辑接口(ContentService.java),并在其实现类(ContentServiceImpl.java)中实现接口中定义的方法。
ContentService.java
package com.ramostear.ckeditor.service;import com.ramostear.ckeditor.model.Content;import java.util.List;public interface ContentService { /** * 保存内容 * @param content * @return */ Content save(Content content); /** * 修改内容 * @param content * @return */ boolean update(Content content); /** * 根据ID删除内容 * @param id * @return */ boolean delete(Integer id); /** * 根据ID查询内容 * @param id * @return */ Content findById(Integer id); /** * 获取所有的内容 * @return */ List<Content> findAll();}
ContentServiceImpl.java
package com.ramostear.ckeditor.service.impl;import com.ramostear.ckeditor.model.Content;import com.ramostear.ckeditor.repository.ContentRepository;import com.ramostear.ckeditor.service.ContentService;import org.springframework.Beans.BeanUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Sort;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import java.util.List;import java.util.Optional;@Service(value = "contentService")@Transactional(readOnly = true)public class ContentServiceImpl implements ContentService { private final ContentRepository contentRepository; @Autowired ContentServiceImpl(ContentRepository contentRepository){ this.contentRepository = contentRepository; } @Override @Transactional public Content save(Content content) { return contentRepository.save(content); } @Override @Transactional public boolean update(Content content) { Content target = this.findById(content.getId()); if(target != null){ BeanUtils.copyProperties(content,target,"id","createTime"); contentRepository.saveAndFlush(target); return true; } return false; } @Override @Transactional public boolean delete(Integer id) { Optional<Content> check = contentRepository.findById(id); if(check.isPresent()){ contentRepository.deleteById(id); return true; } return false; } @Override public Content findById(Integer id) { return contentRepository.findById(id).orElse(null); } @Override public List<Content> findAll() { return contentRepository.findAll(Sort.by(Sort.Direction.DESC,"createTime")); }}
提示:
所有的业务接口都放置在“com.ramostear.ckeditor.service”包下,所有的业务接口实现类都放置在“com.ramostear.ckeditor.service.impl”包下。
其中,@Service注解表面当前类是一个被Spring容器所管理的Bean,Bean的名称为“contentService”;@Transactional 是声明式事务管理编程中使用的注解,该注解放置在接口实现类或方法上;另外,在ContentServiceImpl.java类中,使用基于构造方法的方式将ContentRepository.java的实例化对象注入其中。特别地,当类中只有一个构造方法时,@Autowired注解可以省略不写。
启动应用
完成以上编码工作后,我们将启动应用程序,检查应用程序是否与MySQL数据库连接成功并创建名为“content”的数据表。启动应用后,当IDEA控制台输出如下的信息,则表明我们的应用已经和MySQL建立连接,并成功在db_ckeditor_springboot数据库创建了content表。
为了进一步验证是否创建了content表,我们可以打开MySQL命令行工具,并输入如下命令进行检查:
>mysql use db_ckeditor_springboot;>mysql show tables;>mysql show columns from content;
若查询结果如下,则证明content表已经创建:
另外,我们还可以通过Druid来查看应用的数据库连接信息,要实现该功能,只需向application.yml配置文件中添加如下的配置项即可:
spring: datasource: druid: stat-view-servlet: enabled: true
然后重启应用,应用启动成功后,在浏览器中输入:http://localhost:8080/druid/index.html 便可查看应用的数据库连接情况,如下图:
本章小结
本章详细介绍了依赖包的引入,项目的配置,实体类,持久化类和业务类的实现过程,并通过SpringData JPA实现了自动创建数据表,最后介绍了通过命令行工具和Druid Monitor两种方式查看数据库信息。你可以访问下面的地址,下载该项目的所有源代码:
码云:https://gitee.com/ramostear/CKEditor5-SpringBoot
Github:https://github.com/ramostear/CKEditor5-SpringBoot
在下一章节中,我将着重介绍如何在SpringBoot中实现文件上传功能,以及如何映射上传文件路径等技术要点。
未经作者允许,请勿擅自转载
开源资讯DBeaver 6.3.3 发布,可视化数据库管理平台
前言
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。
DBeaver 提供一个图形界面用来查看数据库结构、执行 SQL 查询和脚本,浏览和导出数据,处理 BLOB/CLOB 数据,修改数据库结构等等。
DBeaver 6.3.3 更新内容
Tasks:
SQL 脚本执行任务已添加
增加变量支持
添加了按项目/类型分组的任务
活动数据库/方案现已保留,用于自定义 SQL 查询
目标表映射已修复,可用于数据库到数据库的数据传输
Data viewer:
改进了列过滤器用户界面(多值选择,值搜索)
空 XML 列支持已修复
列值转换和着色已修复
改进了上下文菜单(更改了布局,添加了缺少的命令)
缺少工具栏动作的问题已修复
十六进制编辑器的颜色得到改进,增加了深色主题支持
SQL editor:
自动完成现在尊重活动模式
数据库输出读取已修复(异步模式)
超链接和对象导航已修复
别名生成算法得到改进
PostgreSQL:
数据库还原任务已修复(目标数据库)
SQL 解析器已修复(BEGIN/END 关键字)
Oracle :程序/视图源代码编辑器已修复
MySQL:数据库还原日志级别配置已修复
Netezza:视图和程序源提取已修复
Hive :视图编辑已修复
Neo4j :数组支持已修复,SQL 解析器已修复
Metadata editor :当前数据库检已修复
改进了数据库导航器的工具提示
现在默认启用连接参数中的变量
连接类型权限保存已修复
深色主题支持在主工具栏和不同对话框中得到了改进
SSH 代理支持已修复(现在我们在 Linux 上使用 ssh-agent)
SSH 私钥 密码:配置对话框已修复
修复了很多小错误
更新说明: https://dbeaver.io/2020/01/19/dbeaver-6-3-3/
亲测好用数据库管理软件:Valentina Studio Pro for Mac
为大家推荐一款专业的数据库管理软件,Valentina Studio Pro for Mac支持连接所有主要数据库,可以帮助用户轻松创建、管理、查询和浏览Valentina DB、MySQL、MariaDB、PostgreSQL和SQLite数据库,如果你正在寻找一款好用的数据库管理软件,那么valentina studio pro mac版将是一个很不错的选择!
Valentina Studio Pro for Mac官方介绍
Valentina Studio是用于数据库架构师,开发人员,DBA甚至最终用户的跨工具,可以与最受欢迎的RDBMS(例如MySQL,PostgreSQL,SQLite,SQL Server和ValentinaDB)一起使用。您可以使用不同的图进行数据建模,使用数据库架构和记录,进行SQL开发,进行服务器管理等。
https://mac.orsoon.com/Mac/126551.html
Valentina Studio Pro mac版功能特点
报表设计器
- 视觉设计布局工具可将查询转化为报告;实时预览
- 控件,HTML,条形码,图表,图形等工具箱
- 子报表,区域,组
- 轻松添加宏,表达式
- 打印为所有标准纸张格式,设置装订线,边距,每页最大记录
- 为Valentina Reports ADK应用程序部署Report项目
- 将报表项目部署到Valentina Server
正向工程
- 可视化图编辑器***新数据库
- 控件,标签,注释,过程,表,视图的工具箱
- ***脚本,将脚本复制到您的应用程序代码中
- 可视化导航非常大的图
数据库持续集成
- 创建| 保存 以结构化格式加载数据库架构快照
- 注册| 提交| 使用任何VCS递增数据库源代码控制
- ***迁移脚本
表格编辑器
- 拖动创建控件,小部件和布局以直观地创建表单
- 在JavaScript中附加和编写自定义方法
- 表单可与任何受支持的数据源一起使用,包括PostgreSQL,MySQL,MS SQL Server,SQLite和ValentinaDB
- 将表单上载到Valentina Server上的Valentina项目
- 通过Windows,MacOS和Linux上的Valentina Studio部署表单
查询***器
- 只需单击几下即可构建SQL查询,无需编写代码
- 在数据编辑器中编辑构建的查询并保存到片段库
- 复制您的SQL查询以在任何应用程序中使用
SQL DIFF
- 查看表,链接等中所有差异的详细信息
- ***脚本以执行以修改数据库
数据传输
- 在两个不同的数据库之间复制记录
- 指定源/目标表和字段的映射
- 记录详细信息并观察传输和结果