Since we want to be able to persist changes to the data through our application, we must implement a solution that serves both for reading and writing operations.
We could write all the records to the same plain text file we read them from after every modification, but this may be an ineffective solution when updating some records individually.
Since all the information is going to be stored locally, we can use a SQLite database to persist our application data. The sqlite3 module is a part of the standard library, so you do not need any additional dependencies to start using it.
This recipe does not pretend to be a comprehensive guide to SQLite, but a practical introduction to integrate it into your Tkinter applications.