News for hackers. Stuff that matters.
Re:A Relational Spreadsheet by somat on Sunday February 26, 2023 @12:00PM (#34947064)
I want the same, I want it so much that I have been working on gasp gui code to do such, an activity I have found I am profoundly bad at.

But the theory is, I love the relational database, they are a sort of rigorous superset of the spreadsheet, and I have replaced all my spreadsheets with database tables, however while it is very hard to beat sql for rich comprehensive data transforms and analysis, ad-hoc data entry is very awkward. Most gui tools are focused on database administration and I want one for quick random edits. any hints?

Re:A Relational Spreadsheet by Lunrtick on Sunday February 26, 2023 @12:12PM (#34947180)
I've tried a bunch, but many of the prettier ones don't have Linux versions. I've been using DBeaver (https://dbeaver.io/) for years now though - it's occasionally a little rough around the edges, but overall it's really amazing!

It uses jdbc drivers for database support, so it can handle basically anything.

Re:A Relational Spreadsheet by SloopJon on Sunday February 26, 2023 @12:26PM (#34947322)
If you're asking for a GUI for simple CRUD on an arbitrary table, I think that's pretty common. What database are you using, and what API are you using to access it? (Edit: and on what O/S?)

If one of the obstacles to data entry is normalization, perhaps an updatable view if your database supports it.

Re:A Relational Spreadsheet by deepspace on Sunday February 26, 2023 @03:31PM (#34949068)
> I think that's pretty common.

Not as common as you might think. It is a hard thing to search for, and the ones I have been able to find all suck.

I wrote a PHP application a long time that allowed you to create a GUI for an 'arbitrary' SQL database table, using an XML schema to configure the appearance, validation etc. of the fields. Life got in the way, and I stopped development before it was ready for prime time. Fifteen years later, I went looking for something with similar functionality and was surprised at how few options there still were.

Re:A Relational Spreadsheet by masfuerte on Sunday February 26, 2023 @05:01PM (#34949988)
A bit more than 20 years ago Microsoft released a desktop product that automated producing a CRUD interface from an XML schema. It looked very nice but it was immediately withdrawn. I was puzzled at the time but I guess now they were threatened with a patent. This might explain why there weren't more products solving this obvious problem. Patents should have expired by now though.
Re:A Relational Spreadsheet by hermitcrab on Sunday February 26, 2023 @12:12PM (#34947177)
Airtable provides an interesting mix of spreadsheet and database functionality.
Re:A Relational Spreadsheet by sublinear on Sunday February 26, 2023 @12:53PM (#34947558)
> ad-hoc data entry is very awkward

I understand that a spreadsheet "row" often isn't going to be a normalized SQL table row and all that, but isn't mapping the spreadsheet cell ranges into such a schema technically the only problem here?

If you had a script that watches your spreadsheet for changes and can drop you into a SQL shell whenever you want, you'd have it both ways.

Re:A Relational Spreadsheet by hinkley on Sunday February 26, 2023 @01:58PM (#34948252)
I wonder if you drag Notebooks a bit back toward spreadsheets if there’s a product there.
Re:A Relational Spreadsheet by totalhack on Sunday February 26, 2023 @03:03PM (#34948814)
Check out NocoDB for an open alternative to AirTable.
Re:A Relational Spreadsheet by rrrrrrrrrrrryan on Sunday February 26, 2023 @03:09PM (#34948864)
Microsoft Access is this. It was quite popular in its heyday, but as time wore on, it turned out that people eventually either want scalable, real, full-blown databases, or infinitely flexible spreadsheets. Anything built with a product in that grey area in between will eventually want to go one way or the other.
Re:A Relational Spreadsheet by ghaff on Sunday February 26, 2023 @03:17PM (#34948932)
We've seen the same phenomenon in word processing/desktop publishing. We've mostly seen people coalesce around Microsoft Word and its online counterpart/competitors or go full-on desktop publishing with InDesign. People have mostly moved away from lightweight desktop publishing programs for newsletters and the like.
Re:A Relational Spreadsheet by zozbot234 on Sunday February 26, 2023 @04:27PM (#34949658)
Is SQLite a "scalable, real, full-blown database"? That's the scale that Access is going for. (Though it also totally works as a pure frontend to a "real" database connection.)
Re:A Relational Spreadsheet by randomdata on Sunday February 26, 2023 @05:44PM (#34950460)
SQLite can be used to help build a "scalable, real, full-blown database" application. JET, the SQLite-like engine used by Access, could theoretically be used in the same way.

But the topic here is about GUIs which serve the middle-ground between the "scalable, real, full-blown database" applications and the lowly spreadsheet. The SQLite project offers nothing that is comparable to Access.

Re:A Relational Spreadsheet by jiggawatts on Sunday February 26, 2023 @05:45PM (#34950467)
Access had the capability to use a full-blown SQL Server back end, while retaining 90% of the flexibility on the front end. For example, adding a column in Access would add a column in the database table!

We can have our cake and eat it too.

The mistake with Access was that instead of keeping a deathgrip on its legacy file-based roots, it ought to have "grown up" and become a web-native HTML5 app that uses SQL Server back-ends as the only option.

I still think there's a huge market for something like this.

Re:A Relational Spreadsheet by gigatexal on Sunday February 26, 2023 @06:50PM (#34951085)
Airtable does this, no? There’s just no SQL part. But they got the UI part down.
Re:A Relational Spreadsheet by pbronez on Sunday February 26, 2023 @07:25PM (#34951409)
I’m so annoyed there’s no SQL API for Airtable… even if it was read only.
Re:A Relational Spreadsheet by genman on Tuesday February 28, 2023 @05:55AM (#34967949)
There were two problems with Access - it looked too complicated and it looked ugly.

It is still available even in the 365 package but I can't remember when I used it last time. It was long time ago.

Re:A Relational Spreadsheet by erichocean on Sunday February 26, 2023 @03:15PM (#34948914)
> I want one for quick random edit.

DBeaver fills that need for me.

Re:A Relational Spreadsheet by burcs on Sunday February 26, 2023 @03:17PM (#34948930)
We're building www.outerbase.com to support this use case. We're in the latest YC batch and are hoping to do a launch HN in the near future, but would love to hear your thoughts on what we've built if you are up for checking it out!
Re:A Relational Spreadsheet by crazygringo on Sunday February 26, 2023 @03:57PM (#34949352)
For ad hoc data entry and random edits, I don't see how you're going to do better than pretty much any database GUI tool. You're just pulling up a table and locating and editing some rows, right?

There is an "in between" focused on structured data entry using forms (rather than tables), which used to be Microsoft Access (and Claris FileMaker), but these days is the realm of Airtable and Google Tables. But that's not ad hoc or random, you still have to build your forms and specify your validation rules and all. And they're more just about storing and retrieving records for small organizations, they don't support SQL directly.

Re:A Relational Spreadsheet by kgodey on Sunday February 26, 2023 @04:11PM (#34949494)
We are building a open source UI for Postgres DBs that should meet your use case: https://mathesar.org. We're doing our first release next week!
Re:A Relational Spreadsheet by gnum4n on Monday March 06, 2023 @05:18PM (#35048536)
The UI looks pretty neat, but the install instructions are essentially "curl {url}/install.sh | bash -", which is kind of icky and runs a bunch of sudo commands. Since you're using Docker anyway, why not provide human-readable instructions?

Or, alternately, separate the config process from the install process. I'd be much more comfortable running config commands from a script inside the docker container, or as a first-run setup UI, or as a simple .yaml config.

It does look like something I'd like to try out later, though. Either after the install process is cleaned up a bit, or once I have time to read through the whole install.sh script.

Edit: In case it matters, my personal preference is to install things as linux packages instead of Docker, but I understand that this is a stretch for early-access software.

Re:A Relational Spreadsheet by kgodey on Monday March 06, 2023 @05:46PM (#35048868)
This is all good to know, thank you for the feedback!

Our current installation process was spun out of our local development setup, which isn't ideal.

Cleaning up installation is one of the top things on our to do list. This also includes documentation for setting up Mathesar without Docker. We'd like to do Linux packages as soon as we can too.

Re:A Relational Spreadsheet by chaps on Sunday February 26, 2023 @05:03PM (#34950009)
How large is the data you're working with? Airtable (expensive, with serious row limitations) and its open source alternatives (apparently great, but I've never used one) are basically what you're looking for. They allow you to create relationships pretty trivially. I largely use airtable for collaborative data entry work with 1-10 others, where I need to eventually throw the data into postgres. It works great. Though, it's hard to say where its limitations are until you're a bunch of hours into a project -- some features you'd expect to be easy can be extremely hard, or limited.
Re:A Relational Spreadsheet by mamcx on Monday February 27, 2023 @09:46AM (#34957001)
I also work in [this space](https://tablam.org).

The tool that was great for this is FoxPro.

Is like access, but the genius thing is that it include a super-charged "repl" aka: the command window.

It allow to combine GUI + Help + Terminal in one single tool, so you can do

    use table
    browse // show a data table
    go first // you can navigate both by mouse/keyboard and by code!