CSC 101 CompLit, Fall 1996
Merrie Bergmann
Ileana Streinu
Dominique Thiébaut

Lecture 24

Tuesday, December 2,1996

Databases

Reading: Chapter 13, textbook.

Software to be introduced: Microsoft Access, from Microsoft Office.

Also, some of the material (video clips) shown in previous classes will be referred to, as well as references to topics previously discussed in the "Algorithms" lecture.


Overview:

  1. What is a database?
  2. Problems: creating, maintaining, querying the database.
  3. Example: creating and exploring an Access database.
  4. Searching and sorting, fundamental underlying algorithms.
  5. Security issues.

What is a database?

Data organized so that specific items are easy to find. Usually organized around a topic or a key, which is an identifier or a special number (such as a SSN for a person or a call number for a book). The key makes individual data items and the information associated with them easy to locate.

Non-electronic databases: library catalogues ( a bit of history, maybe a video clip).

Modern database example: a library catalog database. E.g. the Five Colleges, at:

telnet fclibr.library.umass.edu

(from a PC, Mac or sophia - can be done from home, too!)

Based on the options offered for searching the library catalog, what do you think is the relevant data stored with each item in the database? What is the key uniquely identifying an item in the database? What information can be used as search keys in the database? (author, title, call number, etc.): but author, title, etc. may not be unique.

Example: a search by author may produce several authors with the same (last) name, and several books by the same author. A search by title may produce several books with the same title. Only a search by call number guarantees uniqueness (unless the library has several copies of the same book).


Creating a Database:


Querying a Database:

Need to specify:


Maintaining a Database:





Inside DBMSs:

(Fundamental algorithms implemented in a DBMS)

Searching:

Sorting.

Given: a database organized around a certain key.

Want: to arrange it in (say) increasing order of that key for faster access.


Grand finale(surprise): my favorite example of a non-electronic database.