Database Programming
Comp 353-001/453-001
Spring 2013: Mondays, 4:15-6:45, Corboy L08
This course will use sakai, not blackboard.
Text: Elmasri & Navathe, Fundamentals
of Database Systems 6e, Pearson 2010, ISBN-10: 0136086209,
ISBN-13: 9780136086208
There will be several assignments during the semester, plus a midterm
and final. The assignments will be worth about 30% of your grade, the
midterm 30%, and the final 40%. The midterm will be March 18; the final
will be Monday, April 29, at our usual time.
My general course groundrules are
here.
Here's where to get MySQL
Community Server, an open-source database. The current version is
5.5.29, although earlier versions will almost certainly work as well. I also
recommend downloading the reference manual. (Note that Oracle, through its
purchase of Sun, now owns the commercial part of MySQL.) I believe you do not have to create an account to
download MySQL, though they ask you to.
If you wish, here is where to get Oracle
Database 11g Release 2 (standard edition). I do not anticipate any
student assignments requiring oracle. You may have to create a free account
before you can download, and to do that you must sign up for at least one
mailing list (you can cancel later). (Maybe this has changed?)
We will also use Postgresql in class, at postgresql.org,
in some class examples.
Further
installation information is here (for MySQL, WAMP and Oracle)
Here are some additional notes on
installing WAMP (windows LAMP), from EACOMM.
Final exam study guide, with solutions. You
will be given these notes for the final,
and may also bring two pages (two sides, total) of your own notes.
Midterm study guide, with solutions
The course-evaluation survey is here: https://surveys.luc.edu/opinio6/s?s=49273
Class notes and readings:
Week
1, Jan 14
Jan 21: MLK day
Week
2, Jan 28 Homework 1
Week
3, Feb 4
Week
4, Feb 11 Homework
2
Week 5, Feb 18
Week
6, Feb 25
Spring break
Week
7, Mar 11
Week
8, Mar 18
Week
9, Mar 25
Week
10, Apr 1
Week
11, Apr 8
Week
12, Apr 15
Week
13, Apr 22
Assignments
PHP project
Alternative Java project
Examples
The company database (spreadsheet, files). To load
this into MySQL, the two main files are the table
definitions and the data-insertion
commands. You can paste these in, or use the source
command in MySQL.
The university database (E&N p 8, Fig 1.2) is here: student.text.
I added three additional students, and their grades. You should be able to
paste this in to MySQL.
We will consider some of the following topics:
- Relational model
- normal forms
- SQL
- SQL and Java: JDBC
- SQL and PHP
- Indexes
- Query optimization
- Transactions and concurrency