Author: Agnieszka Kozubek

Chief Scientist at Vertabelo

Database Design 101

A good data modeling exercise for beginners is to create a data model of an online store. Every time I give this exercise to my students, I’m surprised at how difficult it is for them.Find the Concepts…Let’s see how it can be done. We know we have to create a table for every concept in the domain. Think about thenouns and noun phrases you would use to describe the domain. Roughly, every noun iseither a concept, an attribute of a concept, or an example

How to import an existing database into Vertabelo: Reverse Engineering

The newest Vertabelo feature is Reverse Engineering: a way to import an existing database into Vertabelo. The Reverse Engineering tool is a simple command-line Java application that you can download from our website . It connects to your database, reads the table and view details and stores the info in an XML file. Import the XML file into your database model and voila - your database is in Vertabelo!How to use the reverse engineering application

Theory and History: Why are Relational Databases “Relational”?

Many people wonder why relational databases are called “relational.” Some think that it’s because of a logical entity-relationship model you often start your design with. Or, because you have tables and relationships (aka foreign keys) between them. But that’s not the case.The name comes from the mathematical notion of “relation.” It all started with  E. F. Codd  who in 1970 (in the article  A Relational Model of Data for Large Shared Data Banks

Oracle VARCHAR2 Column Size

Recently a fellow database architect claimed that in Oracle the typeVARCHAR2(255)means a string of 255bytes, not characters. There is not much difference between the two in the English-speaking world. It matters though if you want to handle people with names like Kołłątaj . (Not that Hugo Kołłątaj – a famous Polish 18th century politician – would ever use any of our systems, but he became our byword for all non-pure-ASCII names). I was very surprised by what the architect said and I decided to further investigate the matter.

Why Doesn’t SQL*Plus Execute My Script?

The question: Why doesn’t my script create tables?The other day I was testing Oracle SQL scripts generated by Vertabelo. Roughly, this is the code that was generated:I used sqlplus to execute my script and see if it’s correct.The script run without errors but the tables where NOT created.I copied and pasted part of the script into a new file:I executed it in sqlplus and this time the table was created.OK, I scratched my head. What is the difference between the two? The only real difference is the blank line at the end of the command. Could it REALLY be the reason?