CSCI 366
Database Systems
Coordinator: jingnan xie
Credits: 4.0
Description
Introduction to building database-driven applications. Topics include data modeling, building databases, database queries, basic data management, Model View Controller design paradigm, basic database-driven application development, and non-relational database systems.
Prerequisites
C- or higher in CSCI 162; C- or higher in CSCI 140 or MATH 120
Course Outcomes
At the end of this course, a successful student will be able to
- Compose queries to extract data from a relational database
- Design a data model using techniques such as entity/relationship modeling and normalization
- Construct a database according to a data model
- Design and implement abstractions of database operations in a software architecture
- Demonstrate an in-depth knowledge of the Model View Controller design paradigm
- Compare the benefits and drawbacks to adopting a relational or non-relational database
- Implement a basic database-driven application
- Compose queries to extract data from a non-relational database
Major Topics Covered
- Design Patterns
- Model View Controller
- Three-tier Architecture
- Logical independence/physical independence
- Relational Databases and SQL
- Single Entity
- One-to-Many Relationships
- Many-to-Many Relationship
- One-to-One and Recursive Relationships
- Data Modeling
- Entity/Relationship Modeling
- Normalization
- Relational Model and Relational Algebra
- Basics of Database Management
- Indexing
- Data Integrity
- Database Application Programming
- Client-server model
- Communication layer
- Presentation layer
- Forms
Sample Laboratory Projects
- Write basic SQL queries
- Create SQL queries for tables with one-to-many relationships
- Create SQL queries for tables with many-to-many relationships
- Write SQL queries for tables with one-to-one and recursive relationships
- Create data models given scenarios
- Write basic non-relational queries
- Write a simple database-driven application