Title slide
Slides : Recording

Today, another language for talking about databases. This one is the Tuple Relational Calculus for writing queries that describe information to be extracted from the linked tables of a relational database. There’s a separation of roles here: the tuple relational calculus is good for succinctly stating what we want to find out; while relational algebra from the last lecture describes how to combine and sift tables to extract that information from the data. We distinguish what information we want from how to compute it.

Huge, huge, huge thanks to Ruari who lent me his Facebook account to demonstrate Graph Search and last week was lucky enough to meet the Chuckle Brothers. While you might not like the Chuckle Brothers, Facebook says you have lots of friends who know people that do.

Links: Slides for Lecture 6; Recording of Lecture 6


Student taking notes

1. Read This

Either or both of these study guides.

Both are good, but only wikiHow has those pictures.

I like these brief guides from The University of Sussex, too.

2. Do This

Work through the exercises for Tutorial 2: Relational Modelling. For more practice, try some of the additional examples.


Mark Zuckerberg announcing Facebook Graph SearchA timeline of Facebook Graph Search.

From 2013 …

… to 2018

More search, less graph.

Some of those examples:

Build your own with http://www.intel-sw.com/blog/facebook-search

You can see some of the information available to identify and link people here: Facebook Graph Developer API

How it’s Done

Read the technical paper by the computer scientists who built this:

Unicorn: A System for Searching the Social Graph
Presented at the 39th International Conference on Very Large Data Bases, VLDB 2013

“Unicorn is an online, in-memory social graph-aware indexing system designed to search trillions of edges between tens of billions of users and entities on thousands of commodity servers.”

Lecture 6: Tuple Relational Calculus