I recently started working as a data steward for SEAD, a large relational database. We have a complex data structure, for which we have a publicly visible structure map.
I would like to import the database structure (that is to say the names of the tables and columns as the names of individual notes, plus all of the associated metadata as properties for each note and the comments as text in the note) into Obsidian. Ideally with a folder structure to show which ones are grouped under what, and with links between them.
The reasons I would like to do this include:
The ability to see the connections in the obsidian graph view, which is more dynamic than the graph in the above link
Easier mapping of new data types to the existing structure prior to data ingestion. (Using links to the target tables and columns. In the cases of multiple target columns that might apply, we could link to them all, and later discuss with colleagues and the data owner for the new data to select the best match)
Having this information Obsidian with its ability to link between notes should give me an easier to use and understand system for data mapping than the excel spreadsheets that are currently used.
Things I have tried
So far I have found help for importing data. What I want to import is not the data, but the database structure. Is there a way to do this?
I imagine that it should be possible to accomplish my basic wish list to import:
names of the tables and columns
all of the associated metadata
comments
It would not surprise me if the rest of my wish list will need to be done manually, after import, but if there is a way to also import the structure such that the notes are sorted into nested folders with appropriate names, and there are links between the notes reflecting the links that exist in the database, I would be very happy to learn how to accomplish this.
So, I really don’t know, and I don’t know anything about your database structure specifically. But my first impression is that this would be reversed.
You’d likely need to do something manually before importing. For example, writing a processing script that would parse your database information and write it out as Markdown files with properties, tags, comments, folder structure, etc.
I don’t know if there exists any general toolset for custom imports from a database. There are specific importers from common note tools.
If you can find a way to parse and export your database info as Markdown files, Obsidian will happily read and use them. The notes are stored plainly as text and folders.
Obsidian is quite new (five years, 2020) so you don’t find publicly available tools that import database structures to Obsidian. You have to implement such tool yourself. This requires either coding skills or hiring a programmer. This post was for Notion import and there are no other related posts regarding database import (not with tag Share & showcase):
The tag Share & showcase is used to share valuable information such as the thing you are asking for.
Thanks for sharing your thoughts on this. I have no experience with markdown, so I suppose I will need to learn.
The database structure I linked to above has a tab that shows all list of the names of all of the tables in the database, along with the number of rows in each, the type (all tables, if you choose table), and comments. This list can be exported as a spreadsheet, csv file, or pdf.
There is another tab that shows the columns of the database, and this list has all of the above, plus the column name, its type, size, if it is nullable, if it is auto, what default value it has (if any). This list is also exportable in all of the above formats.
Since the columns list also contains information for the table each is part of, it might work to just work with an export of the columns list?
I suspect that I need to talk with the database programmers, but that will likely need to wait till autumn, since Sweden shuts down for summer break.
Oh, thanks for that, I am new enough here, I didn’t know about that tag. Indeed, I hadn’t really even noticed that forum messages had tags, but now I will look for them.
As I mentioned in my reply a moment ago, this project will likely need to go on hold till I have time to talk with the database programmers, so this particular thread is likely to close automatically before I accomplish what I am trying to do, but I will make a point of using the Share & showcase tag if I ever get something that works. There may be others who would enjoy seeing their database structure in the Obsidian graph view.
Yes that might work. If you can’t write a script to directly interact with the database, exporting to a different format would be an excellent first step. You’d then write a script or tool to parse the spreadsheet (or whatever) into Markdown.
I just did a quick look, and the first handful of hits for a search for “parse spreadsheet into markdown” seem to have the goal of taking a spreadsheet and making a table of it. I don’t think this is what I want (though the apps that do this appear to do it very quickly and easily).
Do you by any chance have a suggestion on what search terms I will need to find information that will help me learn how to get a markdown output that will let me take a spreadsheet and designate:
one of its columns as containing names of what will eventually be the note in Obsidian
another of the columns as the text of each note
one of the columns as the name of the parent folder for each note
make most of the rest of the columns into properties of the notes
I am not certain if I am not finding what I need because I just don’t have the right search terms, or if it is because this is an unusual wish list. But thanks again for your willingness to reply!
No sorry, I don’t have any definitive terms to search. You are sort of asking a specific question about a general set of tasks.
A script (or the programmer writing it) would need to figure out the structure based on the shape of your data. But unless someone took those exact steps, you won’t find a specific guide to follow.
It’s not unusual. This is a very common and straightforward type of programming task.
But you might accidentally teach yourself to program in general trying to piece the steps together.