The management of data is one of the classical problems throughout the history of computing. This course centers around the fundamental concepts and theory that underpin the relational data model, which addresses numerous problems that plague data management, including data independence, consistency, information loss, and access performance. Course topics include the relational data model, database languages (e.g., SQL), relational database theory, database design (by decomposition), query execution, and considerations that affect system performance. Students design database schemas that effectively model an organization's information requirements and write programs that require database integration. Students also gain insight through the analysis and implementation of influential data structures and algorithms that are commonly used in modern relational database systems.
Prerequisites: CSCI 261 and MATH 210 or permission of instructor. All prerequisite courses must have been completed with a grade of C- or higher.