Professional Documents
Culture Documents
Topic 1: Introduction
Course Goals
1. Understanding internal working of Database systems
2. Able to write basic and Intermediate SQL queries
Timings:
● Slot C
○ Monday 9.00 AM - 09.55 AM
○ Tuesday 9.00 AM - 09.55 AM
○ Thursday 9.00 AM - 09.55 AM
Similar online courses:
● “Introduction to Database systems” from CMU (Link)
● “Databases” from Stanford (Link)
● “DBMS” in NPTEL (Link)
Course Prerequisites
1. Programming Knowledge
2. Knowledge of data structures
3. Set theory operations
4. Propositions and predicate
5. Relations and functions
Course Evaluation:
● We will decide after registration!!
Books
● Abraham Silberschatz, Henry Korth, and S. Sudarshan. Database System Concepts.
6th Edition, McGraw-Hill Education, 2010.
● Joseph M. Hellerstein and Michael Stonebraker. Readings in Database Systems. 4th
Edition, MIT Press, 2005.
Course contents
1. Introduction to DBMS
2. Relational Algebra and Relational Calculus
3. Entity-Relationship Model, Relational Database Design
4. Structured Query Language (SQL)
5. Transactions and Concurrency Control
6. Recovery Systems
7. Storage and File Structure
8. Application Development
9. Indexing and Hashing
10. Query Processing, Query Optimization
1. Introduction
Objective:
Understanding importance of Database Management Systems
Understand basic terminologies
Understand role of data models and languages
Approaches to database design
What is a database?
● Physical schema:
○ How data is represented in binary files
○ How binary files are indexed in the storage device etc.
Schema and Instances contd.
● Instance refers to the actual records (or a Table)
C01 Iphone 1
C02 pendrive 4
Entity relationship data model
Object based data model
Semi structured data model
This is a Data Model that is based on Graphs
Network model
Hierarchical data model
Object-relational data models
● Entries in relational models: atomic and simple
● Object relational data model:
a. Include object oriented property in relational model
b. Added constructs to to deal with additional data types
c. Tuples can have complex value entries like a ʻrelation/tableʼ (nested relations) itself.
d. Preserve relational foundations like declarative access to data etc.
e. Compatibility with relational languages