CS-336: Principles of Database Managemnent Systems

01:198:336   	Principles of Database Managemnent Systems

Offered in:     FALL AND SPRING AND SUMMER

Credits:        4

Objectives:	Provides an introduction to the concepts and design
		principles used in database management systems. 
		Overview of principles of physical and logical 
		database design, query languages, transaction
		management, reliability and security. Relational 
		and Object Oriented Models. Advanced topics will
		include database mining, multimedia databases 
		and web access.

		This course is an upper division elective for CS 
		majors.  The course is open to all non-majors.

Prerequisites:  01:198:112 Data Structures
		01:198:205 Introduction to Discrete Structures I

Equivalents:    No equivalent courses offered by other 
		departments.  Students who previously took
		01:198:435 or 01:198:436 can not
                take 198:336 for credit.

Outline:	
   Week 1:	Introduction to database systems
		Key Principles. History. Entity Relationship Model

   Week 2,3,4:	Relational Model of Data. Relational Algebra
		and Calculus. SQL. Logical Query Optimization. 

   Week 5,6:	Physical Database Design. Primary and Secondary 
		Indexing. External Hashing. Query execution and 
		Physical Query Optimization.

   Week 7,8:	Integrity Constraints.
		Relational Database Design. Normal form approach 
		and its shortcomings. E-R based design. Semantic 
		Modelling

   Week 9,10:	Transaction Processing and Concurrency Control. 
		2 Phase Locking, timestamping.

   Week 11:	Database Recovery

   Week 12:	Distributed Databases.

   Week 13,14:	Object Oriented Databases. Complex Objects. 
		Persistence. Database Programming Languages.

Advanced Topics: Web access, multimedia, database mining (if time allows).

Expected Work:  Homework and programming assignments; project.

Examinations:   Midterm exam and final exam.

Required Texts: Database Concepts
		by H.Korth and A. Silberchatz