Syllabus of Database Management System


Course Title: Database Management System
Course no: CSC-253 Full Marks: 60+20+20
Credit hours: 3 Pass Marks: 24+8+8

Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)

Course Synopsis: This is a first database course for B.Sc. Computer Science and Information Technology students. It introduces the fundamentals of database technology. Topics covered include: database concepts, Database System Architecture, E-R model, relational model, database
design theory, database languages, transaction management, concurrency control and database recovery.

Goal: There are two principle objectives for this course.
  • To introduce the fundamental concepts and methods necessary for the design
and use of a database systems.
  • To provide practical experience in applying these concepts and methods using
commercial database management systems.




Course Contents:

Unit 1: 17 Hrs.
Introduction: Characteristics of database approach, Advantages of using DBMS, Database concept and architecture, Data Abstraction, Data Models, Instances and schema, Data independence, schema architecture, Database Languages, Database Manager, Database Administrator, Database Users Data models: Entity-relationship Model: Entities and entity sets, Relationship and Relationship sets, Attributes, Mapping constraints, Keys, Weak and Strong entity types, E-R Diagrams, Reducing E-R Diagrams to Tables, Specialization and Generalization, Aggregation, Design E-R Database Schema Relational Model: Structure of Relational Database, The Relational Algebra, The Tuple Relational Calculus, The Domain Relational Calculus, Modifying the Database, Views. Historical Models: basic concepts of Hierarchical and Network Models. Relational Commercial Languages: SQL and Query By Example (QBE)

Unit 2: 14 Hrs.
Integrity & Security: Domain Constraints, Referential Integrity, Assertion and Triggers, Authorization & Authentication, Data encryption. Theory of database design: Functional dependencies, trivial and non trivial dependencies, closure of a set of functional dependencies, irreducible sets of dependencies. Normalization: non-loss decomposition and functional dependencies, first, second, and third normal forms, Dependency preservation, Boyce-Codd normal form.

Unit 3: 14 Hrs.
Transaction Processing: Desirable properties of transactions, Implementation of atomicity and durability, Concurrent executions, Schedules and recoverability, testing for Serializability. Concurrency Control: Overview of Concurrency Control, Locking techniques, Lockbased protocols, Timestamp-based protocols, Commit protocols, Optimistic technique, Granularity of data items, Time stamp ordering multi version concurrency control, Deadlock handling - detection and resolution. Database Recovery: Failure Classification, The Storage Hierarchy, Transaction Model, Log-Based recovery, Buffer Management, Checkpoints, Shadow Paging, Failure with Loss of Non-volatile Storage.

Laboratory works: The course involves a mini project using any one of the popular Commercial database packages like Oracle, MySql, MS SQLServer, MS Access etc.

Prerequisite: Be familiar with at least one high-level programming language such as C, C++ or Java. Introduction to Operating Systems, Data Structures and Algorithms.

Textbooks: A. Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts, 4th Edition, McGraw Hill (ISBN: 0-07-120413)

References:
  • C. J. Date, An Introduction to Database Systems, 8th Edition, Addison Wesley
  • Raghu Ramakrishnan, and Johannes Gehrke, Database Management Systems,
    McGraw-Hill, 2003. (ISBN: 0-07-246563-8)
  • Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems,
    4th Edition, Pearson Addison Wesley; 2003, (ISBN: 0321122267)

Homework
Assignments: Homework assignments can be given according to the course covered
throughout the semester.

Computer Usage: Windows or Linux based PC or workstation, Commercial database
package installed in the Database server.

Category Content: Science Aspects: 50%
Design Aspects: 50%

Comments