For a personal-use module, what would be good practice for database tables?
Creating tables to go along with a custom module is acceptable and perhaps event "best practice" in the Drupal world. Using a separate database would require an additional connection via PHP which I suspect would be a waste of server memory but an option if you insist on doing so. Often there's no one "right" answer in Drupal. There are of course "best practices" which I encourage you to follow but there's a lot of room for personal style.