Overview of database systems, ER models, logical database design and normalization, formal relational query languages, SQL and other commercial languages,data warehouses, special topics.
Scroll to see reviews
2.5 / 5
4 / 5
Teaches all the basic you need to get started with Relational Databases. Highly recommend taking this course even though it is not a required course for the CPSC major. The project was easy and almost everyone got a 100% in it. Course final and assignments were also easy. Not too heavy course load.
CPSC 304 is UBC’s introductory course to relational databases…you’re not expected to have had any exposure…prior to taking this course. You’ll learn about a fairly wide breadth of material; this includes database design (Entity-Relationship models), the relational model, formal relational query languages (relational algebra), writing actual queries (using SQL and datalog), normalization and normal forms (3NF, BCNF), and a few miscellaneous topics near the end of the course like XML. In 2013W1, CPSC 304 also covered topics that have apparently since been moved to CPSC 404 now (as of 2015), including logging, crash recovery, and concurrency control. I’m not entirely sure I understand the rationale; yes, the topics that were moved are more pertinent to CPSC 404 because they cover database internals, which isn’t the focus of 304, but I felt that the pacing of 304 was pretty good already to begin with. Anyways, I digress… Read more
You learn SQL in 304, so if your co-op job involves a lot of you coming up with SQL queries and working with databases, you’ll also find it useful.
304 was incredibly boring for me. I just did not enjoy any of it. I got my A+, and felt so dissatisified with the course. They hype up this huge project and in the end, your marking scheme is a checklist which would have made your life so much easier if you had it in the beginning of the course. The TAs were sort of all over the place during tutorials, and the book is incredibly dry.
Its an easy course. If you have done sql before this is mostly a cakewalk except some relational algebra stuff. I personally got bored halfway through the course because I had prior exposure to the material.
Historical grade information
Grades information from UBC Grades Database