Halfway through this course, I can see how much I’ve learned and how it connects to both my past experiences and my future goals. One of the biggest takeaways has been understanding how SQL views work. I now know that a view is like a virtual table, useful for simplifying queries and presenting data, but usually read-only since it doesn’t store data itself. I’ve also learned the importance of normalization, which helps remove redundancy and ensures cleaner updates by splitting one large table into multiple related ones. Another valuable lesson has been comparing SQL with Java: SQL is declarative and focuses on the “what,” while Java is procedural and focuses on the “how.” This comparison helps me appreciate each language’s role in problem-solving. I’ve also seen firsthand how powerful SQL can be in real workflows compared to spreadsheets, such as enforcing business rules like course eligibility in a single query. Beyond SQL, I’ve grown as a programmer in general—planning better, writing cleaner and modular code, using unit tests more effectively, and applying version control to manage projects.
At the same time, I still have questions I want to explore. For example, I want to understand when denormalization makes sense, since sometimes performance outweighs strict normalization. I’m also curious about the exact rules for when a view can be updated, since most views are read-only but not all. Finally, I wonder how very large-scale databases, like those in e-commerce or social media, maintain performance and efficiency while handling millions of users. These questions motivate me to keep learning, and I feel confident that building on what I’ve learned so far will help me grow into someone who not only works with data, but also designs systems that tell its story effectively.
Comments
Post a Comment