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
Post a Comment