
Database Systems Management and Transaction Processing
Learn to handle transactions, concurrency control, and recovery in database systems.

Track
Software Development
Level
Intermediate
Language
English
Duration
30 hours
Learning Mode
Learn at ALC or at Home
Introduction
- To introduce the procedural extension of SQL (PL/SQL) and train students to write modular and reusable blocks of code.
- To enable the use of triggers, assertions, and stored procedures for automated integrity and business rule enforcement.
- To integrate Java applications with relational databases using JDBC, SQLJ, and dynamic SQL techniques.
- To strengthen understanding of data design principles, normalization, and functional dependencies for eliminating redundancy.
- To provide the foundation and practice for transaction management, concurrency control, and database recovery strategies.
- To teach how to implement ACID properties, analyze schedule serializability, and maintain data consistency in multi-user environments.
What you'll learn ?
- Construct and execute PL/SQL blocks, aggregate queries, and parameterized procedures.
- Create and manage database triggers, handle cursors, and apply dynamic SQL effectively.
- Implement JDBC-based applications for data connectivity, manipulation, and metadata access.
- Identify and resolve data anomalies, and design well-structured schemas using 1NF to 5NF and Boyce-Codd Normal Form (BCNF).
- Apply normalization algorithms, dependency preservation, and lossless join techniques in schema design.
- Analyze and implement transaction properties, including commit points, system logs, and concurrency protocols.
- Design recovery and transaction processing systems with an emphasis on real-world TPS models.
- Evaluate transaction schedules for conflict serializability, recoverability, and consistency assurance.
Syllabus
Advanced SQL Queries
- Write a PL/SQL Block of code
Triggers in SQL
- Introduction to Triggers in SQL_1
- Assertions vs Triggers
- Views in SQL
- The DROP Command
- The ALTER Command
- List Data Definition Languages (DDL) Commands of Base Table and View
- List Data Manipulation Language (DML) Of Base Tables and Views
- SQL Query Using Grouping Functions
- Insert, Delete and Update Triggers
- Database Trigger on Library Table
Database Application Development
- Accessing Databases from Applications
- Cursors
- Introduction to JDBC
- JDBC Classes and Interfaces
- JDBC Driver Management
- Connections
- Executing SQL Statements
- Result Sets
- Matching Java and SQL Data Types
- Exceptions and Warnings
- Examining Database Metadata
- SQL in Java (SQLJ)
- Stored procedures
- SQL/PSM
- Write a SQL block
Database Design Theory
- Introduction and Objectives to DB Design
- Informal Design Guidelines for Relation Schema
- Redundant Information in Tuples and Update Anomalies
- Generation of Spurious Tuples
- Functional Dependencies - Definition and Diagrammatic Notations
- Normal Forms based on Primary Keys
- Boyce-Codd Normal Form
- Multivalued Dependency and Fourth Normal Form
- Join Dependencies and Fifth Normal Form
Normalization Algorithms
- Inference Rules, Equivalence and Minimal Cover
- Inference Rules for Functional Dependencies
- Equivalence of Sets of Functional Dependencies
- Properties of Relational Decompositions
- Algorithms for Relational Database Schema Design
- Nulls, Dangling Tuples and Alternative Relational Designs
- Inclusion and Template Dependencies
- Functional Dependencies Based on Arithmetic Functions and Procedures
- Domain-Key Normal Form
Transaction Processing
- Features and Types of Transaction Processing
- Single-User vs Multiuser Systems
- Transactions, Database Items, Read and Write Operations and DBMS Buffers
- Transaction and System Concepts
- ACID Properties
- Commit Point of a Transaction
- DBMS Specific Buffer Replacement Policies
- Characterizing Schedules Based on Recoverability & Serializability
Work-Centric Approach
The academic approach of the course focuses on ‘work-centric’ education. With this hands-on approach, derive knowledge from and while working to make it more wholesome, delightful and useful. The ultimate objective is to empower learners to also engage in socially useful and productive work. It aims at bringing learners closer to their rewarding careers as well as to the development of the community.
- Step 1: Learners are given an overview of the course and its connection to life and work
- Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
- Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
- Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
- Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
- Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
- Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
- Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
- Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
- Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
- Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
- Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!