Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 14 : | Ligne 14 : | ||
:: '''Last tutorial updates''' | :: '''Last tutorial updates''' | ||
− | ::: 2016-12-05: <font color="blue"><b>Chapter 52. Path finders, rovers and Ariadne's thread</b></font> [ | + | ::: 2016-12-05: <font color="blue"><b>Chapter 52. Path finders, rovers and Ariadne's thread</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto52-Shortest-path.pdf [full text]] |
::: 2016-10-24: <font color="blue"><b>Chapters 1 to 17</b></font> | ::: 2016-10-24: <font color="blue"><b>Chapters 1 to 17</b></font> | ||
<!-- | <!-- | ||
Ligne 21 : | Ligne 21 : | ||
::: 2016-07-12: <font color="blue"><b>Chapters 1, 2, 4, 5, 6 and 7</b></font> | ::: 2016-07-12: <font color="blue"><b>Chapters 1, 2, 4, 5, 6 and 7</b></font> | ||
--> | --> | ||
− | ::: 2016-06-06: <font color="blue"><b>Chapter 22. Extending SQLfast</b></font> [ | + | ::: 2016-06-06: <font color="blue"><b>Chapter 22. Extending SQLfast</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto22-Extending-SQLfast.pdf [full text]] |
− | ::: 2016-05-18: <font color="blue"><b>Dictionary of SQLfast commands and parameters</b></font> [ | + | ::: 2016-05-18: <font color="blue"><b>Dictionary of SQLfast commands and parameters</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Commands.pdf [full text]] |
− | ::: 2016-05-18: <font color="blue"><b>Appendix 1. A basket of examples</b></font> [ | + | ::: 2016-05-18: <font color="blue"><b>Appendix 1. A basket of examples</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA1-Basket-of-examples.pdf [full text]] |
− | ::: 2016-01-10: <font color="blue"><b>Chapter 31. From data bulk loading to database book writing</b></font> [ | + | ::: 2016-01-10: <font color="blue"><b>Chapter 31. From data bulk loading to database book writing</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto31-Topo-sort.pdf [full text]] |
Ligne 36 : | Ligne 36 : | ||
:The main goal of SQLfast is to allow the <b>rapid and easy development</b> of <b>small database applications</b> by <b>casual, non expert</b> users. It does not compete with standard programming languages, such as C, Java or C# in which large and complex database applications are written. By automating most tedious and obscure parts of database programming and user interaction, it allows script writers to concentrate on the problem logic. | :The main goal of SQLfast is to allow the <b>rapid and easy development</b> of <b>small database applications</b> by <b>casual, non expert</b> users. It does not compete with standard programming languages, such as C, Java or C# in which large and complex database applications are written. By automating most tedious and obscure parts of database programming and user interaction, it allows script writers to concentrate on the problem logic. | ||
<!-- --> | <!-- --> | ||
− | :[ | + | :[https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/Code_Comparison_EN.pdf This document (in English)] and [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/Code_Comparison_FR.pdf this one (in French)] compare the SQLfast language with standard programming languages for querying a database, interacting with the user and downloading a file. They show that '''a single SQLfast statement''' replaces from '''80 to 100 statements''' written in Java or Python. |
:Despite its simplicity, the SQLfast language includes powerful features such as the full SQL language, variables, GUI, comprehensive control structures (procedures, recursive calls, if-else, for-endfor, while-endwhile, etc.), a versatile text generator, dynamic statement and script execution, external program interface, transactions, automatic metadata management, file management, web access, SMTP protocol, base64 and SHA256 conversion, debugging and much more. | :Despite its simplicity, the SQLfast language includes powerful features such as the full SQL language, variables, GUI, comprehensive control structures (procedures, recursive calls, if-else, for-endfor, while-endwhile, etc.), a versatile text generator, dynamic statement and script execution, external program interface, transactions, automatic metadata management, file management, web access, SMTP protocol, base64 and SHA256 conversion, debugging and much more. | ||
<!-- --> | <!-- --> | ||
Ligne 110 : | Ligne 110 : | ||
**Python 2.7. To use to develop extensions to SQLfast. [http://www.python.org/download/ [download page]] | **Python 2.7. To use to develop extensions to SQLfast. [http://www.python.org/download/ [download page]] | ||
**SQLite3 DBMS is included in the SQLfast software. <!-- However, it can be useful to download the very last version (3.8.10 or later). Download it from [http://www.sqlite.org/download.html [SQLite3]]. Locate section <i>Precompiled Binaries for Windows</i>. In June 2015, the file was named <i>sqlite-dll-win32-x86-3081002.zip</i>. Open the archive and copy the <i>sqlite.dll</i> file in directory <i>Python 2.7/DLLs</i> of the Python directory. --> | **SQLite3 DBMS is included in the SQLfast software. <!-- However, it can be useful to download the very last version (3.8.10 or later). Download it from [http://www.sqlite.org/download.html [SQLite3]]. Locate section <i>Precompiled Binaries for Windows</i>. In June 2015, the file was named <i>sqlite-dll-win32-x86-3081002.zip</i>. Open the archive and copy the <i>sqlite.dll</i> file in directory <i>Python 2.7/DLLs</i> of the Python directory. --> | ||
− | **Jean-Luc Hainaut. <font color="blue"><b>Dictionary of SQLfast commands and parameters</b>, 60 pages, PReCISE Research Center publication, draft version, October 25, 2016. [ | + | **Jean-Luc Hainaut. <font color="blue"><b>Dictionary of SQLfast commands and parameters</b>, 60 pages, PReCISE Research Center publication, draft version, October 25, 2016. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Commands.pdf [full text]]</font> |
− | **Jean-Luc Hainaut. <u>SQLfast: Database processing made easy - Tutorial and Case studies</u>, 900 pages, PReCISE Research Center publication, draft version, May 2014. This is the complete SQLfast tutorial. Many of its chapters are already available through the links below. However, its 17 first chapters are available as a single document [ | + | **Jean-Luc Hainaut. <u>SQLfast: Database processing made easy - Tutorial and Case studies</u>, 900 pages, PReCISE Research Center publication, draft version, May 2014. This is the complete SQLfast tutorial. Many of its chapters are already available through the links below. However, its 17 first chapters are available as a single document [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto-00-to-17.pdf '''(get them here)''']. These chapters are continuously updated, so that it is recommended to check them regularly to get their last versions. |
*'''The complete SQLfast tutorial'''. The SQLfast tutorial progressively introduces the reader to the basics of SQLfast, from elementary data manipulation through very short scripts to complex features such as metadata-based script generation, recursive programming and language extension. It also includes some representative applications: database creation and loading, database exploration, database migration, library management, interactive SQL interpreter, a photo album manager and browser, a statistics manager and viewer, a bill of material manager, a GIS (based on ESRI shapefiles), analysis of an undocumented database, topological sorting of a relational schema, GALOIS lattice generation, automatic GUI generation, automated SQL trainer, ontology-based text indexing and retrieval, Conway's Game of Life (cellular automata), Kings of France (tree processing), schema-less (NoSQL) databases, SQL code injection, etc. Selected draft chapters are already available. <b>Note.</b> This tutorial in its current state is a hybrid document. In the near future, it will be split into two distinct volumes, namely "Introduction to database programming with SQLfast" (first tutorial chapters) and "Problem solving with databases" (last application chapters). | *'''The complete SQLfast tutorial'''. The SQLfast tutorial progressively introduces the reader to the basics of SQLfast, from elementary data manipulation through very short scripts to complex features such as metadata-based script generation, recursive programming and language extension. It also includes some representative applications: database creation and loading, database exploration, database migration, library management, interactive SQL interpreter, a photo album manager and browser, a statistics manager and viewer, a bill of material manager, a GIS (based on ESRI shapefiles), analysis of an undocumented database, topological sorting of a relational schema, GALOIS lattice generation, automatic GUI generation, automated SQL trainer, ontology-based text indexing and retrieval, Conway's Game of Life (cellular automata), Kings of France (tree processing), schema-less (NoSQL) databases, SQL code injection, etc. Selected draft chapters are already available. <b>Note.</b> This tutorial in its current state is a hybrid document. In the near future, it will be split into two distinct volumes, namely "Introduction to database programming with SQLfast" (first tutorial chapters) and "Problem solving with databases" (last application chapters). | ||
Ligne 117 : | Ligne 117 : | ||
</nowiki> | </nowiki> | ||
− | :*SQLfast Tutorial - <b>1st pages</b> and <b>Table of contents</b>, draft version, 2016. to be completed [ | + | :*SQLfast Tutorial - <b>1st pages</b> and <b>Table of contents</b>, draft version, 2016. to be completed [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto00-1st-pages.pdf [full text]] |
<nowiki> | <nowiki> | ||
Ligne 125 : | Ligne 125 : | ||
</nowiki> | </nowiki> | ||
− | :*SQLfast Tutorial - <font color="blue"><b>1. Introduction</b>, draft version, January 07, 2017.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>1. Introduction</b>, draft version, January 07, 2017.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto01-Introduction.pdf [full text]] |
::''Chapter contents'': Description of SQLfast. How to start. Example database. | ::''Chapter contents'': Description of SQLfast. How to start. Example database. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>2. Basic scripts</b>, draft version, January 07, 2017.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>2. Basic scripts</b>, draft version, January 07, 2017.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto02-Basic-programs.pdf [full text]] |
::''Chapter contents'': First scripts. Opening a database. The <tt>select</tt> query. Using variables. Asking the user to enter data. Interactive scripts. | ::''Chapter contents'': First scripts. Opening a database. The <tt>select</tt> query. Using variables. Asking the user to enter data. Interactive scripts. | ||
::''Statements and functions'': <tt>openDB</tt>, <tt>closeDB</tt>, <tt>select</tt>, <tt>set</tt>, <tt>write</tt>, <tt>ask</tt>. | ::''Statements and functions'': <tt>openDB</tt>, <tt>closeDB</tt>, <tt>select</tt>, <tt>set</tt>, <tt>write</tt>, <tt>ask</tt>. | ||
Ligne 134 : | Ligne 134 : | ||
:*SQLfast Tutorial - <b>3. Getting started with SQL</b>, writing in progress. | :*SQLfast Tutorial - <b>3. Getting started with SQL</b>, writing in progress. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>4. Creating a database</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>4. Creating a database</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto04-Creating-DB.pdf [full text]] |
::''Chapter contents'': Creating a new database. Inserting data in a database. First notion of transaction. Calling an external script. Writing blank lines. In-memory databases. | ::''Chapter contents'': Creating a new database. Inserting data in a database. First notion of transaction. Calling an external script. Writing blank lines. In-memory databases. | ||
::''Statements and functions'': <tt>createDB</tt>, <tt>createOrReplaceDB</tt>, <tt>create table</tt>, <tt>insert</tt>, <tt>commiDB</tt>, <tt>execSQL</tt>, <tt>createDB InMemory</tt>. | ::''Statements and functions'': <tt>createDB</tt>, <tt>createOrReplaceDB</tt>, <tt>create table</tt>, <tt>insert</tt>, <tt>commiDB</tt>, <tt>execSQL</tt>, <tt>createDB InMemory</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>5. Updating data</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>5. Updating data</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto05-Updating-data.pdf [full text]] |
::''Chapter contents'': Multiple-field user data entry. Dialogue box layout and mechanics. SQL data modification queries. Interactive data modification. Using variables in query building. Dynamic queries. | ::''Chapter contents'': Multiple-field user data entry. Dialogue box layout and mechanics. SQL data modification queries. Interactive data modification. Using variables in query building. Dynamic queries. | ||
::''Statements and functions'': <tt>insert</tt>, <tt>delete</tt>, <tt>update</tt>, <tt>ask</tt>. | ::''Statements and functions'': <tt>insert</tt>, <tt>delete</tt>, <tt>update</tt>, <tt>ask</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>6. More on variables</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>6. More on variables</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto06-More-on-variables.pdf [full text]] |
::''Chapter contents'': Playing with dates and times. Measuring elapsed time. Variable/value substitution operator. Computation. SQLfast procedures and variables. | ::''Chapter contents'': Playing with dates and times. Measuring elapsed time. Variable/value substitution operator. Computation. SQLfast procedures and variables. | ||
::''Statements and functions'': <tt>date</tt>, <tt>time</tt>, <tt>start-timer</tt>, <tt>timer</tt>, <tt>create index</tt>, <tt>drop index</tt>, <tt>output</tt>, <tt>wait</tt>, <tt>parameter delimiters</tt>, <tt>set-n</tt>, <tt>substitution</tt>, <tt>compute</tt>, <tt>execSQL</tt>. | ::''Statements and functions'': <tt>date</tt>, <tt>time</tt>, <tt>start-timer</tt>, <tt>timer</tt>, <tt>create index</tt>, <tt>drop index</tt>, <tt>output</tt>, <tt>wait</tt>, <tt>parameter delimiters</tt>, <tt>set-n</tt>, <tt>substitution</tt>, <tt>compute</tt>, <tt>execSQL</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>7. Taking decisions</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>7. Taking decisions</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto07-Taking-decisions.pdf [full text]] |
::''Chapter contents'': Alternative control statement. Displaying a message. SQLfast conditions. Skipping statements. Simple loops. | ::''Chapter contents'': Alternative control statement. Displaying a message. SQLfast conditions. Skipping statements. Simple loops. | ||
::''Statements and functions'': <tt>if</tt>, <tt>if-endif</tt>, <tt>if-else-endif</tt>, <tt>showMessage</tt>, <tt>label</tt>, <tt>goto</tt>. | ::''Statements and functions'': <tt>if</tt>, <tt>if-endif</tt>, <tt>if-else-endif</tt>, <tt>showMessage</tt>, <tt>label</tt>, <tt>goto</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>8. Reading data</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>8. Reading data</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto08-Reading-data.pdf [full text]] |
::''Chapter contents'': Extracting data from the database. Indexed <tt>select</tt> queries. Queries which return no rows. Coping with empty sets and null values. SQL for loop. Embedded loops. | ::''Chapter contents'': Extracting data from the database. Indexed <tt>select</tt> queries. Queries which return no rows. Coping with empty sets and null values. SQL for loop. Embedded loops. | ||
::''Statements and functions'': <tt>extract</tt>, <tt>select #n</tt>, <tt>select #[n1,n2]</tt>, <tt>for-endfor</tt>, <tt>SQLdiag</tt>. | ::''Statements and functions'': <tt>extract</tt>, <tt>select #n</tt>, <tt>select #[n1,n2]</tt>, <tt>for-endfor</tt>, <tt>SQLdiag</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>9. Looping - The final chapter</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>9. Looping - The final chapter</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto09-More-on-Loops.pdf [full text]] |
::''Chapter contents'': SQL-based for loop. Range loops. While loop. Controlling a loop. Loops internals. | ::''Chapter contents'': SQL-based for loop. Range loops. While loop. Controlling a loop. Loops internals. | ||
::''Statements and functions'': <tt>for-endfor</tt>, <tt>while-endwhile</tt>, <tt>next</tt>, <tt>exit</tt>. | ::''Statements and functions'': <tt>for-endfor</tt>, <tt>while-endwhile</tt>, <tt>next</tt>, <tt>exit</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>10. SQLfast expressions</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>10. SQLfast expressions</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto10-Expressions.pdf [full text]] |
::''Chapter contents'': Syntax of SQLfast expressions. Numeric expressions. Character string expressions. Logical expressions. Time expressions. General functions. Using external libraries. | ::''Chapter contents'': Syntax of SQLfast expressions. Numeric expressions. Character string expressions. Logical expressions. Time expressions. General functions. Using external libraries. | ||
::''Statements and functions'': <tt>compute</tt>, <tt>if</tt>, <tt>while</tt>, <tt>execApp</tt>, <tt>function</tt>. | ::''Statements and functions'': <tt>compute</tt>, <tt>if</tt>, <tt>while</tt>, <tt>execApp</tt>, <tt>function</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>11. Output channels</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>11. Output channels</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto11-Output-Channels.pdf [full text]] |
::''Chapter contents'': Where to write? Output channels: console, standard output file, user output file, variable. Changing output channel. Default output channel. Default output mode. | ::''Chapter contents'': Where to write? Output channels: console, standard output file, user output file, variable. Changing output channel. Default output channel. Default output mode. | ||
::''Statements and functions'': <tt>write</tt>, <tt>select</tt>, <tt>outputOpen</tt>, <tt>outputAppend</tt>, <tt>outcoding</tt>, <tt>outputtype</tt>, <tt>outputmode</tt>. | ::''Statements and functions'': <tt>write</tt>, <tt>select</tt>, <tt>outputOpen</tt>, <tt>outputAppend</tt>, <tt>outcoding</tt>, <tt>outputtype</tt>, <tt>outputmode</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>12. Dialogues</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>12. Dialogues</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto12-Dialogues.pdf [full text]] |
::''Chapter contents'': Data entry ''vs'' data update. Checking user action. Text entry/update. Selecting one item. Selecting multiple items. | ::''Chapter contents'': Data entry ''vs'' data update. Checking user action. Text entry/update. Selecting one item. Selecting multiple items. | ||
::''Statements and functions'': <tt>DIALOGbutton</tt>, <tt>ask/askData</tt>, <tt>parameter label-separator</tt>, <tt>ask-u</tt>, <tt>askText</tt>, <tt>askText-u</tt>, <tt>selectOne</tt>, <tt>selectOne-u</tt>, <tt>selectMany</tt>, <tt>selectMany-u</tt>, <tt>textwrap</tt>, <tt>stdTextX</tt>, <tt>stdTextY</tt>. | ::''Statements and functions'': <tt>DIALOGbutton</tt>, <tt>ask/askData</tt>, <tt>parameter label-separator</tt>, <tt>ask-u</tt>, <tt>askText</tt>, <tt>askText-u</tt>, <tt>selectOne</tt>, <tt>selectOne-u</tt>, <tt>selectMany</tt>, <tt>selectMany-u</tt>, <tt>textwrap</tt>, <tt>stdTextX</tt>, <tt>stdTextY</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>13. Displaying data</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>13. Displaying data</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto13-Displaying-data.pdf [full text]] |
::''Chapter contents'': Displaying a message. Message formatting. Displaying a data set. Displaying a text. Displaying a picture. Displaying a drawing. Dialogue help. Loading a file in a variable. Database browsers. | ::''Chapter contents'': Displaying a message. Message formatting. Displaying a data set. Displaying a text. Displaying a picture. Displaying a drawing. Dialogue help. Loading a file in a variable. Database browsers. | ||
::''Statements and functions'': <tt>showMessage</tt>, <tt>showData</tt>, <tt>showText</tt>, <tt>showPicture</tt>, <tt>showDrawing</tt>, <tt>maxPictureX</tt>, <tt>maxPictureY</tt>, <tt>help</tt>, <tt>fileToVariable</tt>. | ::''Statements and functions'': <tt>showMessage</tt>, <tt>showData</tt>, <tt>showText</tt>, <tt>showPicture</tt>, <tt>showDrawing</tt>, <tt>maxPictureX</tt>, <tt>maxPictureY</tt>, <tt>help</tt>, <tt>fileToVariable</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>14. Advanced dialogues</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>14. Advanced dialogues</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto14-Advanced-dialogues.pdf [full text]] |
::''Chapter contents'': Dialogue box layout: multi-row, multi-column. Field and button grouping. Entry fields with a predefined value list. Displayed ''vs'' returned values. Composite dialogue box. Heterogeneous dialogue box. Controlling box styles and colors. | ::''Chapter contents'': Dialogue box layout: multi-row, multi-column. Field and button grouping. Entry fields with a predefined value list. Displayed ''vs'' returned values. Composite dialogue box. Heterogeneous dialogue box. Controlling box styles and colors. | ||
::''Statements and functions'': <tt>[(B1,B2,B3)]</tt>, <tt>[select-from-where]</tt>, <tt>askCombo</tt>, <tt>style</tt>, <tt>color</tt>, <tt>entryLength</tt>. | ::''Statements and functions'': <tt>[(B1,B2,B3)]</tt>, <tt>[select-from-where]</tt>, <tt>askCombo</tt>, <tt>style</tt>, <tt>color</tt>, <tt>entryLength</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>15. Large data objects</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>15. Large data objects</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto15-Big-data.pdf [full text]] |
::''Chapter contents'': Reading and writing large text files. Reading and writing large binary files. Storing large objects in adatabase. | ::''Chapter contents'': Reading and writing large text files. Reading and writing large binary files. Storing large objects in adatabase. | ||
::''Statements and functions'': <tt>fileToVariable</tt>, <tt>variableToFile</tt>, <tt>variableToFile #n</tt>, <tt>insertLOB</tt>, <tt>onError</tt>. | ::''Statements and functions'': <tt>fileToVariable</tt>, <tt>variableToFile</tt>, <tt>variableToFile #n</tt>, <tt>insertLOB</tt>, <tt>onError</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>16. Writing data tables - Part 1</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>16. Writing data tables - Part 1</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto16-Writing-tables-1.pdf [full text]] |
::''Chapter contents'': Displaying the result of select query on the output channel. Changing the output format. CSV output format. Key-Value output format. CSV output format. CSV output format. Running an external program. | ::''Chapter contents'': Displaying the result of select query on the output channel. Changing the output format. CSV output format. Key-Value output format. CSV output format. CSV output format. Running an external program. | ||
::''Statements and functions'': <tt>parameter select-align</tt>, <tt>execSQL</tt>, <tt>execProg</tt>, <tt>outputOpen</tt>. | ::''Statements and functions'': <tt>parameter select-align</tt>, <tt>execSQL</tt>, <tt>execProg</tt>, <tt>outputOpen</tt>. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>17. Writing data tables - Part 2</b>, draft version, October 24, 2016.</font> [ | + | :*SQLfast Tutorial - <font color="blue"><b>17. Writing data tables - Part 2</b>, draft version, October 24, 2016.</font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto17-Writing-tables-2.pdf [full text]] |
::''Chapter contents'': XML output format. HTML output format. Tuple output format. RTF output format. SQL output format. LateX output format. JSON output format. | ::''Chapter contents'': XML output format. HTML output format. Tuple output format. RTF output format. SQL output format. LateX output format. JSON output format. | ||
− | :*SQLfast Tutorial - <b>18. Importing data (CVS)</b>, draft version, February 13, 2014. rewriting in progress. [ | + | :*SQLfast Tutorial - <b>18. Importing data (CVS)</b>, draft version, February 13, 2014. rewriting in progress. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto18-Importing-data-(CSV).pdf [full text]] |
− | :*SQLfast Tutorial - <b>19. Importing data (DBF)</b>, draft version, February 13, 2014. rewriting in progress. [ | + | :*SQLfast Tutorial - <b>19. Importing data (DBF)</b>, draft version, February 13, 2014. rewriting in progress. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto19-Importing-data-(DBF).pdf [full text]] |
:*SQLfast Tutorial - <b>20. Importing data (MS Access)</b>, February 13, 2014. writing in progress. | :*SQLfast Tutorial - <b>20. Importing data (MS Access)</b>, February 13, 2014. writing in progress. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>22. Extending SQLfast</b>, draft version, <i>June 6, 2016</i></font>. [ | + | :*SQLfast Tutorial - <font color="blue"><b>22. Extending SQLfast</b>, draft version, <i>June 6, 2016</i></font>. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto22-Extending-SQLfast.pdf [full text]] |
::''Chapter contents'': How to extend the functionalities of SQLfast. Service scripts. External applications. Function libraries. The LStr library. The LFile library. The LGeo library. External programs. Extending the SQLfast language. The SQLfast compiler-loader. Adding user-defined functions. | ::''Chapter contents'': How to extend the functionalities of SQLfast. Service scripts. External applications. Function libraries. The LStr library. The LFile library. The LGeo library. External programs. Extending the SQLfast language. The SQLfast compiler-loader. Adding user-defined functions. | ||
::''Statements and functions'': <tt>execSQL</tt>, <tt>execApp</tt>, <tt>function</tt>, <tt>execProg</tt>. | ::''Statements and functions'': <tt>execSQL</tt>, <tt>execApp</tt>, <tt>function</tt>, <tt>execProg</tt>. | ||
Ligne 203 : | Ligne 203 : | ||
::''Statements and functions'': <tt>check predicate</tt>, <tt>trigger</tt>, <tt>recursive trigger</tt>. | ::''Statements and functions'': <tt>check predicate</tt>, <tt>trigger</tt>, <tt>recursive trigger</tt>. | ||
− | :*SQLfast Tutorial - <b>24. Recursive programming</b>, draft version, August 19, 2014. [ | + | :*SQLfast Tutorial - <b>24. Recursive programming</b>, draft version, August 19, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto24-Recursive-programming.pdf [full text]] |
::''Chapter contents'': Factorial computing. Recursive tree processing. Tree traversal. Coping with cyclic data. SQL recursive queries. SQL recursive triggers. Loop-based recursion implementation. SQLfast recursive scripts. | ::''Chapter contents'': Factorial computing. Recursive tree processing. Tree traversal. Coping with cyclic data. SQL recursive queries. SQL recursive triggers. Loop-based recursion implementation. SQLfast recursive scripts. | ||
::''Statements and functions'': <tt>execSQL</tt>, <tt>SQL with</tt>, <tt>create trigger</tt>. | ::''Statements and functions'': <tt>execSQL</tt>, <tt>SQL with</tt>, <tt>create trigger</tt>. | ||
− | :*SQLfast Tutorial - <b>25. Metadata - Walking on the wild side</b>, draft version, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>25. Metadata - Walking on the wild side</b>, draft version, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto25-MetaData.pdf [full text]] |
::''Chapter contents'': Database schema documentation. System catalog tables. SQLfast dictionaries. System tables SYS_TABLE, SYS_COLUMN, SYS_KEY, SYS_KEY_COMP. Modifying a schema. Building a dictionary. Dictionary-driven scripts. | ::''Chapter contents'': Database schema documentation. System catalog tables. SQLfast dictionaries. System tables SYS_TABLE, SYS_COLUMN, SYS_KEY, SYS_KEY_COMP. Modifying a schema. Building a dictionary. Dictionary-driven scripts. | ||
::''Statements and functions'': <tt>dictionary</tt>, <tt>createDictionary</tt>, <tt>deleteDictionary</tt>, <tt>SQL group_concat()</tt>. | ::''Statements and functions'': <tt>dictionary</tt>, <tt>createDictionary</tt>, <tt>deleteDictionary</tt>, <tt>SQL group_concat()</tt>. | ||
Ligne 227 : | Ligne 227 : | ||
</nowiki> | </nowiki> | ||
− | :*SQLfast Tutorial - <font color="blue"><b>31. From data bulk loading to database book writing</b>, draft version, <i>January 10, 2016.</i></font>[ | + | :*SQLfast Tutorial - <font color="blue"><b>31. From data bulk loading to database book writing</b>, draft version, <i>January 10, 2016.</i></font>[https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto31-Topo-sort.pdf [full text]] |
::''Chapter contents'': Topological sorting. The database loading problem. Dealing with non acyclic graphs. Finding the independent circuits of a graph. Graph contraction and condensation. Ordering topics for a database book. | ::''Chapter contents'': Topological sorting. The database loading problem. Dealing with non acyclic graphs. Finding the independent circuits of a graph. Graph contraction and condensation. Ordering topics for a database book. | ||
− | :*SQLfast Tutorial - <b>32. Conway's Game of Life</b>, draft version, June 2, 2014. [ | + | :*SQLfast Tutorial - <b>32. Conway's Game of Life</b>, draft version, June 2, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto32-Life-Game.pdf [full text]] |
::''Chapter contents'': Cellular automata. World and automaton representation. Computing next generation. Graphical display of automaton evolution. Script and database optimization. | ::''Chapter contents'': Cellular automata. World and automaton representation. Computing next generation. Graphical display of automaton evolution. Script and database optimization. | ||
− | :*SQLfast Tutorial - <b>33. Interactive SQLfast interpreters</b>, draft version, June 2, 2014. [ | + | :*SQLfast Tutorial - <b>33. Interactive SQLfast interpreters</b>, draft version, June 2, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto33-Interactive-SQLfast.pdf [full text]] |
::''Chapter contents'': SQL query execution. Interactive interpreter. Complex graphical user interface. | ::''Chapter contents'': SQL query execution. Interactive interpreter. Complex graphical user interface. | ||
::''Statements and functions'': <tt>askCombo</tt>. | ::''Statements and functions'': <tt>askCombo</tt>. | ||
Ligne 239 : | Ligne 239 : | ||
:*SQLfast Tutorial - <b>34. Geographic information systems</b>, writing in progress. | :*SQLfast Tutorial - <b>34. Geographic information systems</b>, writing in progress. | ||
− | :*SQLfast Tutorial - <b>35. Kings of France - Part 1</b>, draft version, October 1, 2014. [ | + | :*SQLfast Tutorial - <b>35. Kings of France - Part 1</b>, draft version, October 1, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto35-Kings-of-France.pdf [full text]] |
::''Chapter contents'': Representation of Kings of France genealogy. Tree processing. Simple queries. | ::''Chapter contents'': Representation of Kings of France genealogy. Tree processing. Simple queries. | ||
− | :*SQLfast Tutorial - <b>36. Kings of France - Part 2</b>, draft version, October 1, 2014. [ | + | :*SQLfast Tutorial - <b>36. Kings of France - Part 2</b>, draft version, October 1, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto36-Kings-of-France(2).pdf [full text]] |
::''Chapter contents'': Tree processing. Recursive queries. Recursive scripts. Computing transitive closure. Computing transitive reduction. Computing the projection of a tree. Graphical representation of trees. | ::''Chapter contents'': Tree processing. Recursive queries. Recursive scripts. Computing transitive closure. Computing transitive reduction. Computing the projection of a tree. Graphical representation of trees. | ||
::''Statements and functions'': <tt>SQL with</tt>, <tt>SQLdraw</tt>. | ::''Statements and functions'': <tt>SQL with</tt>, <tt>SQLdraw</tt>. | ||
Ligne 252 : | Ligne 252 : | ||
::''Statements and functions'': <tt>trigger</tt>. | ::''Statements and functions'': <tt>trigger</tt>. | ||
− | :*SQLfast Tutorial - <b>39. Schema-less databases (1)</b>, draft version, April 6, 2014. [ | + | :*SQLfast Tutorial - <b>39. Schema-less databases (1)</b>, draft version, April 6, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto39-Schemaless-DB(1).pdf [full text]] |
::''Chapter contents'': Non-relational database models. The Universal table models. The column-oriented models. Relational equivalence of non-relational models. | ::''Chapter contents'': Non-relational database models. The Universal table models. The column-oriented models. Relational equivalence of non-relational models. | ||
− | :*SQLfast Tutorial - <b>40. Schema-less databases (2)</b>, draft version, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>40. Schema-less databases (2)</b>, draft version, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto40-Schemaless-DB(2).pdf [full text]] |
::''Chapter contents'': The Key-Value models. Relational/Key-value models equivalence. | ::''Chapter contents'': The Key-Value models. Relational/Key-value models equivalence. | ||
− | :*SQLfast Tutorial - <b>41. Schema-less databases (3)</b>, draft version, April 6, 2014. [ | + | :*SQLfast Tutorial - <b>41. Schema-less databases (3)</b>, draft version, April 6, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto41-Schemaless-DB(3).pdf [full text]] |
::''Chapter contents'': The object-based models. The document-oriented models. Representation of multivalued, composite attributes. XML and Json object representation. Relational equivalence of non-relational models. Indexing objects. Database model comparison. | ::''Chapter contents'': The object-based models. The document-oriented models. Representation of multivalued, composite attributes. XML and Json object representation. Relational equivalence of non-relational models. Indexing objects. Database model comparison. | ||
::''Statements and functions'': <tt>group_concat</tt>. | ::''Statements and functions'': <tt>group_concat</tt>. | ||
− | :*SQLfast Tutorial - <b>42. SQL code injection</b>, draft version, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>42. SQL code injection</b>, draft version, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto42-SQL-injection.pdf [full text]] |
::''Chapter contents'': Principles of SQL code injection. Metadata stealing. System intrusion. Unsecure GUI. Unsecure SQL statement processing. SQL injection countermeasures. | ::''Chapter contents'': Principles of SQL code injection. Metadata stealing. System intrusion. Unsecure GUI. Unsecure SQL statement processing. SQL injection countermeasures. | ||
Ligne 269 : | Ligne 269 : | ||
::''Statements and functions'': <tt>SQL with</tt>, <tt>create trigger</tt>. | ::''Statements and functions'': <tt>SQL with</tt>, <tt>create trigger</tt>. | ||
− | :*SQLfast Tutorial - <b>44. The book of which you are the hero</b>, draft version, June 2, 2014. [ | + | :*SQLfast Tutorial - <b>44. The book of which you are the hero</b>, draft version, June 2, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto44-Game-Books.pdf [full text]] |
::''Chapter contents'': General graph processing. Recursive queries. Graph analysis. Path generation. Circuit detection and counting. User-driven graph traversal. Text-based adventure game representation. Graphical game engine. Automatic novel generation. | ::''Chapter contents'': General graph processing. Recursive queries. Graph analysis. Path generation. Circuit detection and counting. User-driven graph traversal. Text-based adventure game representation. Graphical game engine. Automatic novel generation. | ||
::''Statements and functions'': <tt>SQL with</tt>, <tt>askCombo</tt>. | ::''Statements and functions'': <tt>SQL with</tt>, <tt>askCombo</tt>. | ||
Ligne 276 : | Ligne 276 : | ||
::''Chapter contents'': Interactive application. Task analysis. Application architecture. Data management functions. File management functions. Data integrity. Graphical user interface. | ::''Chapter contents'': Interactive application. Task analysis. Application architecture. Data management functions. File management functions. Data integrity. Graphical user interface. | ||
− | :*SQLfast Tutorial - <b>46. Test Database Generation</b>, draft version, December 4, 2014. [ | + | :*SQLfast Tutorial - <b>46. Test Database Generation</b>, draft version, December 4, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto46-Test-databases.pdf [full text]] |
::''Chapter contents'': Database performance evaluation. Generating high volume of synthetic data. Integrating heterogeneous data sources. Data cleaning. Data anonymization. Random data extraction. Executing very large scripts. Query performance. | ::''Chapter contents'': Database performance evaluation. Generating high volume of synthetic data. Integrating heterogeneous data sources. Data cleaning. Data anonymization. Random data extraction. Executing very large scripts. Query performance. | ||
::''Statements and functions'': <tt>random()</tt>, <tt>cross join</tt>, <tt>fastExec</tt>. | ::''Statements and functions'': <tt>random()</tt>, <tt>cross join</tt>, <tt>fastExec</tt>. | ||
Ligne 294 : | Ligne 294 : | ||
:*SQLfast Tutorial - <b>51. <i>title pending</i> (Formal Concept Analysis)</b>, writing in progress. | :*SQLfast Tutorial - <b>51. <i>title pending</i> (Formal Concept Analysis)</b>, writing in progress. | ||
− | :*SQLfast Tutorial - <font color="blue"><b>52. Path finders, rovers and Ariadne's thread</b>, draft version. December 5, 2016. [ | + | :*SQLfast Tutorial - <font color="blue"><b>52. Path finders, rovers and Ariadne's thread</b>, draft version. December 5, 2016. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto52-Shortest-path.pdf [full text]]</font>. |
::''Chapter contents'': Computing the shortest path between cities, Dijkstra's algorithm, controlling a rover, solving mazes. | ::''Chapter contents'': Computing the shortest path between cities, Dijkstra's algorithm, controlling a rover, solving mazes. | ||
Ligne 311 : | Ligne 311 : | ||
</nowiki> | </nowiki> | ||
− | :*SQLfast Tutorial - <font color="blue"><b>Appendix 1. A basket of examples</b>, draft version, writing in progress. April 18, 2016. [ | + | :*SQLfast Tutorial - <font color="blue"><b>Appendix 1. A basket of examples</b>, draft version, writing in progress. April 18, 2016. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA1-Basket-of-examples.pdf [full text]]</font> |
::''Chapter contents'': Comparing the contents of two tables. Displaying the contents of two tables in a single table. Dumping a database in XML format. Data-driven multiple aggregations. Data mining. Paged reading of data. Managing a file of parameters. Image selection tool. Simulating arrays in SQLfast. Smart writing of data table. Checking functional dependencies in a table. Managing a photo album. A picture viewer. Collecting web statistics. Computing missing data in incomplete statistical series. The Travelling Salesman problem. ''and more ...'' | ::''Chapter contents'': Comparing the contents of two tables. Displaying the contents of two tables in a single table. Dumping a database in XML format. Data-driven multiple aggregations. Data mining. Paged reading of data. Managing a file of parameters. Image selection tool. Simulating arrays in SQLfast. Smart writing of data table. Checking functional dependencies in a table. Managing a photo album. A picture viewer. Collecting web statistics. Computing missing data in incomplete statistical series. The Travelling Salesman problem. ''and more ...'' | ||
− | :*SQLfast Tutorial - <b>Appendix 2. SQLfast installation</b>, draft version, obsolete. February 13, 2014. [ | + | :*SQLfast Tutorial - <b>Appendix 2. SQLfast installation</b>, draft version, obsolete. February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA2-SQLfast-installation.pdf [full text]] |
− | :*SQLfast Tutorial - <b>Appendix 3. SQLfast summary</b>, draft version, October 1, 2014. [ | + | :*SQLfast Tutorial - <b>Appendix 3. SQLfast summary</b>, draft version, October 1, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA3-Summary.pdf [full text]] |
− | :*SQLfast Tutorial - <b>Appendix 4. SQL in a nutshell</b>, draft version, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>Appendix 4. SQL in a nutshell</b>, draft version, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA4-SQL.pdf [full text]] |
− | :*SQLfast Tutorial - <b>Appendix 8. SQLite transactions</b>, draft version, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>Appendix 8. SQLite transactions</b>, draft version, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA8-SQLite-Transactions.pdf [full text]] |
− | :*SQLfast Tutorial - <b>Appendix 9. SQLfast internals</b>, obsolete, February 13, 2014. [ | + | :*SQLfast Tutorial - <b>Appendix 9. SQLfast internals</b>, obsolete, February 13, 2014. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-TutoA9-SQLfast-implementation.pdf [full text]] |
===DB-MAIN=== | ===DB-MAIN=== |
<Retour à la page d'accueil / Back>
Sommaire |