A7-R5-Databases Technologies
1. Introduction
Application software requires data to be stored permanently.
Databases provide the facility to store data permanently. Further, databases
provide functionality to maintain and retrieve data. Depending upon different
types of data storage, retrieval and processing, different types of databases
are required. This module is designed with view to equip learner with two types
of databases, RDBMS and NoSQL databases.
Objective
The module is designed to equip a learner to acquire
knowledge of the current trend and technologies of Databases. It provides
theoretical background as well as in depth knowledge of Software/ packages.
After completing the module, the incumbent will be able to:
i. Understand Database design using Normalization and E-R
modelling
ii. Use Standard Query Language and its various versions.
iii. Understand importance of backup and recovery
techniques.
iv. Develop Database System to handle real world problem.
v. Understand to use Maria DB vi. Learn concept of JSON
Object & NoSQL Database
Outline of Module
1. An overview of DBMS
- Identify different types of Databases
- Difference between file- based system and database system
2. An Architecture of the Database System
- Able to understand three tier architecture.
- Able to understand the role of DBA
- Gaining knowledge of E-R Model.
3. Relational Database Management System(RDBMS)
- RDBMS terminology
- Relational Model, Base tables and keys
4. Database design
- Understand normal forms
- E-R Diagram
5. Maria DB
- Maria DB
6. Manipulating Data with MariaDB
- Manipulate data using MariaDB database
- Apply various SQL statements.
7. NoSQL Database Technologies
- Know the difference between centralized and distributed database and NoSQL Database
- Understand the advantages of distributed DB NoSQL Databases.
- Get familiar with distributed data storage, transaction and query processing techniques.
- JSON Object, Create & Access JSON Object
- Know different features of NoSQL
- Understand NoSQL Database types
- Get familiar with the benefits of NoSQL.
- Differentiate between NoSQL and SQL.
- Know different features of MongoDB
8. Selecting the Right Database
- Select right database for different types of applications
Marks Distribution
1. An Overview of the Database Management System 4
2. Architecture of Database System 6
3. Relational Database Management System(RDBMS) 6
4. Database Design 14
5. Maria DB 20
6. Manipulating Data with MariaDB 20
7. NoSQL Database Technologies 20
8. Selecting Right Database 10
9 Total 100
Detailed Syllabus
(i) An Overview of the Database Management System
What is database? Why database? Database system, database management system (DBMS), advantages of DBMS.
(ii) An Architecture of the Database system
Three levels of architecture, Logical View, Physical View, Conceptual View, Logical data independence, Physical Data Independence
(iii) Relational Database Management System (RDBMS)
Introduction, RDBMS terminology, relational model, base tables, keys, primary key, foreign key, constraints, Codd Rules
(iv) Database Design
Normalization, Normal forms-1NF, 2NF, 3NF, BCNF 4NF and 5NF, E-R Diagram. Mapping ER-diagram to database tables.
(v) Maria DB
Introduction to Maria DB, Data Types, SQL Commands, Create, insert, update, delete, drop, alter, SQL functions (String functions, date functions), indexing, key, primary key, foreign key
(vi) Manipulating Data with Maria DB
SQL Statements, Select, like clause, group by, order by, joins-left join, natural join, right join, union. Correlated and nested queries. Backup and restore commands
(vii) NoSQL Database Technology
Introduction to NoSQL Databases, Difference between
relational and NoSQL databases. NoSQL features, types, advantages, Architecture
of MongoDB, Documents, Collections, Dynamic Schemas, Mongo Shell, Mongo Server
and Client, Data Types, Embedded Documents, Creating Configuration file for
Mongo,
JSON File format for storing documents, Inserting and Saving Documents, Batch Insert, Insert Validation, Removing Documents, Updating Documents, Document Replacement, Using Modifiers, Updating Multiple Documents, Returning Updated Documents,
Introduction to Indexing, Introduction to Compound Indexes, Using Compound Indexes, Indexing Objects and Arrays, Aggregation Framework, Pipeline Operations- $match, $project, $group, $unwind, $sort, $limit, $skip, Using Pipelines, MongoDB and MapReduce, Aggregation Commands, Introduction to Replication, configuring a Replica Set, Member Configuration Options
(viii) Selecting the Right Database
Selection of right databases, RDBMS or NoSQL, selection of database based on performance, data size, type of data, frequency of accessing data, business needs, type of application.
Reference Books/Study Material
1. Henry F Korth, Abraham Silberschatz and S. Sudharshan,
“Database System
Concepts”, Sixth Edition, McGraw Hill, 2011. 2. C.J.Date,
A.Kannan and S. Swamynathan,”An Introduction to Database Systems”,
Pearson Education 3. Emilien Kenler and Federico Razzoli,
“MariaDB Essentials”, Packt Publishing,
2015 4. Kristina Chodorow, “MongoDB: The Definitive Guide”,
2nd Edition, O’REILLY
5. Saeed K. Rahimi and Frank S. Haug, “Distributed Database
Management Systems-
A Practical Approach”, WILEY Publication 6. R. Elmasri, S.B.
Navathe, “Fundamentals of Database Systems”, Fifth Edition,
Pearson Education/Addison Wesley. 7. Alex Giamas, “Mastering MongoDB”, Packt Publisher.