Removed the custom exception. Added new functions.

I decided the RecordDoesNotExistError was unnecessary in this project.
If the sqlite3 module doesn't include exceptions for when reading or
updating non-existent records, there's probably a good reason for it.

I added readProductName and readID functions. These will help us to
determine the existence of products and their IDs in the database.

Finally, I decided to change the coding style to camel-case instead of
the traditional underscores. This decision was purely personal
preference.