Database Design

Last update: July 31, 2018

Databases are at the core of virtually all critical information system. In this competition you will flex your database design and SQL muscles to show you’ve got the right stuff to make data work for you!

In this two-part competition, teams will be provided with a problem statement which will require them to design a database, create an entity relationship diagram reflecting their design, and generate SQL code to query and modify the database. Teams may also be asked to construct additional SQL code (DQL/DML) and/or respond to questions about general database design and management issues.

ERDs should be created using diagramming software such as Microsoft Visio, Visible Analyst, or LucidChart. All SQL code must be written using standard structured query language and must utilize Oracle, MySQL, or MSSQL Server. Each team is required to bring their own laptop/notebook PC, with their own diagramming and database software.

Team Composition

Teams may be made up of 1-2 people.


Thursday, April 4, 2019 (Tentatively 6:30 - 10:30 PM)

Skills and Resources

Successful teams will need skills in database design, entity-relationship modeling, and structured query language (SQL). Participants must use Oracle, MySQL, or MS SQL Server.  MS Access and other development suites that support drag and drop are not allowed. For all objectives, only standard SQL commands may be used.  Application specific commands, those unique to Oracle, MS SQL Server, or MySQL will result in a reduction of points.

The competition may contain all or some of the following components:

(1) Database Design: Teams must submit a database design based on the given problem statement or SQL script. The design will be represented by an ERD with entities, relationships, attributes, primary and foreign keys, cardinality, and optionality; and the relational schema normalized to 3NF.

(2) Data Definition Language (DDL): Teams will be required to write the SQL code to instantiate the design shown in their ERD into a physical database, including all keys.

(3) Data Query Language: Teams may be required to write one or more SELECT queries to query an existing database or the database they have created.

(4) Data Manipulation Language (DML): Teams may be required to write one or more DML statements to INSERT, UPDATE, or DELETE data from an existing database or the database they have created.

(5) Knowledge demonstration: Teams may be presented with multiple choice, fill in the blank, or multi-section questions about their design or general database/SQL knowledge.


Teams will be given the problem statement at the beginning of the contest time.  A short time will be allowed to ask general questions about competition rules, however no specific questions about the problem or database concepts will be addressed.  Once the question & answer time has closed, no further questions will be answered.  Each team will submit their solution for judging prior to the contest closing time, at which point no further submissions will be accepted.

Previous Problem Statments

2018 Database Design

Return to the competitions overview page.