Databases Made Simple
Personal Database
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.
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.
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.
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.
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.
Conclusion
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.
Infos
- Symphytum: https://github.com/giowck/symphytum
- MEGAcmd: https://mega.nz/cmd
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.