In the past two decades of exposure to various databases and the tooling around them, I was generally disappointed using various database managers.
They are almost universally ugly and look like they have been made 20 years ago and then forgotten.
The UX is decades behind
Let's say you want to work with a specific table in a database. I will use a well-known application as an example here.
- Fire up the application
- Expand the server node to list your databases
- Double-click the database name to connect
- Wait while it connects
- Expand the database node to show the sub-tree with object categories
- Expand Schemas node
- Expand schema in question
- Expand Tables node
- Scroll to it or use a filtering text box to enter part of the name...
- Right-click on the table...
Application is trying to do too much at once
SQL is a super-powerful language. You use it to do everything from managing the databases to playing with the simple queries.
People using it vary in roles and the types of things they deal with on a daily basis differs a lot. DBAs need certain functionality, but data analysts need something completely different. Some people work with one database, others shuffle between many databases every day.
Covering all that in a single application is possible, and it is how it is usually done. However, this means a myriad of screens and each screen (or dialog) can have a dozen tabs with uncountable number of options. Most of people never need that.
We need a specialized, focused applications instead
There are some attempts to create small, modern, database managers. Those tools are far from where they should be.
In short, I am going to be building one. Mostly because I always wanted to use a great database manager - but also because I see a huge potential if done right.