[ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

## 3.1 How to add new dataset

To define a dataset we have to introduce its name (function `init_dataset` and optionaly describe its data source or sources (function `add_ds_source`). Dataset tables are described by calls to function `add_ds_table` where parameters are dataset name, priority in which tables are listed in tutorail questions, table name and the list of its column names (attributes).

Example:

 ```SELECT init_dataset ('computer_store'); SELECT add_ds_source('computer_store', 2010, 'http://en.wikibooks.org/wiki/SQL_Exercises/The_computer_store'); SELECT add_ds_table ('computer_store', 1, 'manufacturers', 'code, name'); SELECT add_ds_table ('computer_store', 2, 'products', 'code, name, price, manufacturer'); ```

For each problem we can formulate one or more quesitions and one or more answers (sql queries). Within a dataset each problem is described by a unique identification number (secon parameter of the function `insert_problem`) followed by its point rating.

 ```-- dataset name, internal problem_id, points, category -- (currently unused) SELECT insert_problem ('computer_store', 10, 1, 'select'); -- dataset name, internal problem id, order, language, question text SELECT insert_question('computer_store', 10, 1, 'en', 'Select the names and the prices of all the products in the store.'); -- dataset name, internal dataset id, order, language, sql answer SELECT insert_answer ('computer_store', 10, 1, 'SELECT name FROM products;'); ```

Tutoriual questions can be translated to other languages.

 ```-- Problem defines id, point rating and category SELECT insert_problem ('computer_store', 30, 2, 'select'); SELECT insert_question('computer_store', 30, 1, 'en', 'Select the names of the products with a price less than or equal to \$200.'); SELECT insert_answer ('computer_store', 30, 1, 'SELECT name FROM products WHERE price <= 200;'); -- Czech translation of problem id 30. Answers (SQL code) are shared -- among all translations SELECT insert_question('computer_store', 30, 1, 'cs', 'Vypište jména všech produktů, jejichž cena je menší nebo rovna 200 dolarů.'); ```

 [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

This document was generated by Ales Cepek on January 18, 2018 using texi2html 1.82.