CS145 Lecture Notes (1) -- Introductory Material


This lecture material complements the assigned readings: Chapter 1 of the textbook, and the Introduction to "SQL for Web Nerds" by Philip Greenspun (linked from the Course Schedule). Please do the readings.

Database Management System (DBMS):
Provides efficient, reliable, convenient, and safe multi-user storage of and access to massive amounts of persistent data

Most familiar use: many web sites rely heavily on DBMS's. (And you will build one!)

Examples: (solicit from class)






Non-web examples of DBMS's: (solicit from class)





Example: Online Bookseller

Data = information on books (including categories, bestsellers, etc.), customers, pending orders, order histories, trends and preferences, etc.


Multi-user example and discussion

Jane and John both have ID number for bookseller gift certificate (credit) of $200 they got as a wedding gift.

Jane @ her office: orders "Database Systems: The Complete Book" ($100)

  prompt user for credit ID;
  get credit from database;
  if credit >= 100 then
      credit := credit - 100;
      issue order to mail book;
      if OK then put new credit into database (else handle error);
  else print "sorry"
John @ his office: orders "A First Course in Database Systems" ($85)
  prompt user for credit ID;
  get credit from database;
  if credit >= 85 then
      credit := credit - 85;
      issue order to mail book;
      if OK then put new credit into database (else handle error);
  else print "sorry"
Initial credit = $200
Ending credit = ???

A DBMS is a Software System














































Mainstream DBMS Vendors and Open-Source

  • All are "relational" (or "object-relational") database systems at their core.

  • All commercial vendors also provide XML support, either built-in or built-on-top.


    Terminology and Basic Ideas

    Data model

    Schema versus data

    Data Definition Language (DDL)

    Data Manipulation Language (DML)

    People


    Nontraditional Data Management

    Towards the end of the course we will learn about systems being developed to address some of these applications.