So, I'm going to make an app for my convenience and probably some others, and here's what makes me wonder:
I have no prior knowledge in databases, so I really don't know the most efficient practice in making a database. Here's the problem: let's say I want to make three dictionaries of different contexts. The thing here is, the user should be able to edit the dictionaries (add more words, etc), and make even more dictionaries as he wishes. I've come up with two ideas for this one but I don't know if these are valid ideas in database construction.
First one is making a lot of tables. There will be one table for listing down the dictionaries, which would look something like:
ID | Title | Name (for table construction)
Adding a dictionary (user inputs the title of the dict.) will auto-generate the table name, and a new table will be created for that dictionary. So if I have five dictionaries, there will be six tables.
Another one is having just two tables. One for listing down dictionaries, and the other for dictionaries themselves. This will force all dictionaries into one table, differentiated by another column called something like "category".
Category | Word | Meaning | etc
In this case, the "category" column will be used to sort out the dictionaries. (there will be a menu that lists down all the dictionaries, and when the user clicks one of them, its contents will be displayed, sorted using the "category" column) I think the problem with this is queries will happen all over the place, so it might be quite time-inefficient. But at the same time, I have no idea if making a lot of tables is a good idea.