Jul 12, 2024  
2019-2020 Course Catalog 
    
2019-2020 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

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++ .
MnTC Goals
None

Prerequisite(s): CSCI 1081  or CSCI 1082  or instructor consent.
Corequisite(s): None
Recommendation: None

Major Content
  1. The Relational Database Model
  2. SQL Language
  3. Relational Database Design
  4. The E-R Model
  5. Physical Storage and File Structure
  6. Query Processing
  7. Query Optimization
  8. Transaction Management & concurrency control
  9. Recovery and Backup
  10. Database-System Architectures
  11. Data Warehousing and Mining
  12. Object-Based Databases
  13. NoSQL Databases
  14. SQL Language
  15. Indexing
  16. Front-end Applications
  17. Comparison of Alternative Architectures
  18. Relational Algebra
  19. Database Administrator Responsibilities

Learning Outcomes
At the end of this course students will be able to:

  1. create conceptual, logical, and physical entity relationship diagrams based on requirements.
  2. apply the appropriate design process and techniques (such as normalization) to create an optimal database
  3. use SQL to create, modify, and query relational databases.
  4. demonstrate principles for effective transaction management, concurrency control, and recovery.
  5. describe techniques for creating data warehouses and mining them for information.
  6. compare different database architectures including relational, distributed, object-oriented and NoSQL.
  7. create indices that promote optimal database access and queries.
  8. describe query processing .
  9. implement query optimizations.
  10. create user-friendly front-end applications that implement HCI principles.
  11. describe the relationship between queries and relational algebra operators.
  12. describe the role and responsibilities of database administrator.

Competency 1 (1-6)
None
Competency 2 (7-10)
None


Courses and Registration



Add to Portfolio (opens a new window)