INFO-I 308 Information Representation
3 credits
- Prerequisite(s): None
- Delivery: On-Campus, Online
- Semesters offered: Fall, Spring, Summer (Check the schedule to confirm.)
Description
This course covers information representation in computer systems. Topics include relational databases in the ER model; SQL commands; database design, implementation, and normalization; database triggers; backup, security, and other data management tasks; data extraction from JSON and XML and their use for transmitting objects between browser and server; and social and ethical issues. You cover basic principles of database development from conception to completion. Although you review different systems, the emphasis will be on MySQL databases, which will support your work in future information roles.
Program Learning Outcomes Supported
- A4. Describe data and information representation
- B1. Use problem-solving techniques to design program algorithms, including pseudo code and flow charts
- C3. Create effective visualizations to analyze and communicate data
- D1. Apply fundamental concepts of software architecture
- D2. Develop user requirements
- E1. Analyze the social, cultural, and organizational settings in which IT solutions will be deployed to achieve successful implementation
- F2. Support the ethical and appropriate design and use of technology
Learning Outcomes
- Design and implement relational databases using tables, keys, relationships, and SQL commands to meet user and operational needs.
- Diagram a relational database design with entity–relationship diagrams (ERDs) using crow's foot notation to enforce referential integrity.
- Evaluate tables for compliance to third normal form and perform normalization procedures on noncompliant tables.
- Write triggers to handle events and create views to enforce business rules within a relational database.
- Perform data management tasks associated with the data lifecycle including backup and security.
- Extract data from JavaScript Object Notation (JSON) and XML documents.
- Transmit objects between the browser and server by converting them into JSON.
- Evaluate the social and ethical implications of data management.
Profiles of Learning for Undergraduate Success (PLUS) Alignment
Instructors align their courses with the Profiles of Learning for Undergraduate Success. The profiles provide students various opportunities to deepen disciplinary understanding, participate in engaged learning, and refine what it means to be a well-rounded, well-educated person prepared for lifelong learning and success.
- P1.4. Communicator: Convey Ideas Effectively
- P2.1. Problem Solver: Think critically
- P2.1. Problem Solver: Analyzes, Synthesizes, and Evaluates
- P2.1. Problem Solver: Analyzes, Synthesizes, and Evaluates
- P2.3. Problem Solver: Analyzes, synthesizes, and evaluates
- P3.2. Innovator: Creates/designs
- P4.4. Community Contributor: Anticipates consequences
Course Overview
Module 1: Database design principles and methodology
- what is a database?
- database privacy concerns
- structured design life cycle
Module 2: ER modeling
- the danger of data anomalies
- entities (tables) and attributes (columns)
- entity relationships
- naming conventions
- business rules
- table relationships -- 1:1, 1:M, M:N
- Crow's' Foot notation
- how to make an ERD with app.diagrams.net
Module 3: ER modeling, Normalization
- primary keys, foreign keys
- relational integrity
- normalization
Module 4: Normalization, Performance enhancement
- normalization review
- indexing, partitioning, clustering
- phpMyAdmin orientation
- indexing a table in phpMyAdmin
Module 5: SQL basics
- introduction to SQL
- creating tables, inserting data
- data types
- column constraints
- foreign key constraints (relational integrity)
Module 6: SQL DML
- importing the rare books database tables into phpMyAdmin
- using SQL for retrieval
- MySQL operators
- SQL joins
- subqueries
Module 7: SQL DML
- using advanced SQL for retrieval
- aggregate functions
- window functions
Module 8: SQL DML and DDL
- importing the classic models database tables into phpMyAdmin
- inserting, updating, deleting data
- creating a view
- creating an index
- stored procedures
- triggers
Module 9: Database implementation--Social and ethical implications of data management
- database security
- maintaining data quality
- understanding the ethical implications of data decision making
Module 10: The role of XML and JSON in database systems
- using XML in a relational database
- JSON review
- using JSON in a relational database
Module 11: Transmitting objects between browser/server using JSON
- NoSQL databases
- using JSON in a relational database
Module 12: Phase 1: Database proposal
Module 13: Phase 2: Normalization
Module 14: Phase 3: ERD
Module 15: Phase 4: Database implementation
- exporting your tables and data
- creating referential integrity
- how to create a full-text index
- how to create a full-text query
Policies and Procedures
Please be aware of the following linked policies and procedures. Note that in individual courses instructors will have stipulations specific to their course.