Switch to: V10V9V8V7V6V5

Valentina Database Link

Working with tables, a database designer often establishes links between two or more tables.

Starting with Valentina 2.0 the Valentina Database Model extends the traditional relational model by adding the new abstraction: Link.

The adding of the Valentina Link (VLink object) means that developers can use both API and SQL commands to create, delete and modify links between tables, as well as link/unlink records, use links for joins and other database operations - in a new and highly efficient way.

Links are very easy to understand and could probably be considered a reincarnation of links from The Network Database Model.

It is easy to see that links should provide the following features:

  • Each link has an unique ID.
  • Each link has a unique name in the scope of the database. Link names and table names are in the same scope.
  • The database knows about each of its links.
  • Each table knows about each of its links.
  • You can access a table link by name or index.
  • Each link knows what tables it links and how.

Description of Links

Valentina currently offers three kinds of links between 2 tables that implement the VLink2 interface:

Comparison of Links

You can compare the types of Valentina links here:

Link API

Links in SQL

Refactoring of Links

During the development developer can change the type of a link to better fit its task-specific requirements. This section describes how to change one kind of link into another using Valentina's built-in refactoring features.

Refactoring of 1:M Links

Refactoring of M:M Links

Refactoring of 1:M Links to M:M

Optimization of Links