Organization of Data
Course Composition and Objectives
- Data Modeling
- Describe the concept and practical use of data modeling
- Model data in business environments by drawing E/R diagrams with unary, binary, or ternary relationships and different cardinality and modality
- Explain the concept of unique keys within entities
- List the basic differences between different data models (e.g., OO, OR, semi-structured)
- Relational Model
- Define basic relational database terms such as relation and tuple
- Explain the concept of primary and foreign keys
- Explain the concept of referential integrity
- Logical Database Design
- Understand the concepts of dependencies and redundancies in data
- Perform the data normalization process, especially 3NF and BCNF
- Design relational databases by converting E/R diagrams into relational tables
- SQL Query Language
- Describe SQL as a relational data manipulation language
- Understand the basic operations of databases such as insert, delete, update, and retrieve
- Understand how to integrate data over multiple tables using JOIN operator
- Understand a variety of SQL commands to manipulate data such as GROUP BY and built-in aggregate functions of AVG, SUM, etc.
- Understand how to write nested queries and their semantic equivalence to JOIN clause
- Advanced SQL: Understand the functions of TRIGGER, TRANSACTION, VIEW, authorization (GRANT, REVOKE), and recursion
- Relational algebra: Understand and use relational algebra in designing SQL queries
- Instructor Choice: Instructors may choose topics and learning objectives that meet the spirit of the course as defined here. Instructors may choose to devote more time to the learning objectives listed above or to add additional, complementary objectives. Supplementary material and objectives should not overlap with the defined content of other courses.
- Some example topics include:
- Web-based applications: 3-tier architecture, web interface via programming (PHP, Ruby, Python)
- Physical Database Design: Discuss the nature of data, define data-related terms, and describe efficient access methods to data.
- Define data-related terms such as file, record, entity, and attribute
- Compare sequential vs. direct access of data
- Describe the principles of file organization and access methods
- Describe how basic index structures such as B+ tree work
- Controlling databases: backup/recovery and other database administration
- Related topics: data mining, data warehousing, multimedia databases, distributed databases, Big Data challenges, On-Line Analytical Processing (OLAP), and NoSQL
- Some example topics include:
As the database management software becomes one of the critical components in modern IT applications and systems, a solid understanding of the fundamental knowledge on the design and management of “data” is required for virtually any IT professionals. In a business setting, such IT professionals should be able to talk to the clients to derive right requirements for database applications, ask the right questions about the nature of their entities and in-between relationships in their business scenarios, analyze and develop an effective and robust design to address business constraints, and react to the existing database designs as new needs arise. Solid understanding of the underlying data models and design issues in data applications is also critical for SRA students to ensure secure access to and intelligent analysis of data in complex business settings. Modern IT professionals should be able to guide a company in the best use of the diverse database-related technologies and applications toward the “Big Data” era.
As such, IST 210 aims to prepare IST and SRA students for obtaining fundamental understanding on the database concepts and practical skills to analyze and implement a well-defined database design. In particular, IST 210 provides an introduction to physical database design, data modeling, relational model, logical database design, SQL query language, and instructors’ choices on database applications and advanced concepts. Students will learn to use a real-world commercial or open-source database management system, too. Upon taking IST 210, students should be able to understand the implications and future directions of databases and database technologies.