CST363 Reflection (10/24/24)

Throughout this course, I gained a comprehensive understanding of how modern database systems are designed, implemented, and managed. The three most important concepts I learned were relational database design, SQL and query optimization, and the contrast between relational and NoSQL systems.

Relational Database Design and Normalization
One of the most valuable lessons was learning how to design efficient relational schemas using Entity-Relationship (ER) modeling and normalization. Understanding how to structure data to reduce redundancy and maintain integrity provided a strong foundation for building scalable, maintainable databases. The process of converting real-world entities into properly normalized tables helped me appreciate the balance between data organization and query performance.

SQL and Query Optimization
Developing proficiency in Structured Query Language (SQL) was another key achievement. Through various labs and assignments, I learned to write complex queries involving joins, aggregations, subqueries, and views. I also learned how indexes, storage structures, and query plans impact performance. This knowledge deepened my understanding of how databases execute queries and how to optimize them for efficiency.

Relational vs. NoSQL Databases
Finally, exploring NoSQL databases like MongoDB helped me understand the trade-offs between structured relational systems and flexible document-based models. I learned that while relational databases excel at maintaining consistency and supporting complex queries, NoSQL databases are designed for scalability and handling unstructured or evolving data. This comparison clarified how different database architectures are suited to different types of applications.

Reflection
Overall, CST363 strengthened both my theoretical understanding and practical skills in database systems. I can now design normalized schemas, implement and query databases programmatically, and make informed decisions about when to use relational or NoSQL systems. These skills will be essential for future software development and data-driven projects.

Leave a Comment

Your email address will not be published. Required fields are marked *