Week 17: CST 363 - Introduction to Database Systems

 WK01: Starting CST363 – Introduction to Databases

This week I officially started a new course: CST363 – Introduction to Database Systems. The class looks like a solid mix of theory and practice. We'll design relational schemas, practice SQL queries, connect to databases programmatically, and even touch on NoSQL concepts like MongoDB. The syllabus makes it clear that this isn't just about running commands - it's about understanding the underlying algorithms, data structures, and principles that power modern database systems. That excites me, since databases are everywhere, from apps to analytics pipelines.

Relational Databases vs. Spreadsheets

At first glance, relational database tables and spreadsheets look the same - rows and columns full of data. But digging deeper, the differences are critical. Spreadsheets are flexible but mostly unstructured; you can mix data types freely, create ad hoc formulas, and manually tweak things. Databases, on the other hand, enforce strict schema rules, constraints, and relationships between tables. This structure allows consistency, prevents duplication, and enables complex queries across large datasets. In short, spreadsheets are great for small, one-off analyses, while databases are designed for scale, integrity, and shared access.

Why Databases Are Worth the Complexity

It's true that databases are harder to install, configure, and manage than simply reading and writing from a file. But the investment pays off. Databases handle concurrency, so multiple users can safely interact with the same data. They enforce integrity constraints to keep data accurate and reliable. They also offer powerful query languages like SQL, which make complex retrievals and aggregations efficient. Files are fine for simple storage, but databases turn raw data into a resource that can be searched, updated, and trusted at scale. That's why nearly every serious application relies on one.

Looking Ahead

What I most want to learn from CST363 is how to design clean, normalized schemas and write SQL fluently. I've used databases lightly before, but usually by following existing designs. I want to understand the why behind those designs - normalization, trade-offs between relational and document databases, and how queries are optimized under the hood. Professionally, I see this as essential: nearly any role in software development, data engineering, or analytics requires strong database skills. If I can leave this course with confidence in schema design and SQL, I'll be better prepared to contribute to real-world projects.

Comments

Popular posts from this blog

Week 4. Class: CST 300 - Major Pro Seminar

Week 2. Class: CST 300 - Major Pro Seminar

Week 5. Class: CST 300 - Major Pro Seminar