Skip to main content


The concept of a database is familiar; think of the websites for Amazon and Ebay storing data in a persistent entity, a database, which can be interrogated. While there are many different types of databases, they all have one thing in common, they store structured data. In this module we will discuss relational databases, currently the most common type of database and what you are most likely to find available at a XSEDE site or your own IT department. The software system which manages the relational database is called a Relational Database Management System (RDBMS). This class includes Oracle, MySQL, and Microsoft SQL Server as well as more lightweight RDBMSs that you can install and run on your own desktop/laptop such as SQLite and SmallSQL.

Accessing a relational database is achieved with a query language, typically some variety of Structured Query Language (SQL, pronounced "sequel"); the presence of "SQL" in the name of many RDBMSs can cause confusion but properly SQL refers to the abstracted language used to access the database. A federated database is a single interface to a number of autonomous databases that manages queries across all of the member databases to make them appear as a single database. Other entities, such as data warehouses, are more specialized entities and are beyond the scope of this workshop.


In this module we deal with designing databases and using SQL to create and access relational databases. While some references are made to administration of RDBMSs, they are limited to generalisms as more advanced database administration is RDBMS-specific.