Throughout this database course, I learned several valuable concepts and skills, but the three most important ones for me were integrating databases with Java, learning SQL, and understanding NoSQL with MongoDB.
First, the integration between Java and SQL helped me understand how real-world applications connect to databases. By creating repositories, writing queries, and using JDBC connections, I learned how data can flow between a program and a database, which is essential for any backend or full-stack developer. It also taught me how to handle exceptions, maintain data consistency, and structure code that interacts efficiently with database systems.
Second, learning the SQL language itself was a fundamental part of this course. I learned how to design relational databases, define relationships between tables, and use queries such as SELECT, JOIN, and GROUP BY to extract meaningful information. Understanding normalization, primary and foreign keys, and integrity constraints gave me a solid foundation in data management and design principles that apply to almost any system that handles structured data.
Finally, exploring NoSQL with MongoDB expanded my perspective on database systems. I discovered how flexible document-based storage can be compared to the rigid structure of relational databases. Learning how to use collections, documents, and queries in MongoDB showed me how NoSQL can be ideal for projects that need scalability and rapid development. This contrast between SQL and NoSQL helped me appreciate the strengths and trade-offs of both approaches and how to decide which one fits best depending on the project’s needs.