You are correct on both parts. When a user makes the purchase you will update the column in your db table to indicate that they have successfully purchased the access. You will also want to record the date and time of the purchase so that you can determine when it expires.
For the notifying portion you would want to create a page that has a query on it that checks for users whose access is about to expire. You would then add in Universal Email to this page to send each of them a message about the pending expiration. Once the page is crafted and known to be working correctly you would want to make your cron job that executes the page on a daily basis.