Skip to main content

Three Most Important Things I Learned in CST363-30: Intro to Database Systems

In CST363-30: Intro to Database Systems, I learned many new concepts that changed the way I think about data and software development. The first important thing I learned was how relational databases like MySQL work. I now understand how to create tables, define primary and foreign keys, and use SQL commands such as SELECT, INSERT, UPDATE, and DELETE to manage data. Learning how to design databases using Entity-Relationship (ER) diagrams and normalization helped me see how organized structures reduce redundancy and improve data accuracy. This part of the course gave me a strong foundation for understanding how information is stored and related inside real business systems.

The second major thing I learned was how to connect databases with Java using JDBC. This skill showed me how programming languages interact with databases to build full applications. I practiced writing Java programs that could add, read, or update data in a MySQL database, and I learned how to handle transactions with commit and rollback. It made me realize the importance of managing errors and keeping data consistent. This connection between SQL and Java helped me understand how backend systems work in real projects, which is valuable for my goal of becoming a software engineer.

The third important lesson was learning about NoSQL databases like MongoDB. Unlike MySQL, MongoDB stores data as flexible JSON-like documents, which makes it easier to adapt when data changes. Through the labs, I saw how MongoDB is useful for modern applications such as e-commerce or social media platforms where data does not always fit into strict tables. Comparing MySQL and MongoDB helped me understand when to use each type—MySQL for structured, consistent data, and MongoDB for fast and flexible development.

Overall, this course gave me both technical skills and problem-solving experience. I learned not only how to store and retrieve data, but also how to design efficient systems that keep information reliable. These lessons connect directly to my future goals in software engineering and cybersecurity, where understanding how data is organized, secured, and accessed is essential. I feel more confident now in building applications that use databases effectively and in continuing to explore advanced topics like performance tuning, indexing, and large-scale data management.

Comments

Popular posts from this blog

CST462S - From Learning to Impact: My Service Learning Journey

What went well during my service learning experience was my ability to contribute meaningfully to the ASCENDtials web team. I was able to complete several tasks such as updating website pages, working on LifterLMS courses, and improving user experience through better layouts and navigation. I also communicated effectively with my team, asked questions when needed, and stayed consistent with meeting deadlines. Over time, I became more confident using tools like WordPress, WPForms, and course-building platforms. If I could improve something, it would be my time management and planning. There were moments when tasks felt overwhelming, especially when balancing schoolwork and service hours. I would also improve my confidence in decision-making, particularly when working independently on design or technical issues. Taking more initiative earlier and asking for feedback sooner would have made my work even stronger. The most impactful part of this experience was seeing how my work directly co...

CST438: Hands-On System Testing and Cloud Technologies

This week, I worked on both system testing and understanding cloud and distributed system concepts. One of the main things I learned was how to build Selenium system tests that simulate real user behavior. I created tests in which an instructor enters final grades and in which instructor-created assignments appear in a student’s view. While doing this, I learned how important it is to have all parts of the system running, including the frontend, backend, and external services like the gradebook. I also improved my debugging skills by fixing issues with Selenium, such as incorrect XPath selectors, missing UI elements, and unnecessary alert handling. I also learned how to properly manage my code using Git and GitHub. I created branches, committed my changes, pushed them to GitHub, and opened pull requests for review. This helped me understand a more realistic development workflow and how collaboration works in a team environment. In addition to coding, I reviewed several key concepts i...

WHERE I’m At: Midpoint Lessons in SQL and Beyond

 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, w...