# 20277 Database Systems

**Credits: **3 intermediate credits in Computer Science or in Software Engineering

**Prerequisites**: none

Required: Introduction to Computer Science Using Java,1 Discrete Mathematics: Set Theory, Combinatorics and Graph Theory2 (or Mathematics for Students of Social Sciences: Set Theory, Logic and Linear Algebra)

Recommended: Data Structures and Introduction to Algorithms (or Data Structures)

The course is based on *Database System Concepts* (6th ed.), by A. Silberschatz, H.F. Korth, and S. Sudarshan (McGraw-Hill, 2011).

**Objectives**: To present basic concepts related to database systems, with an emphasis on data representation and languages: the relational model; theoretical and commercial query languages for the relational model; database design using the entity-relationship model and database implementation.

**Topics**: Introduction to database systems; The relational model: SQL, relational algebra, relational calculus; The entity-relationship model; Database design; Indexing and hashing; Query processing.

1or both **Introduction to Computer Science Using Java I** (20453) and** Introduction to Computer Science Using Java II **(20454), or **Fundamentals of Programming with Java** (20478) for students not studying toward a degree in Computer Science.

2or **Discrete Mathematics: Set Theory, Combinatorics and Logic** (20283), which is no longer offered.