Uttaranchal University
Uttaranchal School of Computing Sciences
Lesson Plan
Subject BCA-C301 Subject Database Management System
Code Name
Faculty Name: Ms. Divya Rawat
Objective (Comprehensive):
The aim of this course is to lay foundation in the field of database management systems. The
student learns elementary concepts of databases, pros & cons and issues faced in its
implementation. The students learn the concept pertaining to database normalization and its
t1pes. Along with, the students understand the concept of transactions processing in database
systems. The concepts of concurrency control and Serializability in the context of database
management systems are covered briefly. The students learn the fundamental conventions of
database management systems which are helpful in development of software applications
consisting of database as backend.
Learning Outcomes:
After Completion of the course, students would be able to
CO l: Understand the vital concepts of database management system and its architecture.
CO2: Summarize the significance of database management system over traditional file based
system.
CO3: Understand the concept of database normalization and its significance.
CO4: Comprehend the transaction processing and recovery concepts.
CO5: Understand the concept of deadlock handling and serializability in tire context of database
management system.
Lecture Unit Topic Ref. books with page numbers Teaching Date
No. Methodology covered
Lect 0 0 Introductory
Lecture about the
course and its
outcomes
Lect 1 I Introduction: An Ramz Elmsari,Shamkant B PPT, Chalk and
overview of Navathe, Fundamentals of Board
th
database Database systems, 5 Edition, pp .
management 3-6
system, Database
Applications Henry F. Forth, S.Sudarshan,
Database System Concepts, 5th
Edition, pp. 1-3
Lect 2 I Database System Ramz Elmsari,Shamkant B PPT
Vs File System Navathe, Fundamentals of
with advantage Database systems, 5th Edition, pp .
and disadvantage, 9-26
Database
consistency,
Isolation &
Integration
Lect 3 I Database Ramz Elmsari,Shamkant B PPT
architecture & Navathe, Fundamentals of
Instances Database systems, 5th Edition, pp .
33
Lect 4 I Schema Ramz Elmsari,Shamkant B PPT, Chalk and
Navathe, Fundamentals of Board
architecture th
Database systems, 5 Edition, pp .
30-33
Lect 5 I Data Ramz Elmsari,Shamkant B PPT, Chalk and
independence, Navathe, Fundamentals of Board
Mapping Database systems, 5th Edition, pp .
constraints and 33-40
data base
languages
Lect 6 I Data models: https://dotnettutorials.net/lesson/ PPT, Chalk and
data-model-dbms/ Board
Relational data
model concepts,
Lect 7 I Data models: https://dotnettutorials.net/lesson/ PPT, Chalk and
data-model-dbms/ Board
Hierarchical
model & Network
model
Lect 8 I Codd's Rule https://www.javatpoint.com/12- PPT, Chalk and
codds-rules Board
Lect 9 I Presentation
Lect 10 II Database Ramz Elmsari,Shamkant B PPT, Chalk and
Concepts: keys, Navathe, Fundamentals of Board
th
Concepts of Super Database systems, 5 Edition, pp .
Key, Candidate 61-70
key, primary key,
Lect 11 II Database Ramz Elmsari,Shamkant B PPT, Chalk and
Concepts: keys - Navathe, Fundamentals of Board
th
Composite Database systems, 5 Edition, pp .
61-70
key, Alternative
key, foreign key
Lect 12 II Specialization, https:// PPT, Chalk and
Generalization, www.tutorialandexample.com/ Board
Aggregation dbms-generalization-
specialization-and-aggregation
Lect 13 II Integrity Henry F. Forth, S.Sudarshan, PPT, Chalk and
Database System Concepts, 5th Board
constraints: Entity Edition, pp. 210-211
integrity,
referential
integrity
Lect 14 II Keys constraints, Henry F. Forth, S.Sudarshan, Chalk and
Domain Database System Concepts, 5th Board
constraints, Edition, pp. 212-214
Lect 15 II Relational Ramz Elmsari,Shamkant B Chalk and
Algebra, Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
173-199
Lect 16 II Relational Ramz Elmsari,Shamkant B PPT, Chalk and
Calculus, Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
201-210
Lect 17 II Tuple and Domain Henry F. Forth, S.Sudarshan, PPT, Chalk and
Calculus Database System Concepts, 5th Board
Edition, pp. 163-194
Lect 18 II E-R model Ramz Elmsari,Shamkant B PPT, Chalk and
concepts Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
57-76
Lect 19 II Reduction of an Ramz Elmsari,Shamkant B PPT, Chalk and
ER Diagram to Navathe, Fundamentals of Board
th
tables, Database systems, 5 Edition, pp .
57-76
Lect 20 II Creating ERD for Ramz Elmsari,Shamkant B PPT, Chalk and
particular problem Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
78-79
Lect 21 II Class Test
Lect 22 III Introduction to Ivan N. Bayross, SQL, PL-SQL Chalk and
SQL: The programming language of Board
Characteristics of oracle, 3rd Edition, pp-9-10
SQL, Advantages
of SQL,
Lect 23 III SQL data types Ivan N. Bayross, SQL, PL-SQL PPT, Chalk and
and literals The programming language of Board
oracle, 3rd Edition, pp-11,113
Henry F. Forth, S.Sudarshan,
Database System Concepts, 5th
Edition, pp. 121
Lect 24 III Types of SQL Ivan N. Bayross, SQL, PL-SQL PPT, Chalk and
commands, DDL The programming language of Board
oracle, 3rd Edition, pp-12
https://www.javatpoint.com/
dbms-sql-command
Lect 25 III DML & DCL https://www.c-sharpcorner.com/ PPT, Chalk and
queries article/sql-commands-ddl-dql- Board
dml-dcl-tcl-with-examples/
https://www.javatpoint.com/
dbms-sql-command
Lect 26 III SQL operators https://www.javatpoint.com/sql- PPT, Chalk and
and their operators Board
procedure
Lect 27 III Tables Ivan N. Bayross, SQL, PL-SQL PPT, Chalk and
The programming language of Board
oracle, 3rd Edition, pp-117-130
Lect 28 III views and indexes Ramz Elmsari,Shamkant B PPT
Navathe, Fundamentals of
Database systems, 5th Edition, pp .
285
Ivan N. Bayross, SQL, PL-SQL
The programming language of
oracle, 3rd Edition, pp-239-248
Lect 29 III Queries and sub https://www.tutorialride.com/ PPT, Chalk and
queries dbms/sql-queries-and-sub- Board
queries.htm
Lect 30 III Aggregate Henry F. Forth, S.Sudarshan, PPT, Chalk and
functions Database System Concepts, 5th Board
Edition, pp. 133
Lect 31 III Joins https://www.javatpoint.com/sql- PPT, Chalk and
server-joins Board
Lect 32 III Unions, https://afteracademy.com/blog/ PPT, Chalk and
what-are-union-minus-and- Board
Intersect ion, intersect-commands-in-dbms
Minus.
Lect 33 III Quiz
Lect 34 IV Data Base Design Ramz Elmsari,Shamkant B PPT, Chalk and
& Normalization: Navathe, Fundamentals of Board
th
Functional Database systems, 5 Edition, pp .
dependencies 337-370
Lect 35 IV Normal forms : Ramz Elmsari,Shamkant B PPT, Chalk and
first, second, Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
337-370
Lect 36 IV Normal forms : Ramz Elmsari,Shamkant B PPT, Chalk and
Third normal Navathe, Fundamentals of Board
th
forms, BCNF Database systems, 5 Edition, pp .
337-370
Lect 37 IV Normalization Ramz Elmsari,Shamkant B PPT, Chalk and
using FD, Navathe, Fundamentals of Board
th
Database systems, 5 Edition, pp .
337-370
Lect 38 Normalization Ramz Elmsari,Shamkant B PPT, Chalk and
using MVD and Navathe, Fundamentals of Board
th
JD’s Database systems, 5 Edition, pp .
388-406
Lect 39 IV Case Study
Lect 40 IV Transaction Ramz Elmsari,Shamkant B PPT, Chalk and
Processing Navathe, Fundamentals of Board
th
Concepts: Database systems, 5 Edition, pp .
Transaction 612-618
concept
Lect 41 V ACID Properties, https://afteracademy.com/blog/ PPT, Chalk and
Transaction states what-is-a-transaction-what-are- Board
acid properties#:~:text=For
%20maintaining%20the
%20integrity%20of,
Isolation%20and%20D%20for
%20Durability.
Lect 42 V Concurrent Ramz Elmsari,Shamkant B PPT, Chalk and
execution of Navathe, Fundamentals of Board
th
schedules Database systems, 5 Edition, pp .
644-666
Lect 43 V Serializability of https://www.gatevidyalay.com/ PPT, Chalk and
schedules tag/serializability-of-schedules-in- Board
dbms/
Lect 44 V Conflict & view https://www.gatevidyalay.com/ PPT, Chalk and
serializable serializability-in-dbms-conflict- Board
serializability/
schedule
Lect 45 V Testing of https://www.gatevidyalay.com/ PPT, Chalk and
Serializability serializability-in-dbms-conflict- Board
serializability/
Lect 46 V Recoverability, Ramz Elmsari,Shamkant B Chalk and
Recovery from Navathe, Fundamentals of Board
th
transaction Database systems, 5 Edition, pp .
failures, Log 671-691
based recovery,
Checkpoints
Lect 47 V Deadlock Henry F. Forth, S.Sudarshan, Chalk and
handling Database System Concepts, 5th Board
Edition, pp. 659
Lect 48 V Revision
Lect 49 V Revision
Text Books:
1. I. Bayross, “SQL , PL/SQL the Programming Language of Oracle”, BPB, 3 rd ed, ISBN
No. 81-7656-964-X. 2007
2. A. Silberschatz et al. "Database Concepts", McGraw Hill, 5 th ed, ISBN No. 007-
124476-X, 2006
Reference Books:
1. C.J. Date et al. "An Introduction to Database System", AddisionWesley , 8 th ed, ISBN
No. 978-81-775-8556-8, 2009.
2. R.Elmarsi et al. "Fundamentals of Database Systems", Addision Wesley, 5 thed, ISBN
No. 81-317-1625-0,2008
3. A. Sharma et al. "Fundamentals of DBMS", Lakhan Pal, 4th ed, ISBN No. 81-89510-
31-2
Weblinks:
1. Data Base Management System - Course (nptel.ac.in)
2. Introduction to Databases Course (Meta) | Coursera
Ms. Divya Rawat Dr. Sameer Dev Sharma Prof (Dr.) Sonal
Sharma
Subject Faculty HOD, USCS Dean , USCS
LIST OF PRACTICALS
Practical No 1. Create a table named uim_employee having attributes such as: Employee
id, Employee name, Employee's department number, Employee's date of joining,
Employee's salary, Employee's ernail_id and Employee's contact number.
Attribute Datatype Size
employee_id Varchar2 10
employee_name Char 25
ernplo yee_dep artment_no Number 03
employee date_of_joining Date
employee_salary Number 8.2
employee_ernail_id Varcha2 30
employee_contact_no Number 12
Note: insert department number values as I I l, 222, 333, 444, etc.
Note: Insert employee id values as UU100l, UUl002, UU1003, UU1004, etc.
Write SQL queries to:
Insert at least l0 tuples in the table.
a) Display employee's complete details including employee_id, employee_name,
employee_department no, employee_date_of_joining, employee salary,
employee_ernail_id and employee_contact_no
b) Display employee's complete details including employee_id, employee_name,
employee_deportment no, employee_date_of joining, employee_salary,
employee_emuil_id and entployee_centact no who work in department number 444.
c) Display employee_id, employee_name and employee_date_of_joining who work in
department number 333.
d) Delete the employee's details having employee_id as UUl003.
e) Update employee_contact_no to 9592929295 having employee_id as UUl007.
Practical No 2. Implement DDL and DML on the uim_employee table.
Attribute Datatype Size
employee_id Varchar2 10
employee_name Char 25
ernplo yee_dep artment_no Number 03
employee date_of_joining Date
employee_salary Number 8.2
employee_ernail_id Varcha2 30
employee_contact_no Number 12
a) Add a new column named employee_addresshaving data type as varchar2, size 30 in the
uim_employee table.
b) Update the addresses of existing uim_employees in the table.
c) Drop the column named employee_date_ofjoining from the table.
d) Modify the size ofthe column named employee_contact no to 14.
e) Rename the table to employee_details from the table name uim_entployee.
f) Truncate as the records from the employee_details table.
g) Drop the table named employee_details.
Practical No 3. Implementation of keys and constraints concept. Create a table named
uim student having attributes such as: student's roll number, student's name, student's
date of birth, student's course, student's house address, student's contact number,
student's aadhaar number. The attribute named: student_roll_no has a PRIMARY
KEY constraint, student name has NOT NULL constraint, student_ aadhaar _no as
UNIQUE constraint.
Consider the following table:
Attribute Datatype Size Constraint
student roll no Number 3 PRIMARY KEY
student_name Char 25 NOT NULL
student_date_of birth Date - -
student course Varchar 15 -
student address Varchar2 30 -
student contact no Number 10 -
student aadhaar no Number 12 LINIQUE
a) Describe the structure of uim_student table.
b) Insert few tuples in the table.
c) Examine the error message by inserting same student_roll_no values for two rows. Write
the error message and reason.
d) Examine the error message by NOT inserting student_name value in a row in the table.
Write the error message and reason.
Practical No. 4. Implementation of Foreign key concept using two tables named:
uim_employee and uim_department. The employee table has employee’s id, employee’s
name and employee’s department number. The department table has department number,
department name and department location.
Consider the following two tables:
a) Display the structure of uim_employee table
b) Display the structure of uim_department table
c) Insert at least three department details in the uim_department table.
d) Display the data of uim_department table.
e) Insert employee’s details working in the corresponding departments as in the
uim_department table.
f) Display the data of uim_department table.
g) Examine the error message by inserting a value in employee_department_no which is
NOT there in uim_department table’s department_no. Write the error message and
reason.
h) Delete any department number from the uim_department table and examine its effects in
uim_employee table.
Practical No. 5. Create a table named employee_contact_details from employee table by
taking the attribute named: employee_id.
Consider the table below:
a) Display the contents of employee_contact_details table.
b) Add a new column employee_contact_no having data type as Number and size as 12 in
employee_contact_details table
c) Display the contents of employee_contact_details table.
d) Update the contact details of existing employees
e) Display the updated contents of employee_contact_details table
Practical No. 6. Create a table named uim_book having the attributes related to book
id, book name and book theme. The book_theme attribute can have only two values: IT
or MGT where IT is Information Technology and MGT is Management. Apply
CHECK constraint on the attribute named book_theme.
a) Describe the structure of uim_book table.
b) Insert few tuples in the uim_book table.
c) Display the contents of uim_book table.
d) Examine the error message by inserting a value other than IT/MGT in column named
book_theme. Write the error message and reason.
Practical No. 7. Extract the data from both the tables by performing join. Given two tables
named: uim_employee and uim_department. The employee table has attributes related to
employee’s id, employee’s name and employee’s department number. The department
table has attributes related to department number, department name and department
location.
Consider the following two tables:
a) Display the structure of uim_employee table
b) Display the structure of uim_department table
c) Insert at least three department details in the department table.
d) Display the data of uim_department table.
e) Insert employee’s details in uim_employee table who working the corresponding
departments as in the uim_department table.
f) Display the data of uim_employee table.
Practical No. 8. The data in the table can be grouped based on certain attributes. Consider
the book table having attributes as book_id, book_name, book_theme and book_price.
Consider the table below:
Note: the book_theme can either be 'it' or 'mgt' only.
a) Add a new column named book_price having data type as Number and size as 7,2 in the
exisiting table named uim_book.
b) Display the contents of uim_book table.
c) Update the book prices of available books in the uim_book table.
d) Display the contents after updation in uim_book table.
e) Find the sum of all the book price based on the book theme.
f) Display the maximum book_price in each group of book_theme.
Practical No. 9. There are numerous aggregate functions that can be performed on table(s).
Consider the attributes in the employee table as: employee’s id, employee’s name,
employee’s department number, employee’s designation, employee’s date of joining,
employee’s salary, employee’s email id, employee’s contact no and employee’s aadhaar
number.
Consider the following uu_employee table:
Attribute Datatype Size Constraint
employee_id Varchar2 10 Primary Key
employee_name Char 25 NOT NULL
employee_department_no Number 03 NOT NULL
employee_designation Varchar2 15 NOT NULL
employee_date_of_joining Date - NOT NULL
employee_salary Number 8,2 NOT NULL
employee_email_id Varchar2 30 NOT NULL
employee_contact_no Number 12 NOT NULL
a) Insert few tuples in the uu_employee table.
b) Display the contents of uu_employee table
c) Calculate the sum of salaries of all the employees.
d) Calculate the sum of salaries of employees working in department number 222.
Practical No. 10. Demonstrate the following based on the uu_employee table.
a) Count the number of employees in the uu_employee table.
b) Display the maximum salary of employees having employee_designation as “Assistant
Professor”.
c) Display the minimum salary of employees having employee_designation as “Professor”.
d) Calculate the average of salaries of all the employees.
Practical No. 11. Implement the single-row character function on the customer table. The
customer table as attributes related to customer’s id, customer’s first name, customer’s last
name, customer’s contact number, customer’s house number, customer’s street of address,
customer’s city of address, customer’s state of address and customer’s email id.
Consider the following customer table:
a) Insert few tuples in the uim_customer table
b) Concatenate customer_first_name and customer_last_name in display.
c) Display the customer_first_name in upper case.
d) Display the customer_ home_city in with first letter as capital and remaining in lower
case (e.g. Dehradun).
Practical No. 12. Implement the date functions on uu_employee table. Consider the
attributes in the employee table as: employee’s id, employee’s name, employee’s
department number, employee’s designation, employee’s date of joining, employee’s salary,
employee’s email id, employee’s contact no, employee’s aadhaar number and employee’s
date of resigning.
Consider the following employee table:
a) Describe the structure of uu_employee table.
b) Add a new column named employee_date_of_resigning having date data type in
uim_employee table
c) Update the data in uu_employee table those who have resigned (wherever applicable)
d) Display the number of months between employees’s joining and resignation. (Note:
There might be few employees who have resigned).
e) Display the last day of the month in which employees have resigned.
f) Calculate the working employee’s experience in the current organization. (Note: Use
sysdate)
Ms. Divya Rawat Prof (Dr.) Sonal Sharma
Signature of Faculty Signature of Dean