Homework, Projects & Handouts
Homework
Update (2/13/2019):
From now on, homeworks will be submitted online via Blackboard
Projects
The goal for the project is to create a simple database application that supports query operation over a relation. The project consists in three parts. In each part you are asked to implement the backend of the application in a different way (filesystem, in-memory data structures and a embedded database).
The goal of this practice project to give you the opportunity to experience with SQL. If you have not taken CS 34800 this project will help you to make comfortable writing SQL and programming scripts/applications that access databases. In case, you have taken CS 34800, the project will help you to practice the concepts already learned in that course. In both cases, we encourage you to complete this project. The project is divided in three parts (that will be covered during the PSO sessions during February): (a) SQL; (b) PL/SQL; (c) JDBC.
[handout] [files] [Solution] [SQL Tutorial]
The goal of this project is to implement a simplified version of a Buffer Manager layer, without support of concurrency control or recovery. This project is based on Minibase, a small relational DBMS, structured in several layers.
The goal of this project is to implement Relational Algebra Operators using the Iterator interface inside a working database system. This project is based on Minibase, a small relational DBMS, structured in several layers.
The goal of this project is getting some experience in Big Data Technologies. For the project, you will use Hadoop Distributed Filesystem and Spark to perform some data processing tasks. We encourage you to start as soon as possible with this project, especially since you need to become familiar with the Purdue Scholar Cluster. Related material will be covered during the PSO sessions of April.
The goal of this project is to implement a simplified version of the 2PL protocol used to handle concurrent operations (e.g., transactions). The implementation should prevent deadlocks and handling them properly. Even though the project is non-graded, we encourage you to complete it, to get some practical experience about Chapter 20 (Intro to Transaction Processing Concepts and Theory), 21 (Concurrency Control Techniques) and 22 (Database Recovery Techniques) from the Textbook. The project will be covered during the PSO sessions in April. No solution will be posted online.
Other Handouts
Implementation
Secure data warehouse & Privacy Preserving Data Dissemination
Concurrency Control Handouts
Cloud Computing
Reading Material
NoSQL and Big Data
Relational Algebra, Normalization and SQL
Notes from CS641 Multimedia Database Systems
Other