Databases Made Simple

Personal Database

© Lead Image © Womue,

© Lead Image © Womue,

Article from Issue 230/2020

From a simple task list to a collection that keeps tabs on your books, Symphytum lets you quickly and easily build databases for storing and working with any type of data imaginable.

You rarely need a full-blown relational database if you only want to store recipes, notes, tasks, and other simple pieces of data. What you need is a tool that makes it possible to quickly create simple, easy-to-use, database-powered applications with a minimum of effort and technical knowledge. Enter Symphytum [1]. You'll be hard-pressed to find a more straightforward and user-friendly application for creating personal databases. With absolutely no knowledge of database theory and design, you can build databases for pretty much any purpose. More importantly, the resulting databases feature a polished interface that doesn't require a degree in computer science to use.

Figure 1: Symphytum in all its beautiful simplicity.

Getting Started

Symphytum uses SQLite as its database engine. Being lightweight, robust, and mature, SQLite is a popular choice for powering database-driven applications. However, Symphytum hides all the technical intricacies behind a user-friendly interface, so you are never exposed to the scary database underbelly.

The project's GitHub site offers packaged versions for popular Linux distributions. You'll also find an AppImage self-contained executable. It's larger than the packages for specific distributions, and it might run slightly slower on your machine. But it requires no installation and comes with all required dependencies. As such, it offers the easiest and fastest way to run Symphytum on practically any Linux system. Grab the latest AppImage file from the project's Releases page, make the downloaded file executable using the command

chmod +x Symphytum-x86_64.AppImage

and then double-click on the file to launch Symphytum.

Before you create your first database, you might want to tweak a few settings. Unlike any other regular desktop application, Symphytum doesn't create a lot of separate files. Instead, each application in Symphytum is just a separate table of the data.db database. This file, along with the files you attach to individual records, is stored in a separate folder. By default, this folder is hidden in your home directory, and you might want to choose another location for it to make backup easier. To do this, choose Tools | Preferences, switch to the General section, and specify the desired path and directory name. While you are at it, you might want to change the default font and font size. Switch to the Appearance section and specify the font and size you want in the appropriate fields. Finally, switch to the Advanced section, and enable the option that improves performance by caching images. This option requires more RAM, but as it significantly improves performance, it's worth enabling in most situations.

Although Symphytum is a single-user application, it does support synchronization. With this functionality enabled, you can access your data from any other machine running Symphytum. To activate and configure the synchronization feature, switch to the Cloud Sync section, select Enabled from the Status drop-down list, and press Close. This launches a simple wizard that guides you through the process of setting up syncing. Symphytum supports the Dropbox and MEGA synchronization services. Before you can use the latter, you need to install and configure the MEGAcmd [2] command-line tool. If you prefer to enable and set up synchronization later, you can do it by choosing Tools | Cloud synchronization in the main toolbar. You can use any other synchronization service, too. You just have to configure your preferred cloud syncing tool to synchronize Symphytum's working directory.

Working with Collections

Databases in Symphytum are called collections, and the application comes with an example collection for you to explore. Each collection can contain a number of fields of different types and two views: Form and Table. You can use the appropriate buttons in the main toolbar to browse through the existing collection entries, as well as create, duplicate, and remove records. The Table view (Figure 2) allows you to sort records in ascending or descending order by clicking on the desired field heading. For example, to sort all records in the example database alphabetically, click on the Name field heading. Click on it again to reverse the order.

Figure 2: The Table view lets you view records as a list and sort them by column name.

Need to find a specific record? Start typing the desired search criteria in the Search field to see the list of matching records. The search feature is a one-trick pony: It searches through all available fields, and that's all it can do.

Building a collection from scratch in Symphytum is straightforward. If you travel a lot, you might want to set up a collection to keep track of the cities you have visited (Figure 3). Press the New Collection button in the main toolbar, or choose File | New | New Collection to create a new collection. Replace the default collection name with a more descriptive title, and the blank collection is ready.

Figure 3: Despite its simplicity, Symphytum offers everything you need to build databases that accommodate practically any type of data.

The first order of business is to add at least one field to the collection. In this case, you can start by creating a text field to store the name of the city. Press the appropriate button in the main working area, select Text from the list of available field types, give the field a name (it will appear as the field's label in the Form view), and press Next (Figure 4). You can enable the Required field option if you want to make the field mandatory (i.e., it must not be empty). Press Finish to add the field. Switch then to the Form view using the appropriate button. To adjust the field's size and position, click on the field's label to select the field. Adjust the field's width and height by dragging the selection points with the mouse. To move the field, click and hold the field's label and drag the field to the desired position. Using the New Field button in the main toolbar (or the Ctrl+Shift+N keyboard shortcut), you can add as many fields as you like.

Figure 4: Symphytum supports a wide range of field types.

With Symphytum, you are not limited to text fields. If you want to add the dates on which you visited the city, create two date fields: one for the arrival date and another for the departure date. When adding a date field, Symphytum allows you to choose a date format. Symphytum also lets you enable the reminder option for the date field, so the application will display a reminder when the date in the date field is reached. This simple option can come in useful when working with collections containing deadlines (e.g., a simple task list). Symphytum even has a dedicated view for listing all upcoming reminders (View | Date reminder list).

Symphytum supports other field types, too. The Image field type makes it possible to insert images into records. Symphytum can handle most popular image formats, including PNG, JPEG, GIF, TIFF, and even vector-based SVG. Keep in mind that when you add an image to a record, Symphytum doesn't insert the image file into the record. Instead, the application saves the image file in the dedicated files directory inside Symphytum's working folder and then creates a reference to this file in the record. Why is this important? Because if you want to keep images in your collection safe, you have to make sure that you back up the entire content on Symphytum's working folder, including the files directory.

The File List field type allows you to add multiple files to a record. To add a file or multiple files, you can either drop them onto the File List field in the Form view or use the dedicated button below the field. The Remove button lets you delete individual files, while the Export button can come in handy when you need to save a file in the record to a local directory.

If you want to add a drop-down list containing a list of predefined entries, the Combobox field type is what you need. Finally, the Checkbox field type allows you to add options that can be toggled, while the Progress field type makes it possible to add an adjustable progress bar to the record. Combined, these three field types are ideal for creating collections that can help you to manage tasks and keep tabs on your projects. Add to this a Date field with the reminder option enabled, and you have a simple way to keep track of your deadlines.

Symphytum doesn't distinguish between the design mode (where you add fields and design forms) and the work mode (where you manage records and populate them with data). While this is convenient, this also means that you may sometimes select a field instead of focusing the cursor on it and even inadvertently resize or move the field. To prevent this from happening, Symphytum lets you lock the Form view using the Lock button in the main toolbar. There is another creature comfort: the Tools | Database | Free unused space command can clean up and optimize the underlying database to reduce its size.

If you already have data in the comma-separated (CSV) format, Symphytum allows you to import them and create a new collection on-the-fly. To import existing data, choose File | Import and follow the import guide. You can also export data (Figure 5) from the existing collection using File | Export. The import and export functionality in Symphytum does have a serious limitation: It cannot import and export files and images (since they are stored as references and not inserted directly into records). If you need to move data from one Symphytum instance to another, you can use the backup and restore feature instead (Figure 6). Choose File | Backup and follow the guide to export Symphytum data into a single .syb file. You can then import it into Symphytum running on another machine via File | Backup and choosing the restore option.

Figure 5: Symphytum can export existing data to other applications.
Figure 6: You can use Symphytum's backup and restore functionality to keep your data safe.


Symphytum won't rival advanced database applications like LibreOffice Base and Kexi. But what it lacks in functionality, it makes up for in ease of use. And honestly, unless you are building complex relational databases, you'll hardly ever need more than what Symphytum has to offer.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    One weekend this month, Graham's synth obsession took him 600 miles in a rental car into ancient Cornwall to buy a beat-up old 1980s MIDIBoard. Stay tuned for a Linux editor! Graham looks at Surge, fd, Kloak keystroke anonymizer, Symphytum, uMatrix,†and more!

  • Tellico

    Linux has a fantastic collection of database servers, but many users just want a simple desktop database. Tellico fills the niche.

  • Base

    If you need a quick and easy solution, try building your own database application in 2.0.

  • Workspace: TreeLine

    The hybrid nature of TreeLine means it offers more than your typical information manager. An outliner as well as a database, it allows you to sort and store all kinds of data with ease.

  • KDE's Kexi Database

    Kexi, part of the KOffice suite, allows anyone to create, populate, and maintain a database.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95