Introduction to Databases: Course Outline
Enable students to comprehend and practice both the system level and application level of database issues
Lab Topics
- Writing SQL SELECT Statements, Restricting and Sorting Data, Using Single-Row Functions to Customize Output
- Reporting Aggregated Data Using the Group Functions, Displaying Data from Multiple Tables, Using Sub queries to Solve Queries
- Using the SET Operators, Manipulating Data, Using DDL Statements to Create and Manage Tables
- Creating Other Schema Objects, Controlling User Access
- Generating Reports by Grouping Related Data
- Searching Data Using Advanced Sub queries
Topics
- Introduction: File-Based Systems, Problems with File-Based Approach, Database Approach, Advantages and Disadvantages of DBMS, Roles in the Database Environment
- Relational Model: Brief History, Terminology, Relational Integrity: Nulls, Entity Integrity, Referential Integrity, Enterprise Constraints
- Relational Algebra: Relational Algebra operations; Selection, Projection, Cartesian Product, Union, Intersection, Set Difference, Natural Join, Theta Joins, Outer Joins, and Semi Join
- Structured Query Language: Data Manipulation Language, Data Definition Language
- Database Design: Conceptual Database Design, Entity-Relationship (ER) Modeling; Entity Types, Attributes, and Relationship Types, Structural Constraints, Problems with ER Models
- Normalization: Functional Dependencies, The Process of Normalization: 1NF; 2NF; 3NF
- Transaction Management: Introduction, Properties Of Transactions, Need For Concurrency Control, Concurrency Control Techniques, Locking Methods, Deadlock Detection And Prevention, Database Failures and Recoveries
- Query Optimization: Objectives of Query processing and optimization, Static vs dynamic query optimization, Relational Algebra Trees, Evaluating Size and Cost of Relational Algebra Operations, Pipelining vs Materialization
- Semi structured data models: Introduction to OLAP (Online Analytical Processing)
- NoSQL Overview and Motivation