CS 3423: Database System Principles and Applications (Spring 2010)


Announcements:

Syllabus

Instructor:

Dr. X. Li
Office: 223 MSCS, 405-744-2338
Office Hours: MW 2:30pm-3:30pm
Email: xiaolin at cs
URL: http://www.cs.okstate.edu/~xiaolin

Class Meeting Time and Place:

Time: MWF 1:30pm-2:20pm
Place: CLB 222

Course Objective and Description:

Prerequisite: CS 2133 and CS 4343. An overview of database management systems, entity-relationship model, relational model, structural query language, relational algebra, relational database design with normalization theorems, XML; basic file organization and storage management; elementary e-commerce web application development; database systems and the Internet.

Required Textbook: 

DB System Concepts

Database System Concepts, Avi Silberschatz, Henry F. Korth, S. Sudarshan, McGraw-Hill, 5th Edition, 2005. [Amazon]

PHP and MySQL

PHP and MySQL Web Development, Luke Welling, Laura Thomson, Addison-Wesley Professional, 4th Edition, 2008. [Amazon]
(Recommended. Lots of tutorials on PHP and MySQL are available online.)

Other References: 

Course Homepage:

    http://www.cs.okstate.edu/~xiaolin/teaching/cs3423-s10

Course Outline (tentative):

  1. Overview of Database Management Systems
  2. The Entity-Relationship data model
    The E/R model, constraint modeling, weak entity sets
  3. The Relational Data model
    Basics of the model, E/R diagrams to relational designs, subclass structures, functional dependencies, and their rules, design, multi-valued dependencies
  4. Relational Algebra
    Algebra of relational operations, relational operations on bags, extended operations and constraints
  5. SQL
    Queries, sub-queries, modifications, defining a relational schema, views
    MySQL and PHP
  6. Constraints and Triggers
    Keys and foreign keys, constraints on attributes and tuples, modifications of constraints, schema-level constraints and triggers
  7. Storage and File Management
    Memory hierarchy, disk access, file structure, data representation
  8. Index structures
    Indexes, sequential indexes, B-Trees, hash tables
  9. Query execution
    One-pass algorithms, nested loop joins, two-pass algorithms, index-based algorithms, buffer management
  10. System Failures
    undo logging, redo logging, undo/redo logging
  11. Concurrency Control and Transaction Management
    serializable schedules, conflict-serializability, locks, recoverability
  12. Hot topics (optional)
    Data mining, information retrieval, search engine, data streaming, workflow

Grading Policies:

Note: Homework and programming assignments are due by 11:59pm of the due date (unless announced in class otherwise). Late homework will NOT be accepted. Late program penalty is 10% per day, according to the timestamp of your online submission. Only when verifiable extenuating circumstances can be demonstrated will make-up exams or extended assignment due dates be considered. Verifiable extenuating circumstances must be reasons beyond control of the students, such as illness or accidental injury. Poor performance in class is not an extenuating circumstance. Advise your instructor of the verifiable extenuating circumstances in advance or as soon as possible. In such situations, the date and nature of the make-up exams and the extended due dates for the assignments will be decided by the instructor.

Attendance Policy:

Attendance is strongly encouraged, but not required or monitored (except for the first two classes). Students are responsible for any material covered in class. Some of the materials covered in class will not be in the textbook. Announcements about homework, projects, programming assignments, etc. will be made in class and/or Desire2Learn or by emails. Students are encouraged to check the course webpage on Desire2Learn (or their emails in class accounts) regularly.

Collaboration Policy:

Discussion of techniques and ideas covered in class is encouraged. However, every line of all assignments must be your own. A statement required by the university: "Care must be taken that exam answers are not seen by others, that term papers or projects are not plagiarized by others or otherwise misused by others, etc. Even passive cooperation in a dishonest enterprise is unacceptable." In programming assignments, discussion of techniques in a natural language (such as English) is allowed, but a discussion in a computer or algorithmic language is not allowed. (Computer language discussions and questions are to be limited to the language and should not concern the assignment.) Stealing, giving or receiving any code, drawings, diagrams, texts or designs (from others or Internet) is not allowed. Project reports should be written in your own words; apparent copy (over 1 sentence) is assumed as plagiarism, if not quoted. In examinations, no discussion of any kind (except with the instructor) is allowed. No access to any type of written material is allowed. Students who do not comply with the above described collaboration policy will receive a grade of F in the course. Furthermore, the case will be reported to the University Officials.

OSU Syllabus Attachment, Spring 2010

http://osu.okstate.edu/acadaffr/aa/syllabusattachment-Spr.htm

Interesting Links