ICS 321: Data Storage and Retrieval
Description: Data storage devices, timing and capacity, programming for files, hashed and indexed files, introduction to relational database systems. Pre: 211 or consent.
Objectives
- Students have a broad understanding of database concepts and database management system software
- Students have a high-level understanding of major DBMS components and their function
- Students can model an application’s data requirements using conceptual modeling tools like ER diagrams and design database schemas based on the conceptual model.
- Students can write SQL commands to create tables and indexes, insert/update/delete data, and query data in a relational DBMS.
- Students can develop a data-intensive application using DBMS APIs.
Course Learning Outcomes
- Students have a broad understanding of database concepts and database management system software
- Students have a high-level understanding of major DBMS components and their function
- Students can model an application’s data requirements using conceptual modeling tools like ER diagrams and design database schemas based on the conceptual model.
- Students can write SQL commands to create tables and indexes, insert/update/delete data, and query data in a relational DBMS.
- Students can develop a data-intensive application using DBMS APIs.
Program Learning Outcomes
- a. Students can apply knowledge of computing and mathematics appropriate to the discipline
- c. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- i. Students can use current techniques, skills, and tools necessary for computing practice
- j. An ability to use and apply current technical concepts and practices in the core information technologies. [BA IT only]
- k. An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems. [BA IT only]
Prerequisites: 211 or consent.
Textbook(s): Database Systems: The Complete Book (2nd Edition). Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom. ISBN-13: 978-0-13-187325-4.
Grading: Quizzes before every lecture/class (15%)
Assignment 1: Searching large files (10%)
Assignment 2: SQL queries (10%)
Assignment 3: Java Web Application (5%)
Assignment 4: ER Modeling (10%)
Assignment 5: DBMS Application Project (10%)
Midterm Exam (20%)
Final Exam (20%)
Schedule
- Week 1: Introduction & Overview of Database Systems (Ch.1)
- Week 2: Relational Model of Data (Ch. 2)
- Week 3: Algebraic & Logical Query Languages (Ch. 5)
- Week 4, 5: The Database Language SQL (Ch. 6)
- Week 6: SQL in a Server Environment (Ch. 9)
- Week 7: Midterm Review and Exam
- Week 8: High-level Database Models: ER models (Ch. 4)
- Week 9: Design Theory for Relational Databases: Functional dependencies (Ch. 3)
- Week 10: Design Theory for Relational Databases: Normal Forms (Ch. 3)
- Week 11: Constraints, Triggers, Views & Indexing (Ch. 7,8)
- Week 12: Overview of Transaction Processing (Ch. 17,18)
- Week 13: Overview of Storage & Indexing (Ch. 13,14)
- Week 14: Overview of Query Processing & Optimization (Ch 15,16)
- Week 15: XML & Semi-structured Data Models (Ch 11,12)
- Week 16: Project Presentation
- Week 17: Final exam