So as I understand it, you're currently using a Memento pattern to hold scheduling information, and your question pertains to how you can integrate this with a database.
Well the memento object must be able to save and restore the current state of a schedule. The actual saving of the state happens when the memento is created, so my idea is that you should grab all the data as you do already, but then you immediately persist that data to the database. The data can expand multiple tables, but have a parent table to deal with a memento instance to record one-to-one relationship. When you persist this instance, get its unique id that identifies that record and lets you retrieve all the data. This id then gets sent back to the memento. This means the memento now holds all the data and the id associated with it in the database, right?
Use the memento as you would normally. It has all the data already present and you should be able to continue using it normally throughout your program.
Now what about the scenario in which your program starts up and you need to restore a particular memento? You have a table with all your memento states saved! Grab a list of all their ids, and create a memento containing only the ids for each record.
When the data is requested for restoration, at this point, use the id to load all the information from the database. In this way, your program uses the mementos transparently. The memento state is persisted to the database, and everyone is happy. :)
You may or may not decide to hold onto the data you persisted with the memento. With this functionality, you can also choose to abandon the data in favor of holding just the id itself (so if the data is needed, you can once again retrieve it from the database). If you have the memory for it, and you think that data will be useful again, you may choose to simply hold onto the data to avoid necessarily having to load it again from the database.
I don't know what language you're using, but some languages such as Java support soft references which would be ideal here, which frees up the space in memory only if memory is required. Good luck!