Proposal for Implementing Notion Table Database Functionality
Problem
I have been using your software and appreciate the work you have put into it. I've been thinking about a potential enhancement, and I would like to discuss whether you have ever considered implementing the database functionality of Notion tables. I believe it would be a great addition to your codebase.
Solution
Here are some key features I have in mind:
- The ability to add names to database tables.
- Establishing relationships between different database tables.
- Designating data sources, such as JSON, CSV, YAML files, etc.
- The provision of accessing the database table in DataViewJS via the API and the database table name.
- Specifying a folder to hold the database table files for easy retrieval of the tables.
If the above ideas could be realized, it would enable many tasks that were previously hard to imagine. I'm excited to hear your thoughts and whether you see potential for these features. I believe they could significantly enhance the usability and flexibility of your project.
Thank you for considering my proposal, and I appreciate your time and efforts in maintaining this project.
Additional details
No response
Hi @fmxh. I really appreciate the thoughts.
- Right now each table exists within a
.tablefile. You can change the name of this file by just renaming it in Obsidian. Could you clarify what you mean by adding names to database tables? - What kinds of relationships do you imagine between tables?
- As for the data sources, could you give me an example on the practical application of a
jsonoryamlfile? Does this go beyond the scope of importing from a file? - For dataviewJS, what operations what you want to preform? I am unfamiliar with integrating with Dataview
- For specifying a folder to receive database table files, what are you defining as a "table"? In my definition, a table would be a
.tablefile and you may have references to other markdown files and render/save using the frontmatter of those files
@trey-wallis
- I can imagine that @fmxh meant about relationships is to increase dimensionality of database. Example: one table is of companies with different details about the companies in columns. Than another is accounting table where you only use relationship link to the company which is a row in the 1st table. This is a simple example ofc not real use case.
- opening JSON or CSV without import or auto-import. I would use definitely this because I can use automatic backups of my contacts, time-tracker, etc to display in my daily notes and weekly and monthly review.
- I think for DataView you just need to be able to render embeds (maybe inline embeds would be enough.) It is used for displaying something from your data. Personally I would use it for calculations between many fields that are not in the same table (so it is different than formulas)