Birla Institute of Technology & Science, Pilani Course Handout Part A: Content Design
Birla Institute of Technology & Science, Pilani Course Handout Part A: Content Design
Course Objectives
No Course Objective
CO1 Enrich the skill and competency of students in Design and Development of Database
Systems through experiential learning.
CO2 Provide knowledge about the internals of Database Management Systems.
CO3 Prepare students to tackle the challenges in operationalizing Database Systems, like-
maintaining consistency and integrity, performance etc .
Text Book(s)
T1 Ramez Elmasri & Shamkant B. Navathe, Database Systems; Models, Languages,
Design and Application Programming, Pearson Education, 7th Edition, 2017.
Content Structure
8. Additional Topics
8.1. Query optimization and Tuning
8.1.1. Query execution steps
8.1.2. Query trees
8.1.3. Heuristics
8.1.4. Database tuning concepts
8.2. Database Design methodology and UML
8.2.1. Role of information systems
8.2.2. Design process
8.2.3. UML and tools in Database
8.3. XML data model
8.3.1. Basics of XML
8.3.2. DTD and schemas
8.3.3. XML storage
8.3.4. XML query languages- XPath and XQuery
8.4. Database programming
8.4.1. Accessing databases from programming languages
8.4.2. Triggers
8.4.3. Stored procedures
8.5. Distributed Databases and Client Server Architecture
8.5.1. Purpose of Distributed databases
8.5.2. Managing distributed databases
8.5.3. Overview of 3-tier client server architecture
8.6. Recent trends in databases
8.6.1. NoSQL Databases
8.6.2. Hadoop
NoSQL Database
https://www.thoughtworks.com/insights/blog/nosql-databases-overview
Hadoop
https://www.mssqltips.com/sqlserverauthor/77/dattatrey-sindol/
Note: Due to time constraints, all topics listed under module 8 may not be covered. Instructor
may decide on some topics from module 8 to be covered as a part of the course.
Learning Outcomes:
No Learning Outcomes
LO1 More effective and efficient Database Systems leading to more elegant Information
System.
LO2 Students are equipped with knowledge on database concepts like- Modelling,
Querying, Transactions, Indexing, Recovery etc.
LO3 Students are equipped with the knowledge to tune the Database Systems and
Applications for improved performance, response-time etc.
Glossary of Terms:
1. Contact Hour (CH) stands for a hour long live session with students conducted either in a
physical classroom or enabled through technology. In this model of instruction, instructor led
sessions will be for 22 CH.
a. Pre CH = Self Learning done prior to a given contact hour
b. During CH = Content to be discussed during the contact hour by the course instructor
c. Post CH = Self Learning done post the contact hour
2. Contact Hour (CS) stands for a two-hour long live session with students conducted either in a
physical classroom or enabled through technology. In this model of instruction, instructor led
sessions will be for 11 CS.
a. Pre CS = Self Learning done prior to a given contact session
b. During CS = Content to be discussed during the contact session by the course
instructor
c. Post CS = Self Learning done post the contact session
3. RL stands for Recorded Lecture or Recorded Lesson. It is presented to the student through an
online portal. A given RL unfolds as a sequences of video segments interleaved with
exercises
4. SS stands for Self-Study to be done as a study of relevant sections from textbooks and
reference books. It could also include study of external resources.
5. LE stands for Lab Exercises
6. HW stands for Home Work.
7. M stands for module. Module is a standalone quantum of designed content. A typical course
is delivered using a string of modules. M2 means module 2.
Detailed Structure
Introductory Video/Document: << Introducing the faculty, overview of the course,
structure and organization of topics, guidance for navigating the content, and expectations
from students>>
Course Contents
Contact Hour 1
Time Type Description Content Reference
Pre CH RL1.1 Database Systems Ch.1 (T1) 1.1 to 1.6
DBMS
Database System Environment
Traditional File Systems
Advantages of DBMS over File
Systems
Disadvantages of DBMS
RL1.2 DBMS_RL_1.2: Ch.2 (T1) 2.1 to 2.4
Describing and Storing data in DBMS
Three Schema Architecture
Data Independence
Queries
Transactions
Structure of DBMS
Users of DBMS
During CH CH1 We discuss important concepts like Ch.1 (T1) 1.1 to 1.6
advantages of using DBMS over and Ch.2 (T1) 2.1 to
traditional file systems; Three schema 2.4
architecture; Data independence;
DBMS architecture.
Post CH SS1 To be announced at the end of the
contact hour (CH1).
Lab
Reference
Contact Hour 2
Time Type Description Content Reference
Pre CH RL 2.1 DBMS_RL_2.1: Ch.3 (T1) 3.1 to 3.7
Steps in database Design Process Ch.4 (T1) 4.1 to 4.3
ER Concepts and Notations
Class Hierarchies
During CH CH2 We discuss ER concepts, notations with Ch.3 (T1) 3.1 to 3.7
appropriate examples. We learn how to Ch.4 (T1) 4.1 to 4.3
model databases using ER techniques.
Post CH HW2 To be announced at the end of the
contact hour (CH2).
Lab
Reference
Contact Hour 3
Time Type Description Content Reference
Pre CH RL 2.2 DBMS_RL_2.2: Ch.5 (T1)
Relational data model fundamentals
Constraints in Relational data model
Representation of schemas
During CH CH3 We discuss to have a better Ch.5 (T1)
understanding of characteristics and
Constraints of Relational model with
proper examples.
Post CH SS3 Updates and dealing with constraint Ch.5 (T1) 5.3
violations in Relational model Ch.2 (R1) 2.6
Contact Hour 4
Time Type Description Content Reference
Pre CH RL 2.3 DBMS_RL_2.3: Ch.9 (T1) 9.1, 9.2
Mapping rules/guidelines for mapping
ER constructs
Mapping rules/guidelines for mapping
hierarchies
Examples
During CH CH4 We understand Mapping rules/ Ch.9 (T1) 9.1, 9.2
guidelines for mapping various ER
constructs to Relational model with
appropriate examples
Post CH HW4 To be announced at the end of the
contact hour (CH4).
Lab
Reference
Contact Hour 5
Time Type Description Content Reference
Pre CH RL 3.1 DBMS_RL_3.1: Ch.8 (T1) 8.1, 8.6
Contact Hour 6
Time Type Description Content Reference
Pre CH RL 3.2 DBMS_RL_3.2: Ch.6 (T1) 6.1 to 6.3
Ch.7 (T1) 7.4
Introduction to Structured Query
Language (SQL)
Features of SQL
DDL Statements
During CH CH6 We practice writing SQL queries for Ch.6 (T1) 6.1 to 6.3
data retrieval with sample relational Ch.7 (T1) 7.4
schemas. This consolidates our
understanding of SQL operations.
Post CH HW6 To be announced at the end of the
contact hour (CH6).
Lab
Reference
Contact Hour 7
Time Type Description Content Reference
Pre CH RL7 DBMS_RL_3.3 Ch. 6(T1) 6.4
Ch.7 (T1) 7.1 to 7.4
Nested queries and correlated nested
queries
Use of EXISTS and NOT EXISTS
Explicit join operations
Aggregate functions
Group by and Having clauses
Insert / Update / Delete operations
Views
During CH CH7 We practice writing SQL queries for Ch.6(T1) 6.1 to 6.4
data retrieval with sample relational Ch.7 (T1) 7.1 to 7.4
schemas. This consolidates our
understanding of SQL operations.
Post CH SS7 Advanced SQL Concepts: Ch.5 (R1) 5.1 to 5.3
Triggers, Functions, Procedures, and
Sequences.
HW7 To be announced at the end of the
contact hour (CH7).
QZ7 To be announced at the end of the
contact hour (CH7).
Lab
Reference
Contact Hour 8
Time Type Description Content Reference
Pre CH RL 4.1 DBMS_RL_4.1: Ch.14 (T1) 14.1 to 14.3
Contact Hour 9
Time Type Description Content Reference
Pre CH RL9 DBMS_RL_4.2: Ch.14 (T1) 14.4 and 14.5
Ch.15 (T1) 15.2 and 15.3
3NF and BCNF
Decomposition requirements
Lossless join decomposition
Dependency preserving decomposition
Examples
During CH CH9 Look at 3 NF, BCNF and Ch.14 (T1) 14.4 and 14.5
Decomposition with examples Ch.15 (T1) 15.2 and 15.3
Post CH HW9 To be announced at the end of the
contact hour (CH9).
QZ9 To be announced at the end of the
contact hour (CH9).
Lab Reference
Contact Hour 10
Time Type Description Content Reference
Pre CH RL10 DBMS_RL_5.1 Ch.16 (T1) 16.1 to 16.7
Introduction to Indexing
Primary and Secondary indexes
Dense and Sparse indexing
Multilevel indexing
Designing Primary and Multilevel
indexes
During CH CH12 Understanding Primary and Multilevel Ch.17 (T1) 17.1 and 17.2
Indexing with Examples
Post CH SS12 Other Indexing schemes; Indexing Ch.11 (R1) 11.8 to 11.10
using SQL
Post CH HW12 To be announced at the end of the
contact hour (CH12).
Lab Reference
Contact Hour 13
Time Type Description Content Reference
Pre CH RL 5.4 DBMS_RL_5.4 Ch.17 (T1) 17.3
Contact Hour 14
Time Type Description Content Reference
Pre CH RL 6.1 DBMS_RL_6.1: Ch.20 (T1) 20.1 to 20.3
Contact Hour 15
Time Type Description Content Reference
Pre CH RL 6.2 DBMS_RL_6.2 Ch.20 (T1) 20.4 and 20.5
Concurrent Transactions
Transaction Schedule
Serial and Concurrent Schedules
Need for Concurrency Control
Conflicting Operations
Conflict Equivalent Schedule
Test for Conflict Serializability
View Equivalent Schedule
View Serializability
During CH CH15 We understand serializability of Ch.20(T1) 20.4 and 20.5
concurrent schedules with examples
Post CH SS15 View equivalence and view Ch.20 (T1)
serializability Ch.14 (R1) 14.4 to 14.7
Lab Reference
Contact Hour 16
Time Type Description Content Reference
Pre CH RL 6.3 DBMS_RL_6.3 Ch.21 (T1) 21.1 and 21.2
Introduction to Concurrency Control
Implementing Serializability
Lock-based protocols
Deadlock condition
Two-phase locking protocol
Time-stamp based protocols
During CH CH16 We work with appropriate examples to Ch.21 (T1) 21.1 and 21.2
understand lock-based concurrency
control, time-stamp based concurrency
control and Deadlock detection
technique.
Post CH SS16 Multiversion Concurrency Control Ch.21 (T1) 21.3 and 21.4
Validation
HW16 To be announced at the end of the
contact hour (CH16).
QZ16 To be announced at the end of the
contact hour (CH16).
Lab Reference
Contact Hour 17
Time Type Description Content Reference
Pre CH RL 6.4 DBMS_RL_6.4 Ch.22 (T1) 22.1 to 22.4
Introduction to Recovery
Recovery strategies
Log-based recovery
Check-pointing
Shadow paging
During CH CH17 Consolidate our understanding of Ch.22 (T1) 22.1 to 22.4
Recovery concepts with examples.
Post CH SS17 ARIES; Recovery in multidatabase Ch.22 (T1)
Systems; Database backup
HW17 To be announced at the end of the
contact hour (CH17).
Lab Reference
Contact Hour 18
Time Type Description Content Reference
Pre CH RL 7.1 DBMS_RL_7.1: Ch.30 (T1)
Contact Hour 22
Revision Lecture
Please refer to the attached lab sheet to perform the SQL exercises
Assignment
1. Think of a web-based software application (with a central database), that you think
will be useful to many people (1 week)
2. Write a brief description of the application (1 week)
– Who will be the users?
– What are the benefits of this application?
– List of functions & features of the application
– How many users will use it simultaneously?
3. Draw ER diagram for the application(2 weeks)
4. Convert ER model to relational model (2 weeks)
5. Write SQL queries to fulfil the end user needs (2 weeks)
6. Design indices to enhance the performance of queries and justify your choice of
indices
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No Name Type Duration Weight Day, Date, Session, Time
EC-1 Quiz-I Online - 5% February 1-15, 2021
Quiz-II Online - 5% March 1-15, 2021
Quiz – III Online - 5% April 1-15, 2021
Lab / Assignment Online 10% To be announced
EC-2 Mid-Semester Test Open 2 hours 30% Sunday, 07/03/2021 (AN)
Book 2 PM – 4 PM
EC-3 Comprehensive Open Book 2 hours 45% Sunday, 02/05/2021 (AN)
Exam 2 PM – 4 PM
Important Information:
Syllabus for Mid-Semester Test (Closed Book): Topics in CS 1-5.
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
2. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted
in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
3. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the
student should follow the procedure to apply for the Make-Up Test/Exam. The genuineness of
the reason for absence in the Regular Exam shall be assessed prior to giving permission to
appear for the Make-up Exam. Make-Up Test/Exam will be conducted only at selected exam
centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study
schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the
evaluation scheme provided in the handout.
Appendix
Lab Exercise in SQL
1. Install SQLite & SQLiteBrowser on your laptop (free database)
2. Explore the features of SQLiteBrowser
3. Create a database with the schema given at the end of this document
4. Populate these tables of this schema with sample data
5. Write & execute SQL statements to obtain the following information from the database
Section 1
1. Get details of employees whose salary is greater than or equal to Rs. 30 lakhs
2. Get details of employees working in ‘Research’ department.
3. For all employees, get their SSN, their name and name of the project they are working
on
4. For all employees, get their SSN, their name and the name of their manager
(supervisor)
Section 2
1. Find total number of employees
2. Find total number of employees in ‘Research’ department
3. Find the number of projects controlled by each department (get department #,
department name & # of projects controlled)
Section 3
1. Find departments which control more than 5 projects
2. Get Name & SSN of Employees with more than 2 dependents
Section 4
1. Increase salary of employees working in ‘HR’ department by 10%
2. Delete project whose project number = 12345
Database schema