Database (SQL Server & Oracle)
Course Objective:
- To introduce students to the concepts and applications of database systems.
- To understand how databases are designed, implemented, and managed.
- To gain proficiency in using SQL and other database technologies.
- To develop an understanding of modern database management principles such as data integrity, concurrency, normalization, and transactions.
Prerequisites:
- Basic understanding of computer programming (typically in languages like Python, Java, or C).
- Familiarity with fundamental data structures and algorithms.
Course Outline
Week 1: Introduction to Databases
- What is a Database?
- Definition, components, and use cases
- Types of Databases: Relational, NoSQL, Distributed, etc.
- DBMS vs. File Systems
- Advantages of using a DBMS
- Applications of Databases in various industries
Week 2: Database Models
- Relational Model: Tables, rows, columns, and keys
- Entity-Relationship Model (ER Model):
- Entities, attributes, relationships, and cardinality
- ER Diagrams (ERD)
- Object-Oriented and NoSQL Models
- Overview of other database models (hierarchical, network, graph, etc.)
Week 3: Relational Algebra and SQL
- Relational Algebra: Basic operations like select, project, join, union, difference
- Introduction to SQL (Structured Query Language)
- Data Definition Language (DDL):
CREATE
,ALTER
,DROP
- Data Manipulation Language (DML):
INSERT
,UPDATE
,DELETE
,SELECT
- Data Definition Language (DDL):
- Basic queries, filtering data, sorting, and aggregation
Week 4: Database Design Principles
- Normalization: Purpose, 1NF, 2NF, 3NF, Boyce-Codd Normal Form (BCNF)
- Functional Dependencies and Determining Normal Forms
- Denormalization: When and why it’s used
- Primary, Foreign, and Composite Keys
Week 5: SQL Advanced Topics
- Joins: Inner Join, Outer Join (Left, Right, Full)
- Subqueries: In SELECT, INSERT, UPDATE, DELETE
- Indexes: Purpose and types (single-column, composite, unique)
- Views and Triggers: Creating and managing views, trigger mechanisms
- Stored Procedures and Functions
Week 6: Transaction Management and Concurrency Control
- Transactions: Properties (ACID: Atomicity, Consistency, Isolation, Durability)
- Transaction States: Active, Partially Committed, Committed, Aborted
- Concurrency Control: Locks, Deadlocks, and Isolation Levels
- Two-Phase Locking and its role in preventing anomalies
Week 7: Database Security and Backup
- Database Security: Authentication, Authorization, and Encryption
- SQL Injection and Preventive Measures
- Backup and Recovery: Types of backups, strategies for data recovery
Week 8: Indexing and Query Optimization
- Indexes: Structure and Types (B-Tree, Hashing, etc.)
- How indexing improves query performance
- Query Optimization: Execution plans, cost-based optimization
- Techniques for optimizing SQL queries
Week 9: NoSQL Databases
- Overview of NoSQL Databases: Types (Document, Key-Value, Column-Family, Graph)
- MongoDB: Basics, CRUD operations, and querying
- Cassandra, Redis, Neo4j: Introduction to other NoSQL databases
- Comparing NoSQL and SQL: Use cases, strengths, and limitations
Week 10: Distributed Databases and Big Data
- Distributed Database Concepts: Fragmentation, Replication, and Consistency
- CAP Theorem: Consistency, Availability, Partition Tolerance
- Big Data: Overview, tools like Hadoop and Spark
- Distributed Databases and their management systems
Week 11: Data Warehousing and Business Intelligence
- Data Warehousing: ETL (Extract, Transform, Load), OLAP (Online Analytical Processing)
- Data Modeling: Star Schema, Snowflake Schema
- Business Intelligence (BI): Use of databases in decision support systems (DSS)
Week 12: Cloud Databases and Future Trends
- Cloud Databases: Concepts, deployment models (SaaS, PaaS, IaaS)
- Major cloud database providers: Amazon RDS, Google Cloud SQL, Microsoft Azure SQL
- Blockchain and Databases: Use of decentralized databases
- Emerging Trends: AI in databases, Autonomous Databases
Week 13: Database Project and Case Studies
- Project Work: Students work on designing and implementing a small database system
- Case Studies: Real-world examples of database management and optimization
Week 14: Final Review and Exam
Final Exam: Comprehensive assessment of all topics
Final Project Presentation
Review of all key concepts and tools covered in the course