All our knowledge brings us nearer to our ignorance,
All our ignorance brings us nearer to death,
But nearness to death, no nearer to God.
Where is the Life we have lost in living?
Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?
The cycles of Heaven in twenty centuries
Bring us farther from God and nearer to the Dust.
– T. S. Eliot, The Rock, 1934
  1. Database Management Systems — Focus on Sections 1, 4 (intro only), 7 & 7.1.

    1. Distinguish between database and database management system.
    2. A DBMS is a program that generally provides facilities for what four things?
    3. What is the significance of E.F. Codd’s paper “A Relational Model of Data for Large Shared Data Banks”?
    4. What were database systems like before the development of the relational model?
    5. Compare and contrast external, conceptual vs. internal schemata (aka, views).
  2. Relational Model — Focus on the overview and Sections 3 & 4.

    1. Who developed the relational model?
    2. What does it mean for a model to be declarative?
    3. Be able to explain and use the following concepts: relation, tuple, column, field, NULL, integrity, primary and foreign keys.
    4. Compare and contrast relational keys and traditional pointers.
    5. Considering the example given in Section 4, is the relational model object-oriented?
  3. Re-read Postman’s article: “Five Things We Need to Know About Technological Change”, focusing on the third of his ideas.

    1. Briefly name Postman’s five ideas.
    2. Describe his third idea and explain whether or not you agree with him.
  4. Technology Stack

    1. PostgreSQL & ElephantSQL— We will use PostgreSQL as the Database Management System (DBMS) in this course as implemented by ElephantSQL. Before the lab, create a (free, “TinyTurtle”) account on ElephantSQL and create a DB instance as specified by the Getting started tutorial.