Course Content
Introduction to Database Management Systems (DBMS)
- Database Management System: Definitions
- DBMS
- Benefits of database approach
- DBMS functions
- Database System
- Data Model
- Database Architecture
- An Example of the Three Levels
- Schema
- Data Independence
- Types Of Database Models
- Database Design Phasesfont>
Introduction to RDBMS
- Definition: RDBMS
- Features Of an RDBMS
- Some Important Terms
- Properties of Relations
- Keys
- Referential Integrity
- Summary
Relational Algebra
- Relational Query Languages
- Example Instances
- Relational Algebra
- Projection
- Selection
- Union, Intersection, Set Difference
- Cross Product
- Joins
- Equi-Joins
- Division
Introduction to Query Optimization
- Processing a high-level query
- Techniques for Query Optimization
- Motivating Examples
Conceptual Design Using The Entity-Relational Model
- Overview Of Database Design
- E-R Modeling
- Graphical Representation
- Types Of Relationships
- E-R Diagram: Some Examples
- Case Study
Schema Refinement and Normalization
- Normalization and Normal Forms
- Why Normal Forms
- The Evils Of Redundancy
- Refining an ER Diagram
- First Normal Form
- Functional Dependencies
- Example: Constraints On Entity Set
- Second Normal Form
- Transitive Dependency
- Third Normal Form
- Boyce Codd Normal Form (BCNF)
- Decomposition of a Relation Scheme
- Lossless Join Decompositions
- Case Study
ER Modeling and Normalization
- Case Study.
Transaction, Concurrency Control and Recovery
- Transactions
- The ACID Properties
- Why Have Concurrent Processes?
- Schedules
- Serializable Schedules
- Serializability Violations
- Cascading Aborts
- Recoverable Schedules
- Locking: A Technique For Concurrency Control
- Two-Phase Locking
- Handling A Lock Request
- Recovery
- Logging
- Handling the Buffer Pool
- Write Alead Logging
- Checkpoints in the System Log