User:Ruslan zasukhin/Valentina database

Valentina database is an object-relational database management system (ORDBMS) , Columnar database that can be used in both ways:
 * as a single-user database engine;
 * as a server providing multi-user access to a number of databases;

Platforms and interfaces
Valentina database is written in C++. Its SQL parser is written in ANTLR.

Valentina database works on major system platforms, including Linux, Mac OS X, Microsoft Windows.

Many programming languages with language-specific APIs include libraries or plugins for accessing Valentina databases and Valentina Server. These include:
 * C++
 * MS COM (VB, ...)
 * MS .NET (C#, VB, ASP, ...)
 * REALbasic
 * Adobe Director Lingo_(programming_language)
 * PHP
 * Ruby
 * ODBC driver

Management and graphical frontends
Paradigma Software ships Valentina Studio application that is feature-complete cross-platform GUI tool. Valentina Studio lets users manage the following:
 * Database design & modeling using Diagram Editor and/or Schema Editor
 * SQL development using SQL Editor
 * Manage Data using SQL Editor and/or Table Editor
 * Valentina Server Administration

Features

 * OO API access to all features of engine that includes overall 1000 methods grouped in 30-40 classes


 * Schema Objects are:
 * Tables
 * Views
 * Fields
 * Links
 * Properties
 * Indexes
 * Triggers
 * Stored Procedures
 * User Defined Functions


 * Referential integrity constraints including foreign key and ObjectPtr constraints, column constraints, and row checks


 * Big set of built-in functions (math, logic, string, date/time, ...)
 * Calculated fields


 * Inner, outer (full, left and right) joins
 * Sub-selects


 * Encrypted connections via SSL
 * Online backup

Data types

 * Boolean (bit)
 * Numerics (byte, short, ushort, medium, umedium, long, ulong, llong, ullong, float, double)
 * Character (fixed string, varchar, text)
 * Binary (fixed size, varbinary, BLOB, Picture)
 * Date/time (date, time, datetime)
 * RecID and ObjectPtr

Triggers
Triggers are events triggered by the action of SQL DML statements. For example, an INSERT statement might activate a trigger that checked if the values of the statement were valid. Most triggers are only activated by either INSERT or UPDATE statements.

Triggers are fully supported and can be attached to tables and to views.