//**************************************************
// These are the questions and answers for the game.
// This file should be included AFTER the utility.js
// file, which is where the qAndA object is defined.
//**************************************************

// Normalization
var cat1 = new Array(
    new qAndA(100, "This is a column that is not part of the primary key.", "What is a nonkey column?"),
    new qAndA(200, "The absence of repeating groups.", "What is first normal form?"),
    new qAndA(300, "A column (or collection of columns) on which all columns in the table are functionally dependent", "What is a Candidate Key or Primary Key"),
    new qAndA(400, "A column (or collection of columns) that determines another column", "What is a determinant?"),
    new qAndA(500, "Enables one to identify the existence of update anomalies", "What is the normalization process?")
);

// Visual Basic
var cat2 = new Array(
    new qAndA(100, "The company that makes Visual Basic.", "Who is Microsoft?"),
    new qAndA(200, "What you get when you compile your VB program.", "What is a standalone program?"),
    new qAndA(300, "The window in VB that allows you to modify attributes of your controls.", "What is the properties window?"),
    new qAndA(400, "The name for what happens when the user interacts with your VB program.", "What is an event?"),
    new qAndA(500, "The mode in VB when you can modify the form(s).", "What is design mode?")
);

// MS Access
var cat3 = new Array(
    new qAndA(100, "This is the tab you have to click on in Access to create a query.", "What is the Query Tab?"),
    new qAndA(200, "This is a 'point and click' way to ask questions of the database.", "What is QBE?"),
    new qAndA(300, "This is the file extension used to denote an Access database.", "What is .mdb?"),
    new qAndA(400, "This is a language designed to retrieve data from a database.", "What is SQL?"),
    new qAndA(500, "This is an option that will force the database to maintain integrity when a row's foreign key parent is deleted.", "What is cascade delete.")
);

// Programming Concepts
var cat4 = new Array(
    new qAndA(100, "The ability to call a block of code in many situations.", "What is reusability?"),
    new qAndA(200, "The process of breaking a program into small easy to understand pieces.", "What is modularization?"),
    new qAndA(300, "A control structure that repeats a block of code some number of times", "What is a loop?"),
    new qAndA(400, "A symbol that indicates an operation such as subtraction or comparison", "What is an operator?"),
    new qAndA(500, "A hard coded value such as a number or some text.", "What is a literal?")
);

// Database Structure
var cat5 = new Array(
    new qAndA(100, "Any 'object' that has properties or attributes and is used to model a table in a database.", "What is a row or entity?"),
    new qAndA(200, "A column (or collection of columns) that uniquely identifies a row in a table", "What is a Primary Key?"),
    new qAndA(300, "A structure that allows searches on a database column to be carried out very quickly.", "What is an index?"),
    new qAndA(400, "The rule that states 'A column in one table must match the primary key in another table'.", "What is a foreign key relationship?"),
    new qAndA(500, "The rule that states 'If table A contains a foreign key that matches the primary key of table B, the values of this foreign key must either match the value of the primary key for some row in table B or be null'.", "What is a referential integrity?")
);

var Titles = new Array("Normalization", 
                        "Visual Basic",
                        "MS Access",
                        "Programming Concepts",
                        "Database Structure");

var QuestionsAndAnswers = new Array(cat1, cat2, cat3, cat4, cat5);  

var timerSeconds = 75;