Hi Darek,
I agree that now all parts of the data structures are optimal, but I also think that it’s not too bad. Custom Post Types are a good concept, and even though TablePress (a plugin) is adding data there, it’s data after all, and it can be read by other plugins as well. Options are stored in different places, so that’s fine.
Yes, those empty CSS files can be deleted. They are basically the location where TablePress stores the “Custom CSS” from the “Plugin Options” (there’s another copy in the database), so that the CSS can be loaded from a file, with caching.
I’m not sure why you are seeing empty CSS files there, as TablePress would delete them in that case, but it’s no problem to delete them manually, if you don’t have any “Custom CSS” on the “Plugin Options” screen.
And indeed, the table content is stored in one text field in the database. That’s not really an issue at all for the database or the performance (it doesn’t matter, if the DB has to return one big field or several thousand small ones). The only real drawback is that one can’t run DB queries against the table data, but that’s not something that TablePress wants to offer anyway.
Large tables with several thousand rows are more an issue on the “Edit” screen, as most browsers have problems with that many text fields then.
Regards,
Tobias