In OOPS each datablock is already visualised, along with all the links to different datablocks. In the same view can be visualised what data is flagged for db and what not. There are three different database states:
- not at all in db (plain data)
- flagged for saving to db
- data saved to db (or loaded from)
The current visualisation of datablocks fit the first state, the two others could have some marking with different colours. For example, flagged data could have a outlined triangle, the saved data could have the triangle filled with a specific colour, ie. green or red.
To flag data for saving to db a datablock could be left-clicked (or hotkey for selected datablocks), opening up a panel with fields to enter needed db-data. Also this panel could have buttons for saving the data.
When the data has been saved the panel could have a refresh button. This is esp. handy for people who link the data from the db, but don't 'own' it. On a later stage that user can press 'refresh' to get the latest data from the db.
Also in OOPS a 'refresh all from db' function could be provided, along with 'save all to db'.
The OOPS window can also provide for adding datablocks from a db, by allowing the user to open a datbrowser, which interfaces with databases, such that it looks like appending/linking from a local .blend
When a datablock links to other datablocks (downward), these datablocks would be flagged too, when their parent gets flagged. These should be turned off manually if not wanted. The other way can be done too, flag only the selected datablock.