Playground Environment

We have provided an online playground with several environments for you to experiment with various concepts discussed throughout the book: practice SQL queries using a relational database, play around with MongoDB, a NoSQL database, or see how a graph database works using Cypher and Neo4j. A number of visualizations illustrate how search tree structures work.

There are three ways how you can use the online playground: either by creating an account on this site, by downloading a VirtualBox appliance, or as a Docker container. We recommend the latter two options if you're planning to use the playground with many students or want to host your own environment.

Access the Online Playground Environment

Access the online environment

Note that you will need to register an account to access and use the online environment.

See this YouTube video on how to use the online practice environment.

Downloading the Playground Environment as a VirtualBox Appliance

Download the VirtualBox appliance and import it into VirtualBox. VirtualBox can be downloaded here for Windows, MacOS and Linux hosts.

After starting an appliance, a shortcut on the desktop will open the local playground environment. (Note: the username and password of the appliance user are both set to "pdbmbook".)

Hosting the Playground Environment Yourself

A Dockerfile repository is hosted at this GitHub repository from which you can set up your own Docker containing containing the full playground environment. Docker is available both for Linux, Mac, and Windows operating systems.

Read the instructions below or see this YouTube video on how to install the practice environment.

Installation on Non-Hyper-V Windows Systems

Docker for Windows requires Microsoft Windows 10 Professional or Enterprise 64-bit (i.e. a Windows edition supporting Hyper-V). If you're running another Windows version, you'll have to use the Docker Toolbox and VirtualBox. To install, first download and install Docker Toolbox. Next, open a PowerShell command line instance and enter the following:
docker-machine create virtualbox

Once booted, run the following command:
docker-machine env virtualbox | Invoke-Expression

Stop the virtual machine:
docker-machine stop virtualbox

Next, open VirtualBox. A machine called "virtualbox" should be present. Open its settings and head to the Networking tab. Open the "Advanced" settings under "Adapter 1", and open the "Port Forwarding" window. Add a new port forwarding rule as follows:

  • Name: web
  • Protocol: TCP
  • Host IP: (leave blank)
  • Host port: 8081
  • Guest IP: (leave blank)
  • Guest port: 8081
Start the virtual machine again:
docker-machine start virtualbox

Download a ZIP file of the GitHub repository for the playground. Extract it somewhere easy to find (e.g. "pdbmbook-docker-master" on your Desktop).

In your PowerShell window, navigate to the "pdbmbook-docker-master" directory using the "cd" command, and enter:
docker build .

Docker will now start preparing your image. This might take a few minutes depending on your Internet connection. Once done, verify the image is up by entering:
docker images

This will show something like:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
none                none                258b38268c91        41 seconds ago      1.44GB
ubuntu              xenial              0b1edfbffd27        11 days ago         113MB

Run the image using the following command (make sure to replace "258b38268c91" with your correct image ID):
docker run -i -t -p 8081:80 258b38268c91

Once done booting, you can navigate to 127.0.0.1:8081 in your web browser to use the playground environment.


© Principles of Database Management 2019.
Send us your feedback.