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 to 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 a 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 development, a developer can change the type of 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