Module: ICS 321 Introduction

This is a Interpretation of ICS 321

Dates: Fri, Jan 13 - Tue, Jan 31

Learning Outcomes

Understand how to succeed in ICS 321

Understand what a database system is

-You understand what a DBMS is and what it provides -You understand how DBMS provides data independence and protects the data from the user. -You understand security, concurrency, integrity, and recovery controls. -You can compare database systems with programming systems.

Understand the relational model of data

-You understand what the relational model is -You can conceptualize data using the relational model. -You understand what basic relational algebra operators under set semantics. -You understand matching, not matching, extend operations and image relations. -You can express queries using relational algebra. -You can create tables using SQL Data Definition Language (DDL) -You understand integrity constraints -You can specify primary key and foreign key constraints in CREATE TABLE statements

Be proficient in SQL

-You can write SQL queries with restrictions, projections and joins. -You can compose SQL queries using set operators. -You can write SQL queries with correlated subqueries. -You can write SQL aggregation queries involving GROUP BY and HAVING clauses. -You can write SQL queries implementing set union, intersection and difference operations. -You can write SQL queries implementing matching and image relations. -You can translate a query in English to SQL.

Be able to write a program that interacts with a DBMS server -You understand client-server computing in the context of DBMSs -You understand how a host programming language environment interacts with the SQL environment -You can implement simple APIs that interact with a DBMS server.

Structure Data using Data Models -You can use data modeling tools like Entity-Relationship Diagrams. -You can translate data models into relational table schema (DDLs)

Understand Data Normalization -You understand functional dependencies and their relationship to keys -You understand multi-valued dependencies and join dependencies. -You understand normal forms 1NF, 2NF, 3NF, BCNF, 4NF and 5NF. -You can find keys given a set of functional dependencies -You can identify tables that are not normalized -You can decompose unnormalized tables.

Understand constraints, views, triggers, stored procedures, and indexes in Databases -You understand what constraints are for and how to use them. -You understand what views are for and how to use them. -You understand what triggers are for and how to use them. -You understand what stored procedures are for and how to use them. -You understand what indexes are for and how to use them.

Understand basic transaction processing concepts -You understand transactions and their properties of Atomicity, Consistency, Isolation and Durability (ACID) -You understand the anomalies that occur without ACID. -You can implement stored procedures that use transactions to ensure ACID.

Understand how data is stored and indexed in a DBMS -You understand storage media and their basic properties -You understand how data is stored using storage media in a DBMS -You understand how different indexing techniques work

In addition to the ICS department’s undergraduate course outcomes, which are students will have: -An ability to apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems. -An ability to define the computing requirements of a problem and to design appropriate solutions based on established design principles and with an understanding of the tradeoffs involved in design choices. -An ability to use sound development principles to implement computer-based and software systems of varying complexity, and to evaluate such systems. -An ability to use current techniques, skills, and tools necessary for computing practice.

Readings

Syllabus

For ICS 321

Experiential Learning

E02: Download MySQL

Get started with MySQL