In this course we are first going to study the relational algebra. We do this because it teaches us what a database system can do.
The relational algebra contains the fundamental operations of a database system. Just like we learn about adding, subtrackting, multiplying and dividing numbers first, and then move to more complex aspects of arithmetic, algebra and other mathematics, we first study the main database operations and then move to other aspects of data manipulation, like the use of declarative languages. The fundamental operations are called projection, selection, cartesian product, union, difference and renaming. We will start using them during the first labsession.
The way in which we study the relational algebra is twofold: we learn how to translate natural language questions to expressions in the relational algebra. Secondly we learn to translate algebra expressions to natural language. Both skills together teach us a firm understanding of the meaning of the relational algebra operations, about what they can do and under which circumstances which operators are used.
Learning a new language requires a lot of practice. In the beginning the relational algebra may sound like jibberish, just like your mothertongue sounded like jibberish when you were a newborn baby. It took years of practice to learn a natural language. We will now learn the relational algebra in just a few weeks. It goes without saying that this can only succeed if during these few weeks you practice a lot.