ICT Ed.446 - DBMS Updated
ICT Ed.446 - DBMS Updated
1. Course Description
The purpose of this course is to introduce the fundamental concepts of database management,
including aspects of data models, database languages, and database design. Student will be also able
to understand the current trends of database management such as big data, data analytics: data
warehousing, online analytical processing and data mining.
2. General Objectives
Through this course, students shall
become proficient at modeling databases at conceptual and logical levels of design,
be able to develop database schemas with design principles that enforce data integrity,
become knowledgeable in the creation, altering, and manipulation of tables and views using
SQL,
become proficient at casting queries in SQL, and
be able to understand concepts of transaction management, concurrency control, and
recovery.
Be able to explain about big data and data analytics such as data warehousing, online
analytical processing and data mining
3. Course Outlines:
Explain use and importance of Unit 2: Database Design using ER Model (10)
ER model. 1. The ER Model : entity sets and relationship sets
Use ER diagrams to design 2. Attributes and its types
databases. 3. Mapping Cardinalities
Learn to identify attributes and 4. Constrains on ER Model
entity-relationship sets
5. Extended ER Features: Aggregation, Specialization and
Make use of generalization,
specialization and aggregation Generalization, Constraints on
concepts Specialization/Generalization
Learn conversion of ER 6. Reducing ER diagram to Relational Schemas
diagrams into Relational
model. Practical Works:
Draw ER diagrams for real world scenarios
Learn to use appropriate symbols for constraints
Practice Conversion of ER model to Relational model
Unit 3: Structured Query Language (SQL) (20)
3.1 Introduction to Relational Database
Explain structure of SQL 3.2 Database Schema and Schema Diagram
queries. 3.3 Introduction: Basic Structure of SQL Query, SELECT,
Use SELECT, FROM and FROM and WHERE clause, Using Multiple Relations
WHERE clauses efficiently. 3.4 String/Pattern Matching, Ordering the Display of Tuples,
Understand concept behind Cartesian product, Join Operations: Join Types and Join
join operations. Conditions.
Discuss and Use aggregate 3.5 Set Operations and Null Values
functions and subqueries. 3.6 Nested Queries: Set membership Test, Set Comparison
Apply database modification and Test for Empty Relations.
statements. 3.7 Aggregate Functions, Group by Clause and Having
Explain and use DDL Clause
statements. 3.8 Database Modifications: Insert, Delete and Update
Understand concept behind Operations
views and use them. 3.9 Data Definition Language: Domain Types in SQL,
Make use of grant and revoke Create, Alter and Drop statements
statements 3.10 View
3.11 Authorization in SQL : grant and revoke privileges
Practical Works:
Create relational database by using create statements
Populate tables with data by using INSERT statement
Practice basic SQL queries by using Select..from.. where
Use Cartesian products, natural join and set operations to
solve queries
Use sub queries, aggregate functions and outer joins to solve
queries
Practice DML statements DELETE and UPDATE
Practice DDL statements ALTER, and DROP
Demonstrate SQL authorization: grant and revoke operations
Unit 4: Integrity Constraints (8)
Understand importance of 4.1 Domain Constraints: Not Null Constraints, Unique
integrity constraints. Constraints, Primary key Constraints, Check Constraints.
List and discuss different 4.2 Referential Integrity: Using Referential Integrity,
types of integrity constraints. Cascading Actions
Use Integrity constraints for 4.3 Assertions and Triggers: Creating and Deleting
maintaining for achieving Assertions, Creating and Deleting Triggers, Assertions vs
correctness of data. Triggers.
Compare and contrast between Practical Works:
assertions and triggers Demonstrate use of Domain constrains and referential
integrity
Create assertions and triggers
Unit 5: Relational Database Design (8)
Exemplify database 5.1 Features of good relational designs
modification anomalies. 5.2 Keys: Super Key, Candidate Keys and Primary Keys
Understand and exemplify 5.3 Functional Dependencies
functional dependencies. 5.4 Anomalies
Discuss and exemplify 5.5 Decomposition using functional dependencies
conversion of de-normalized 5.6 Normal forms: 1NF, 2NF, 3NF and BCNF
relations into normalized Practical Works:
forms. Demonstrate Database anomalies
Design good RDBMS (anomalies free database)
Understand the concepts of Unit 6: Transaction Management (6)
transaction and its properties 6.1 Transaction Concept
Make use of serializability 6.2 ACID Properties
Understand the problems 6.3 Serializability
behind concurrent execution of 6.4 Concurrency Control: Need of Concurrency Control, Lock-
transactions Based Protocols
Describe and exemplify lock 6.5 Recovery: Failure Classification, Shadow paging
based concurrency control
technique. Practical Works:
Discuss need of recovery in Demonstrate commit and rollback
database management systems.
9 Instructional Techniques
The instructional techniques for this course are divided into two groups. First group consists of
general instructional techniques applicable to most of the units. The second group consists of specific
instructional techniques applicable to particular units.
5. Evaluation :
Note: Students must pass separately in internal assessment, external practical exam and semester
examination.
5.1 Internal Evaluation (40 Points):
Internal evaluation will be conducted by subject teacher based on following criteria:
1) Class Attendance 5 points
2) Learning activities and class performance 5 points
3) First assignment ( written assignment) 10 points
4) Second assignment (Case Study/project work with presentation ) 10 points
5) Terminal Examination 10 Points
Total 40 points
Examination Division, Dean office will conduct final examination at the end of semester.
1) Objective question (Multiple choice 10 questions x 1mark) 10 Points
2) Subjective answer questions (6 questions x 5 marks) 30 Points
Total 40 points
Recommended books:
Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts, 7th Edition, McGraw Hill,
2019
References materials:
C.J. Date, SQL and Relational Theory: How to Write Accurate SQL Code, 2nd Edition, O’Really
Media, 2011
C.J. Date, An introduction to Database System, 8th Edition, Addison Wesely, 2003