CSE341_Database_Systems

= = = = =Reference Course Outline for:** __ CSE341: Database Systems __ **=

**Course Lead:**
Imran Khan

Course Description:

 * 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.**

Prerequisite(s):
CSE341,

Course Objectives:
One para description of the Course objectives.

Primary Coure Outline Link:
Primary Course Outline.

Typical Semester in which this course is offered:
Fall

Programs in which course is offered:
BS(CS)

- Introduction & History of Database Systems
Data/ Database/ DBMS, History of Database Systems, File-Based Systems

- Database Systems - Concepts & Architecture
Data Models, Three-schema Architecture, Data Independence, DBMS classification & Architecture

- Data Modeling & ERD
Type of Data Models, Relational Model Concepts, Entities, Attributes, Keys, Relationship, Recursive relationship, Degree & Cardinality, Integrity Constraints, Participation Constraints

- Mapping from conceptual to logical model
Composite & Multi-valued attributes, 1-1, 1-m, m-m relationships, Identifier Dependency, Existence Dependency, Weak Entities, Artificial Keys, Specialization and Generalization

- Relational Algebra
Concept of Set-based Operations, Relational Operations, Type of Joins (Theta join, Equi join, Natural join, Outer join), Universal & Existential Quantifiers

- Normalization
Functional Dependencies, Normalization (1NF – 5NF), Denormalization

- SQL
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

- Database Indexing
Indexing, Clustered and Non-clustered index, Dense Vs. sparse indexing, Fill Factor

- Transaction Handling
Transaction, ACID Properties, Transaction Schedules, Serializability, Precedence Graph

- Concurrency Control
Concurrency, Locks & Type of Locks, 2-Phase locking, Isolation levels

- Database Security
Authentication vs Authorization, Role based Security, SQL Injection,

- Performance Tuning
Horizontal/Vertical Partitioning, Indexing, Introduction to Query optimization

- Advanced Database Systems Concepts
Introduction to Data warehousing, OLTP vs OLAP, Introduction to Distributed Databases

Textbook
Database Systems: A practical approach to Design, Implementation and Management By: Thomas Connolly, Carolyn Begg, Anne Strachan 4th Edition

Reference books
Database Management Systems By: Ramakrishnan Fundamentals of Database Systems By: Navathe, Somayajulu, Gupta

Grading Policy
Assignments. 5% Quiz............. 10% Project.......... 20% Midterms...... 25% (12.5% each) Final............ 40%