Featured Products
Omegabundle for Xojo 2024 Products

Use two different built in database servers, including the advanced, ultra fast ValentinaDB Server and the industry standards compatible Valentina SQLite Server.

While not every app needs robust data storage, many solutions require one. The database market began in the 1960s to solve the problem of file storage, taking the form of Integrated Data Store as introduced by Charles Bachman. In the 1970s, the earliest work on relational databases following a paper delivered by E.F. Codd from IBM arrived, differentiating it from the network model of databases. As a sub-industry, the database market began at the beginning of computing and, while taking on the appearance of a very mature market in which a single technology (and vendor) dominates, it instead evolved into a market where new databases arrived in order to address specific and evolving new forms of data.

 

Valentina Server incorporates two built in database servers.

ValentinaDB Server at a Glance Valentina SQLite Server at a Glance
  • Inherits the administrative features of Valentina Server
  • Inherits all the advancements of ValentinaDB
  • High level Valentina DB API lets you to accomplish more and write far less, but more readable code
  • Access from any free native Valentina CLIENT, including C#, Xojo, Objective-C, iOS
  • If there isn't a native Valentina CLIENT, use industry standard REST
  • Inherits administrative and functional features, such as Notifications, SSL, ACL, SNMP
  • Client-side and Server-side Cursors
  • Upscale local SQLite database project to a client-server or server-only solution
  • Supports standard SQLite 3+ databases
  • Can be sourced from any free native Valentina CLIENT, including C#, Xojo, Objective-C, iOS
  • If there isn't a native Valentina CLIENT, use industry standard REST

 

Both servers can act as data sources for Valentina Reports Server and Valentina Forms Server. Both servers can also act as data sources for Valentina Reports ADK for Xojo embedded in your Xojo app.


Using Valentina SQLite Server

SQLite came about to solve a market problem. Developers needed a database system that had a small, local footprint for embedding into applications with no real licensing complications. Among its features:

  • SQL based. You can use SQL, the most popular language of databases, to work with SQLite.
  • Free and Open Source. There are free implementations and, both being open source and widely available, it has become a solid and reliable platform.
  • Availability. SQLite implementations are available on almost every platform, including all supported by Xojo.
  • Simple. SQLite is a simple, single-file based platform.

These features lend themselves towards development with Xojo, and Xojo has entirely embraced the use of SQLite. That is, you can use SQLite with any level of product, including Xojo Lite.

SQLite wasn't designed for a multi-user environment. It supports a feature called Write-Ahead Logging, allowing for multi-user-like behavior.  To repeat Xojo's own warning: don't store a SQLite file on a network drive with the expectation that users will just open it like it was any other file. This can lead to serious corruption problems when there is more than one user attempting to open the file.

SQLite files though can become accessible on Valentina Server and utilize Valentina Server administrative features by uploading them to a supported directory on Valentina SQLite Server. Also, since Valentina SQLite Server supports load_extensions, you can extend its capabilities with standard SQLite extensions.

Uploading SQLite Files to Valentina Server

Once made available this way, you can serve your SQLite database just like you would any other multi-user database. You can also use it as a data source for Valentina Reports and Valentina Forms.


What Makes ValentinaDB Special

ValentinaDB Server is the other database server in Valentina Server. ValentinaDB is an original Paradigma Software invention and available for use with Xojo either through ValentinaDB ADK for Xojo or ValentinaDB Server, both of which are included with Omegabundle for Xojo 2024. Key differentiators for ValentinaDB include:

  • Ability to user different database models. You can treat ValentinaDB just like any relational database, even though it isn't restricted to a relational database model.
  • Blazingly fast when it counts. ValentinaDB database model is optimized for speed. That's why it is often used for building custom financial and medical apps so complex queries that could take hours with other databases take just take minutes (or sometimes seconds)
  • Advanced scripting model. ValentinaDB can utilize less verbose and more readable SQL.
  • Advanced Features. ValentinaDB can utilize less verbose and more readable SQL.
  • Valentina Abstraction Links
  • Advanced Cache System
  • Calculation Functions
  • Compress and Defragment
  • Data Model Blending
  • Database Diagnostics
  • Disk Based & In Memory Databases
  • Built in Database Encryption
  • Easy Import and Export
  • Indexed Text in BLOBs
  • Dynamic, Powerful Indexing
  • Journaling
  • Recursive Queries
  • Standards with Options: SQL, NoSQL, Key-Value
  • Database Text Engine

 

 With continuous development since 1997, ValentinaDB has a long list of features. See the descriptions for ValentinaDB on the Paradigma Software website.