Introduction to Databases: Introduction, Characteristics of database approach,
Advantages of using the DBMS approach, History of database applications.
Overview of Database Languages and Architectures: Data Models, Schemas,
and Instances. Three schema architecture and data independence, database
languages, and interfaces, The Database System environment. Conceptual Data
Modelling using Entities and Relationships: Entity types, Entity sets,
attributes, roles, and structural constraints, Weak entity types, ER diagrams,
examples, Specialization and Generalization.
Relational Model: Relational Model Concepts, Relational Model Constraints
and relational database schemas, Update operations, transactions, and dealing
with constraint violations.
Relational Algebra: Unary and Binary relational
operations, additional relational operations (aggregate, grouping, etc.) Examples
of Queries in relational algebra.
Mapping Conceptual Design into a Logical Design: Relational Database Design using ER-to-Relational mapping.
SQL:SQL data definition and data types, specifying constraints in SQL, retrieval
queries in SQL, INSERT, DELETE, and UPDATE statements in SQL,
Additional features of SQL.
SQL : Advances Queries: More complex SQL retrieval queries, Specifying
constraints as assertions and action triggers, Views in SQL, Schema change
statements in SQL.
Database Application Development: Accessing databases
from applications, An introduction to JDBC, JDBC classes and interfaces, SQLJ,
Stored procedures, Case study: The internet Bookshop.
Internet Applications:
The three-Tier application architecture, The presentation layer, The Middle Tier
Normalization: Database Design Theory – Introduction to Normalization using
Functional and Multivalued Dependencies: Informal design guidelines for
relation schema, Functional Dependencies, Normal Forms based on Primary
Keys, Second and Third Normal Forms, Boyce-Codd Normal Form, Multivalued
Dependency and Fourth Normal Form, Join Dependencies and Fifth Normal
Form.
Normalization Algorithms: Inference Rules, Equivalence, and Minimal
Cover, Properties of Relational Decompositions, Algorithms for Relational
Database Schema Design, Nulls, Dangling tuples, and alternate Relational Designs, Further discussion of Multivalued dependencies and 4NF, Other
dependencies and Normal Forms
Transaction Processing: Introduction to Transaction Processing, Transaction
and System concepts, Desirable properties of Transactions, Characterizing
schedules based on recoverability, Characterizing schedules based on
Serializability, Transaction support in SQL.
Concurrency Control in Databases: Two-phase locking techniques for Concurrency control, Concurrency
control based on Timestamp ordering, Multiversion Concurrency control
techniques, Validation Concurrency control techniques, Granularity of Data
items and Multiple Granularity Locking.
Introduction to Database Recovery Protocols: Recovery Concepts, NO-UNDO/REDO recovery based on Deferred
update, Recovery techniques based on immediate update, Shadow paging,
Database backup and recovery from catastrophic failures