Exercise 2.1

Consider the general architecture of a DBMS.

  1. Where are the key functions of a DBMS implemented in this architecture?

  2. Where are the following artifacts/functions stored/performed?
    1. Basic SQL Queries
    2. Mapping of relations to disk pages
    3. Query optimization
    4. Transactions
    5. Stored procedures
    6. User authorization

Exercise 2.2

Build a relational model for a church database that includes people, each with a title, name, gender/sex and membership status, and families, each with a (full) address. Individuals can have a “roles” within their family (e.g., parent, child).

Try to ensure the appropriate integrity constraints.

Exercise 2.3

As time allows, add the following to the model in the previous exercise.

  1. Teams — The church maintains a set of leadership teams, e.g., elders, music, etc. People are assigned to potentially many teams and play a particular role on each of them for a particular time period.

  2. Homegroups — The church maintains a set of homegroups, e.g., Bible studies, with names and topics. People have at most one homegroup.

  3. Requests — Households, not individuals, are allowed to submit requests to the leadership, e.g., prayer requests, at a particular time. Each request is assigned to an individual person for followup action and a single-character access code.

  4. Mentors — Any person can have a mentor.