CPSC 304

Introduction to Relational Databases

Course Description

Overview of database systems, ER models, logical database design and normalization, formal relational query languages, SQL and other commercial languages,data warehouses, special topics.

Average difficulty
2.5 / 5
Average quality
4 / 5
Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]

Enter your UBC CWL email here to enter in a raffle to win 50% off a CSSS Hoodie ($22.50 value) or one of five $10 AMS gift cards! Each course review is an entry in the raffle, with a maximum of five entries per person. Raffle will take place at the end of the 2022W2 term. This email will not be visible on the published review.

Email must end in ubc.ca.

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.
annonn, Feb 3 2023, course taken 2022W1
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
Vincent Cheng, Jun 22 2020
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.
/u/UBC110TA, Jan 26 2020
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.
/u/creamenator, Mar 5 2014
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.
/u/vaastav05, May 23 2019

Historical grade information

Grades information from UBC Grades Database