
Author: Patrycja Dybka
Java Software Developer
Generate jOOQ Classes With Vertabelo and Maven
jOOQ provides an easy way to automate the process of generating the java classes that represent database tables, records, etc. via the jooq-codegen-maven plugin. This time we let Maven worry about downloading the required JAR files and generating Java code that lets you build typesafe SQL queries through jOOQ’s fluent API.
There are two ways to generate ready to use Java classes with Maven and Vertabelo:
Generate jOOQ classes via Vertabelo XML Generate jOOQ classes via Vertabelo API Generate jOOQ Classes via Vertabelo XML Design your database model online in Vertabelo.
jOOQ and Vertabelo – Getting Started
jOOQ and Vertabelo perfectly complement each other in the application development lifecycle. With Vertabelo you can easily design a database structure that saves you from writing DDL code manually, while jOOQ handles the generation of Java classes corresponding to database tables, and allows to construct SQL queries through its fluent API.
The integration of Vertabelo and jOOQ has been the subject of several articles published on our blog. Unfortunately, all of them, including “The easiest ERD + ORM integration ever: Vertabelo and jOOQ”, are intended for users having some previous experience with jOOQ.
How to Generate Flask-SQLAlchemy Models Using Vertabelo
Flask is a web microframework for Python. It uses Flask-SQLAlchemy for object relational mapping. It is a Flask wrapper for SQLAlchemy – a powerful relational database framework that offers a high level ORM and low level access to a database’s native SQL functionality.
For each database table, SQLAlchemy uses a regular Python class with attributes that match the columns of a corresponding database table. The database instance from Flask-SQLAlchemy provides a base class for models called db.
Side by Side: Doctrine2 and Propel 2
When you start working with data in an application, you may need to use an object-relational mapper (ORM), a layer between the database and application.
For PHP the two most frequently used ORM’s are Doctrine and Propel. That’s why I decided to compare the main features of Doctrine in version 2.4.7 and Propel in version 2.0. At this point, I must strongly emphasize that this article is not to indicate which ORM is better and should be used.
Virtual Column
The concept of views and function-based indexes has been known for many years. One of the brand new solutions is a virtual column – a feature introduced in Oracle 11g. Apart from database giant, some well known DB vendors, like MariaDB and SQL Server, support the idea of computed columns. So let’s give virtual columns a try and examine their basic usage.
Generally, there are two kinds of virtual columns:
How to Store Employees’ Schedules in a Database
Level: Beginner
So many organizations face the common problem of storing employee schedules. No matter what institution: a company, a university or simply an individual, many entities need an application to view schedules. Therefore, I will try to come up with a database model and then, in a future article, we’ll talk about a simple application to store employees’ schedules in a database.
Currently the design looks as follows:
Vertabelo vs. Navicat Data Modeler
In this article, I’ll make a comparison of two popular database modelers: Vertabelo in version 1.21.0 and Navicat Data Modeler in version 1.0.12. Features are listed in the left-hand column and each tool’s feature support is identified under the appropriate heading.
Vertabelo Navicat Data Modeler Online tool works under Chrome OS independent Standalone version available for: Linux Mac OS X Windows Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server (Windows and Mac OS X editions only) Oracle SQLite SQL Azure (Windows and Mac OS X editions only) Supported data types Vertabelo supports a particular database from creation.
Oracle Synonyms
Synonyms are a very powerful feature of Oracle. They are auxiliary names that relate to other database objects: tables, procedures, views, etc. They work like Unix hard links; a pointer to point to an object that exists somewhere else.
Synonyms can be created as PRIVATE (by default) or PUBLIC.
public synonyms are available to all users in the database. private synonyms exist only in specific user schema (they are available only to a user and to grantees for the underlying object) The syntax for a synonym is as follows:
Comparison of Web-Based Tools for Data Modeling
In this article, I will compare two online database modelers: Vertabelo and Sea Quail Database Diagram Tool. Here is a matrix of each tool’s key features and functionality.
Compared versions: Vertabelo 1.14.3, Sea Quail v.32.
Vertabelo Sea Quail Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server Supported data types Vertabelo supports particular database from the begining.
Database engine usage by Vertabelo users
The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong.
Vertabelo users come from over 100 countries and speak various languages. What unites them?
The relational database.
Let’s see what relational databases they use:
We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.