Home | |||||||||
Syllabus | |||||||||
Project | |||||||||
ER-Model | |||||||||
Sample Database | |||||||||
Assignments | |||||||||
Downloads | |||||||||
Links | |||||||||
Contact |
This part of the
program offers an introduction to the design and use of database systems. We
cover design using the entity-relationship model, an overview of the relational
model, how to convert E/R models to relations, and how one uses a relational
database system to create a database. SQL (Structured Query Language), the
standard query language for relational databases, will be learned and
experienced. We shall also
study some other database languages, both concrete and abstract, including
relational algebra, ODL/OQL (the object-oriented database standard), JDBC (the
Java interface to SQL databases, and XML (the most popular way to create
structured data with semantics). While very
similar to content of previous courses in DBMS I’ve done in SOS, the course
this year is closely modeled after Jeff Ullman’s (and others) database
class at Stanford. We are
participating in a pilot project to export those materials to other colleges
and will use that book, and material from their lectures and exercises. Class Time: Lecture/Workshop: Mon 1-3 LIB 1316; Wed 11 – 12, LH2 lab&help Thu
10-12, ACC Text(s): A First Course in Database Systems, by J. D. Ullman and J. Widom. However, if you are planning to
be a database professional, you should get Database Systems: The Complete
Book by H.
Garcia-Molina, J. D. Ullman, and J. Widom, instead. The former is the first 10
chapters of the latter. We will be using MS SQL Server, and there is ample documentation on line “Books On Line”. If you want a book: SQL Server 7 A Beginners’ Guide is not bad. You will also want to get one of several SQL Server manuals and possibly a manual for the SQL standard. Here are some suggestions:
Project:
Everyone will write his or her own database application. Some work on
the project will be assigned each week, beginning with selecting your
application, designing the database, obtaining and loading your data into a
real database management system, and finally writing a number of SQL queries,
Java programs with embedded SQL queries, and exercising other features of SQL. For the project you may use SQL Server,
or the database you are using for your year-long project. Written
Homework and Lab Assignments: 1) some conventional homework questions will
be assigned each week, 2) steps of your database application, 3) small exercises using EU-BID or EU-Lease
(from fall quarter) on which we will learn to write SQL queries and Java
programs with embedded SQL. There will be
midterm and (short) final exams, and a presentation (to the class) of your
project. For lab sessions
and your project work, we will use MS SQL Server, Java, JDBC. If your year-long project is using
another DBMS, you may use that instead of SQL Server for your project. We will spend
roughly the first two weeks on design, moving from our fall quarter work with
Object Oriented Domain Modeling to Entity Relationship Modeling, which is the
basis for relational database design.
The second three weeks we will focus on SQL. During the
second five weeks of the quarter, we will cover more advanced topics (see
below) and in lab (and for your DBMS project) work on exercises with embedded
SQL in Java. If time, we will do a
lab on making the database accessible from the web (using Enhydra as the bridge
between SQL Server and the browser).
|