Author: Agnieszka Kozubek

Agnieszka is a Chief Content Officer at Vertabelo. Before coming to Vertabelo, she worked as a Java programmer. She has a PhD in mathematics and over 10 years of experience in teaching mathematics and computer science at the University of Warsaw. In her free time, she enjoys reading a good book, going mountain hiking and practicing yoga.

Time Zones in Databases

Anyone who had to schedule an intercontinental phone call knows that there is no such thing as a simple time called now. What you should rather think about is a time comprised of here and now. The Earth rotates around its own axis. When it’s solar noon (the sun is at its highest position) in one place, it’s already past noon in places to the east and it’s still before noon in places to the west.

Data Dictionary Support: Generate Comments for Your Database

Most relational databases allow you to define comments for their tables, columns, views, and so on. These additional pieces of information are called database meta data or data dictionary. Meta data may be useful for developers or other database users. Meta data allow the development team to understand what various tables or columns are for without having to ask database designer what their intentions were. Generating meta data in SQL scripts is one of the most often requested Vertabelo features and it’s finally here.

MySQL Collations

List Collations To list all collations available in MySQL, use SHOW COLLATION; +-------------------+----------+-----+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +-------------------+----------+-----+---------+----------+---------+ | big5_chinese_ci | big5 | 1 | Yes | Yes | 1 | | big5_bin | big5 | 84 | | Yes | 1 | | dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 | | dec8_bin | dec8 | 69 | | Yes | 1 | | cp850_general_ci | cp850 | 4 | Yes | Yes | 1 | | cp850_bin | cp850 | 80 | | Yes | 1 | | hp8_english_ci | hp8 | 6 | Yes | Yes | 1 | | hp8_bin | hp8 | 72 | | Yes | 1 | | koi8r_general_ci | koi8r | 7 | Yes | Yes | 1 | | koi8r_bin | koi8r | 74 | | Yes | 1 | | latin1_german1_ci | latin1 | 5 | | Yes | 1 | | latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 | | latin1_danish_ci | latin1 | 15 | | Yes | 1 | | latin1_german2_ci | latin1 | 31 | | Yes | 2 | | latin1_bin | latin1 | 47 | | Yes | 1 | | latin1_general_ci | latin1 | 48 | | Yes | 1 | .

How Does a Database Sort Strings?

Different languages have different alphabets and different ways to order letters within those alphabets. For example, a Polish character Ł comes right after L and before M. In Swedish, a letter Å comes almost at the end, right after Z. In French diacritics marks have no impact on the alphabetical order, so the letters À, Á and  are treated as the letter A when sorting strings. A collation is a set of rules that defines how to compare and sort character strings.

How to Develop a PHP+MySQL Application With Propel and Vertabelo

Propel is a popular ORM (Object-Relational Mapping) library for PHP. Recently, the Vertabelo team started to develop VertabeloPropel, a tool which converts your Vertabelo models into Propel’s schema xml. If you want to try using Propel with Vertabelo to develop a simple PHP MySQL application, here is how to do it. The following example uses Composer, a PHP tool for handling project dependencies. Set up Your Project Create the file composer.

How to Generate Propel’s Schema.xml File From a Database Model Created in Vertabelo

If you use Propel, you can now generate a Propel schema file from a database model created in Vertabelo. Propel is a popular ORM (Object-Relational Mapping) library for PHP. In Propel, the datamodel structure is described by a special schema XML file. From this schema Propel generates PHP object model classes which Propel uses to represent rows in your tables. VertabeloPropel is a PHP script which converts a Vertabelo XML file into Propel’s schema.

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

Vertabelo XML version 2.1

Vertabelo internally stores your model in an XML format. You can download the XML file and use it to extract some information by using a script. Let’s take a look at the structure of this XML file. if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "loading";var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src", "https://my.vertabelo.com/js/public-model/v1/api.js");(document.getElementsByTagName("head")[0] || document.documentElement ).appendChild(s);} Here is the XSD file and an example of the XML file for the above sample database model created in Vertabelo.

How to filter tables in the Vertabelo reverse engineering tool

Sometimes you don't want the reverse engineering tool to extract all of the tables in your database. For example, the database may contain technical tables which are logically are not part of the model. This is when the -regexp option comes in handy. Use the -regexp option and the tool will extract all tables and views with names matching the regular expression. The tool prints the regular expression it uses so you can verify that your shell parsed the expression correctly.

Vertabelo at Confitura 2014

Last Saturday, Vertabelo was at Confitura 2014, this year's edition of the largest free Java conference in Poland. As usual, the conference was organized at the main campus of the University of Warsaw (my beloved Alma Mater!). Unusually, the conference was in two buildings: Auditorium Maximum and the Old Library. Splitting the conference between two locations was a very good idea. The halls were not as crowded as in the years before.