How comfortable are you with taking your projects and creating a high level diagram of the different classes and related attributes, functions, and interactions between them?I'm so new to all this I find it a bit daunting to even know where to begin. How do self-taught people learn this stuff generally?
Second, if you are looking to start into databases with SQL your program will need to have a more solid concept of "permanance". You can start with a "dummy" database hardcoded but eventually you will need to be able to dynamically create your database from user/device inputs. These should be able to persist beyond compilation of your program in the IDE. This was a bit of a new concept from the coding background I had when I was introduced to SQL.
Finally, you will soon find set lessons and examples give diminishing returns as you become comfortable with software design concepts and program syntax. Start looking for basic projects you can implement that interest you. Find something functional and add a "data mining" element to it. One of my first projects was literally monitoring moisture sensors on my houseplants and sunlight intensity from a photoeye. The project grew out of a need to use the photoeye to trigger a once a day moisture routine. I shoehorned a database in with moisture readings and light intensity stored as well as the if/then type program triggering watering cycles.