cse341_shams_sp2010

=CSE341: Database Systems=

Semester:
Spring 2010

Instructor:
Shams Naveed Zia

Program:
BS(CS), MBA(MIS)

== **Objective:** Objective of this course is to cover the theoretical and applied aspects of database management systems. It explains concept, modeling and implementation details of relational database management system. SQL, the standard language for interacting with databases, is covered in detail with the discussion of underlying theory of relational algebra. Advanced concepts of databases i.e. transaction management, Concurrency Control, Indexing, Security and Optimization are also introduced in this course. ==
 * Credit Hours:** 3 +1

Syllabus**:**
Data/ Database/ DBMS, History of Database Systems, File-Based Systems Data Models, Three-schema Architecture, Data Independence, DBMS classification & Architecture Type of Data Models, Relational Model Concepts, Entities, Attributes, Keys, Relationship, Recursive relationship, Degree & Cardinality, Integrity Constraints, Participation Constraints Composite & Multi-valued attributes, 1-1, 1-m, m-m relationships, Identifier Dependency, Existence Dependency, Weak Entities, Artificial Keys, Specialization and Generalization Concept of Set-based Operations, Relational Operations, Type of Joins (Theta join, Equi join, Natural join, Outer join), Universal & Existential Quantifiers Functional Dependencies, Normalization (1NF – 5NF), Denormalization Select/Insert/Update/Delete, Wildcard, IN/Not IN, EXISTS/NOT EXISTS, Aggregates, Group By/Having, Sub-queries, Correlated Queries, Derived tables, Stored Procedures, Views, Triggers, DDL - **Database Connectivity** Front-end to back-end database connectivity and query execution Indexing, Clustered and Non-clustered index, Dense Vs. sparse indexing, Fill Factor Transaction, ACID Properties, Transaction Schedules, Serializability, Precedence Graph Concurrency, Locks & Type of Locks, 2-Phase locking, Isolation levels Authentication vs Authorization, Role based Security, SQL Injection, Introduction to Data warehousing, OLTP vs OLAP, Introduction to Distributed Databases
 * - Introduction & History of Database Systems**
 * - Database Systems Concepts & Architecture**
 * - Data Modeling & ERD**
 * - Mapping from conceptual to logical model**
 * - Relational Algebra**
 * - Normalization**
 * - SQL**
 * - Disk Storage, Basic File Structures, and Hashing**
 * - Database Indexing**
 * - Transaction Handling**
 * - Concurrency Control**
 * - Database Security**
 * - Advanced Database Systems Concepts**

Textbook:
Database Systems: Design, Implementation, and Management By: Peter Rob, Carlos Coronel 6th Edition

- Database System Concepts By: Silberschatz−Korth−Sudarshan
 * Reference books**

- Fundamentals of Database Systems By: Navathe, Somayajulu, Gupta


 * Grading (Tentative)**


 * Assignments || 05 % ||
 * Quiz || 10 % ||
 * Project || 15 % ||
 * Term Exams || 30 % (15 + 15) ||
 * Final || 40 % ||

**Labs:**
Labs will cover database modeling in //Visio// and Database development, Querying, and transactions using //SQL Server 2005//. Some //C#// labs will also be conducted to give students an idea of database connectivity and data binding controls.

**Project:**
Students are required to do semester project in this course. Project will typically be an OLTP system implemented for any business domain.