About the subject
What Database Management System is for
Almost every useful piece of software stores data, and this course teaches how to do it properly. It moves from design, the E-R and relational models, through the SQL language used to query and change data, to what happens inside the database engine: how queries are optimised, how indexes make lookups fast, and how transactions keep data correct when many users act at once.
It is one of the most directly employable courses in the programme. SQL and relational design are asked for in nearly every software job, and the closing chapter introduces data warehousing, distributed databases and NoSQL.
The objective of this course is to provide a comprehensive understanding of the principles and practices involved in the design and implementation of database systems. It enables students to develop data models, and perform data modification, processing, and management efficiently. The course also introduces advanced concepts such as object-oriented databases, data warehousing, data processing, and big data management.
IOE's course objective for ENCT 301
- Taught to
- BCT, Semester 5 (Year III, Part I)
- Weekly
- 3 lecture, 1 tutorial, 3 practical hours
- Marks
- Theory 40 internal + 60 final (3-hour exam); practical 50 internal; 150 in total
Where the marks are
ENCT 301 chapters, hours and final exam marks
IOE's evaluation scheme for the 60-mark final. IOE notes there may be minor deviation.
Scroll the table sideways for hours, marks and share.
Full syllabus
The complete ENCT 301 outline, with how to study each chapter
All 9 chapters and 49 topics as IOE lists them, each with ICE's advice on approaching it.
1Introduction3 hours
Data abstraction, data independence, schemas and instances.
- 1.1 Application and evolution of database
- 1.2 Data abstraction (Physical, logical, and view level) and data independence
- 1.3 Schema and instances
2Data Models7 hours
Data models, above all E-R and relational, 9 marks. Practise drawing E-R diagrams for everyday systems like a library or a hostel and converting them to tables.
- 2.1 Introduction to data models (Entity-relationship, relational, object model, hierarchical, network, graph data models)
- 2.2 E-R model
- Entities and entity sets
- Attributes and keys
- Strong and weak entity sets
- Relationship and relationship sets (Mapping cardinalities)
- Specialization, generalization and aggregation
- 2.3 Relational model
- Concept of relational model, key constraints
- Converting ER model into relational model
3Relational Query Languages7 hours
Relational algebra and SQL, the longest chapter with 11 subtopics: joins, nested subqueries, aggregation with GROUP BY and HAVING, views, triggers, stored procedures and privileges. Write queries against a real database every week.
- 3.1 Relational algebra
- 3.2 Concept of DDL, DML and DCL
- 3.3 Overview of the SQL query language-DDL and DML queries
- 3.4 Set operations
- 3.5 Aggregate functions – GROUP BY – HAVING
- 3.6 Joins and types of joins
- 3.7 Nested sub queries
- 3.8 Database modification (Insert, update, delete)
- 3.9 Views
- 3.10 Triggers and stored procedures
- 3.11 Privilege and roles management – GRANT and REVOKE statements
4Database Constraints and Normalization6 hours
Constraints, functional dependencies and normal forms up to BCNF, 9 marks. Normalise the same schema step by step through each form.
- 4.1 Integrity constraints and domain constraints
- 4.2 Assertions
- 4.3 Functional dependencies
- 4.4 Different normal forms (1NF, 2NF, 3NF, BCNF)
5Query Processing and Optimization4 hours
How queries are processed and optimised, materialisation and pipelining, and performance tuning.
- 5.1 Query processing, optimization and evaluation
- 5.2 Transformation of relational expressions
- 5.3 Techniques of implementing query optimization - Cost based optimization and heuristic optimization
- 5.4 Query evaluation -Materialization and pipelining
- 5.5 Denormalization for performance
- 5.6 Materialized view
- 5.7 Performance tuning
6File Structure and Hashing5 hours
Storage, record organisation, ordered indices, B+ trees and static and dynamic hashing, 8 marks.
- 6.1 Disks and storage
- 6.2 Records organizations
- 6.3 Ordered indices
- 6.4 B+ tree index
- 6.5 Hashing concepts - Static and dynamic hashing
7Transaction Processing and Concurrency Control5 hours
Transactions, ACID properties, serialisability, locking and deadlock, 8 marks. Work through schedules by hand to test conflict serialisability.
- 7.1 Transaction and transaction model - State diagram
- 7.2 Acid properties
- 7.3 Concurrent execution of transactions
- 7.4 Serializability (Conflict and view serializability)
- 7.5 Lock based protocols
- 7.6 Deadlock handling and prevention
- 7.7 Multiple granularity
8Crash Recovery4 hours
Failure types, log-based recovery, shadow paging and remote backup.
- 8.1 Failure classification
- 8.2 Recovery and atomicity
- 8.3 Log-based recovery
- 8.4 Shadow paging
- 8.5 High availability using remote backup systems
9Advanced Database Concepts4 hours
Object-oriented and distributed databases, data warehousing and OLAP, and the basics of NoSQL and big data.
- 9.1 Concept of object-oriented databases
- 9.2 Distributed database model
- 9.3 Concept of data warehousing and online analytical processing
- 9.4 Basic concepts of NoSQL and big data
Laboratory
The ENCT 301 practical
The practical is three hours a week: installing and connecting to a database server, DML and DDL queries, joins and subqueries, aggregation, constraints, triggers and stored procedures, tuning and administration, and a group project. The project is where design, normalisation and SQL come together, so model the data carefully before writing code.
- Database server installation and configuration
- DB client installation and connection to DB server. Introduction and practice with SELECT command with the existing DB
- Further practice with DML queries – Select, insert, update and delete
- Advanced queries with joins and subqueries
- Aggregation and grou8ping
- Practice with DDL commands – Create/alter/drop table, integrity constraints and views
- Triggers and stored procedures
- Query processing, optimization, performance tuning and database administration
- Group project work
Before and after
How Database Management System connects to other courses
Builds on
Leads to
Web Application Programming in the same semester builds applications on top of a database, and Software Engineering and Distributed and Cloud Computing follow.
Reference books
Books IOE lists for ENCT 301
- Silberschatz, A., Korth, H.F., Sudarshan, S. (2019). Database system concepts. McGraw-Hill.
- Elmasri, R., Navathe, S.B. (2021). Fundamentals of database systems. Pearson.
- Ramakrishnan, R., Gehrke, J. (2002). Database management systems. McGraw-Hill.
- Connolly, T.M., Begg, C.E. (2021). Database systems: A practical approach to design, implementation, and management. Pearson.
Quick answers
Database Management System questions
In which semester is DBMS taught in IOE Computer Engineering?
Semester 5, Year III Part I, as ENCT 301 with 3 credits and 150 total marks including practical.
Does the IOE DBMS syllabus include NoSQL?
Yes. Chapter 9 introduces NoSQL and big data along with object-oriented and distributed databases and data warehousing.
Is DBMS taught in BEI?
Not as a core course. ENCT 301 is in the Computer Engineering curriculum; BEI's Semester 5 core covers filter design, embedded systems and antennas instead.
How many credits and marks is ENCT 301 Database Management System?
3 credits and 150 marks: 40 internal and 60 in a 3-hour IOE final for theory, plus 50 marks of practical assessed internally. It is taught 3 lecture, 1 tutorial and 3 practical hours a week.
Source
Checked against IOE
The outline, references and marks are IOE's own, from the ENCT 301 syllabus PDF and IOE's curriculum structure. The study advice is ICE's. If IOE revises the course, its syllabus is what counts. IOE's BCT curriculum page.