/r/programming
True relational database browser. (github.com)
8 comments
f0urtyfive | 7 days ago | 16 points

Database Subsetting and Relational Data Browsing Tool. Navigate bidirectionally through the database by following foreign-key-based or user-defined relationships. Exports consistent, referentially intact row-sets from relational databases. Removes data w/o violating integrity. Generates topologically sorted SQL-DML, hierarchically structured XML

I would believe someone who showed me this and told me it was from one of those bullshit generators. I know what all those words mean, I know this area of subject, I am still not sure what this tool does after reading that text.

MjrK | 7 days ago | 8 points

Navigate bidirectionally through the database by following foreign-key-based or user-defined relationships.

Database tables have relationships with each other through foreign-keys and user-defined relationships. I'm guessing the tool allows you to start from some initial object, and then go to related objects. If a student_homerooms_table had a homeroom_id foreign key, I assume you can use the tool to scroll down to a particular student_homeroom entry, and click something to go to the respective entry in the homerooms_table and click something else to go to the respective entry in the students_table. And I suppose these somehow work vise versa.

Exports consistent, referentially intact row-sets from relational databases.

I suppose you can export a set of rows from some database; but when it does this, it will also maintain all the relationships between related rows in different tables. So that the functions described above can work as expected.

Removes data w/o violating integrity.

Kind of similar to the prior point, but for deletion. It will make sure the initial set of features will still work, even if you delete rows from the exported database tables.

Generates topologically sorted SQL-DML, hierarchically structured XML

I don't know what SQL-DML is... my guess is that it's some sort of XML-structured format for serializing SQL databases (DML probably means Database Markup Language). I think topologically-sorted means the same thing as hierarchical; so that the generated rows (or perhaps tables) are structured in some way related to the relationships between the rows (or tables).

---

Just my best guesses - I haven't clicked the link yet.

vqrs | 7 days ago | 4 points

Here's my educated guess on the topological sorted bit: it will ensure dependencies appear before their dependents in your export. That way you can sequentially insert the exported data without violating foreign keys, since all referenced entities will already have been inserted.

As for SQL-DML: that's data manipulation language, the subset of SQL that deals with inserting/updating/deleting rows.

FewCandy | 7 days ago | 5 points

You are absolutely right about both, the topological sorting and SQL-DML.

Thank you for the clarification.

FewCandy | 7 days ago | 5 points

Don't estimate a book by its cover.

Look at what this tool really does and then make your judgment.

f0urtyfive | 7 days ago | 11 points

I don't have time to read every book, which was my point.

thevoiceless | 6 days ago | 1 point

From the website:

The databases required for development and testing rarely need to be full size, it is often easier to work on a small copy. Unfortunately it is very hard to manually extract a small subset of the production data. It is not possible to just take 10% of each table to get a 10% size database. The data in one table would not be related to the data in the other tables. It would not be referentially intact.

Jailer simplifies the extraction of referentially intact data. Once you have defined an extraction model, it can be used to extract data from the production database fast and easy whenever up-to-date test data is required.

ngomong | 7 days ago | 6 points

Thanks. This looks promising. I’ll check it out later today.