Documentation / Data

OcaltDB

The visual manager for the databases in your namespace, and for the ones you run anywhere else.

Open OcaltDB

Overview

OcaltDB is where you see your data, shape it and move it. Create databases and tables, browse and edit rows, chart them, draw how they relate, and bring spreadsheets and dumps in and take them out again.

Every database it manages in Ocalt lives in your own namespace, on the OcaltQL runtime. OcaltDB reads and writes it there and keeps no second copy anywhere.

What it is

A point-and-click front end over the database verbs of OcaltQL. Each action you take is one named OcaltQL command, run by the runtime and answered directly. Nothing about it requires you to know the language, and the language is one tab away when you want it.

It is one app on phone and desktop, and it can be installed to a home screen.

What it does

Pick a database and a table, and every screen is along the top:

  • Browse rows, filter them as you type, page through them, edit a row where it sits, delete one row or a whole selection.
  • Structure: add columns as string, number, bool, date, json or text, and mark them required, unique, or an autoincrementing primary key.
  • Insert new rows through a form, and Search per column when a filter is not precise enough.
  • Chart a table grouped by any column, read as bars.
  • Relations: draw how tables link. The drawing is kept in your namespace, so it is there on every device you sign in on.
  • Import and Export in the formats other tools expect.
  • Operations: rename, copy, duplicate or empty a table; drop a table or a whole database. Anything that cannot be undone asks first.

A status view shows your plan, how much of the day's query allowance is used, how much your databases hold, and what this device did recently.

How it works

  1. Sign in once with your Ocalt account. The same account opens every Ocalt app.
  2. Your namespace opens. OcaltDB lists the databases in your namespace, or in a business's when you act for one.
  3. Every click is a command. Each action runs as one named OcaltQL command and its answer comes straight back.

The browser holds only your sidebar preference and this device's activity list. Saved console scripts are kept in your namespace with your databases.

Getting started

  1. Open db.ocalt.com and sign in with your Ocalt account. No card is required.
  2. Create a database, then a table, and add its columns on the Structure tab.
  3. Add rows on the Insert tab, or drop a spreadsheet on the Import tab and let OcaltDB build the tables.
  4. Open the console when you want to work in OcaltQL directly.

Import and export

Drop a file on the Import tab and OcaltDB builds the tables for you. A workbook with three sheets becomes three tables. The same formats go both ways, so nothing is locked in.

FormatInOut
CSVComma-separated, header rowOne table
TSVTab-separatedOne table
Workbook (.xlsx)Every sheet becomes a tableA sheet per table
JSONSchema and rowsSchema and rows
SQL dumpCREATE TABLE and INSERTCREATE TABLE and INSERT
OcaltQL scriptRun in fullUse the console

Connected databases

OcaltDB also manages databases that live somewhere else: on your own server, with a cloud provider, or as a file in your namespace. Browse, filter and sort them, edit rows, read their structure and how their tables link, export them, and run their own language in a console, on the same screens.

  • MySQL and MariaDB, PostgreSQL, SQL Server and Azure SQL, MongoDB, and SQLite files.
  • Connect by host and login, by a connection string, or by a database file in your namespace.
  • Passwords are encrypted with your namespace's own key and never sent back to the page.
  • A change is one transaction: all of it lands, or none of it does.
  • Connections leave from your namespace. The database has to accept connections from the internet, and the Connect form shows the address to allow.

The console

Every screen in OcaltDB is built on OcaltQL, and the console gives you the same language directly: write a script, run it against your namespace, read the answer, and save the ones you use again.

A database, a table and a query
NEW DB "shop"
AFTER NEW TABLE "orders" IN DB "shop" COLUMNS ADD "id" TYPE NUMBER AUTOINCREMENT PRIMARY AND ADD "customer" TYPE STRING REQUIRED AND ADD "total" TYPE NUMBER
AFTER INSERT INTO DB "shop" TABLE "orders" ROW "customer" AS "Amahle" AND "total" AS 1250 SET ?a
AFTER INSERT INTO DB "shop" TABLE "orders" ROW "customer" AS "Sipho" AND "total" AS 380 SET ?b
AFTER SELECT ROWS FROM DB "shop" TABLE "orders" WHERE "total" IS GREATER THAN 500 SET ?big
AFTER EMIT ?big

Working as a business

When you act for a business in your Ocalt account, OcaltDB works on that business's databases, which live in the owner's namespace. The owner decides what each member may do through OcaltDB roles in the business suite: database administrator, designer, editor or analyst, and full admin.

FAQ

Do I need to know OcaltQL?

No. Every screen works by pointing and clicking. The console is there for when you want it, and nothing requires it.

Where does my data live?

In your Ocalt namespace, on the OcaltQL runtime. OcaltDB keeps no copy of it.

What does it cost?

Start free with an Ocalt account. The app shows your plan and how much of the day's query allowance you have used.