Nov 30, 2023
CSCI 2050 - Database Management Systems Credits: 4
Hours/Week: Lecture 4 Lab None
Course Description: The course covers the concepts and techniques for designing, creating, and managing databases. The relational model is emphasized, along with its associated design techniques, such as E-R Model, normalization, and decomposition. Structured Query Language (SQL) is covered in depth and used to implement, query, and modify databases. Topics include query optimization, transaction management, backup, security, and privacy, as well as additional architectures such as distributed, object-oriented, and client/server. Additional architectures such as distributed, object-oriented database, and client/server are explained. Course activities include the creation of front-end database applications that use modern interface design, using an industry-current database such as MySQL. An industry current database such as MySQL will be used in the course. This course requires thorough knowledge of an object-oriented programming language such as Java or C++ .
Prerequisite(s): CSCI 1081 or CSCI 1082 or instructor consent.
- The Relational Database Model
- SQL Language
- Relational Database Design
- The E-R Model
- Physical Storage and File Structure
- Query Processing
- Query Optimization
- Transaction Management & concurrency control
- Recovery and Backup
- Database-System Architectures
- Data Warehousing and Mining
- Object-Based Databases
- NoSQL Databases
- SQL Language
- Front-end Applications
- Comparison of Alternative Architectures
- Relational Algebra
- Database Administrator Responsibilities
At the end of this course students will be able to:
- create conceptual, logical, and physical entity relationship diagrams based on requirements.
- apply the appropriate design process and techniques (such as normalization) to create an optimal database
- use SQL to create, modify, and query relational databases.
- demonstrate principles for effective transaction management, concurrency control, and recovery.
- describe techniques for creating data warehouses and mining them for information.
- compare different database architectures including relational, distributed, object-oriented and NoSQL.
- create indices that promote optimal database access and queries.
- describe query processing .
- implement query optimizations.
- create user-friendly front-end applications that implement HCI principles.
- describe the relationship between queries and relational algebra operators.
- describe the role and responsibilities of database administrator.
Competency 1 (1-6)
Competency 2 (7-10)
Courses and Registration
Add to Portfolio (opens a new window)