Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 116 : | Ligne 116 : | ||
:*<b>Chapter 1. Introduction</b> | :*<b>Chapter 1. Introduction</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': What is SQLfast?. The target audiences of SQLfast. Installing and starting SQLfast . The levels of the SQLfast interface. Starting SQLfast with the Basic interface. Selecting another level. Starting SQLfast with the Expert interface (Level 1). The example databases: ORDERS.db and CLICOM.db. SQLfast resources and documentation. |
:*<b>Chapter 2. Basic scripts</b> | :*<b>Chapter 2. Basic scripts</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Preparing the work. Writing and running an SQLfast script. Saving the current script. Loading and modifying a script. Other ways to execute a script. Representing scripts and results in this tutorial. How to write SQLfast statements?. Questions on this first script?. A second script. just as simple. Using variables - First encounter. Variable’s way of life. Interactive SQLfast scripts. To quote or not to quote. SQLfast sessions. Summary. |
:*<b>Chapter 3. Creating a database</b> | :*<b>Chapter 3. Creating a database</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': How to create a new database. How (not) to loose data. Creating and loading the ORDERS database. Calling secondary scripts (first look). The schema of the ORDERS.db database. A new skill: writing blank lines. Temporary tables. In memory databases. Upper case or lower case?. Summary. |
:*<b>Chapter 4. Updating data</b> | :*<b>Chapter 4. Updating data</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Extending user-driven data selection. Data modification statements: a short reminder. Inserting rows into a table. About single quotes in SQL values. Updating rows of a table. Variables in statement customization. Variables in full statement specification. Improving data entry box layout. Dialogue box for updating values. Summary. |
:*<b>Chapter 5. SQL in a nutshell</b> | :*<b>Chapter 5. SQL in a nutshell</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Introduction. Creating and modifying the schema of a database. Single table extraction queries. Subqueries. SQL functions. Aggregate (statistical) functions. Joining tables. Set operators. Data grouping. Generalization of the select and from clauses. Data modification. SQL views. Stored procedures and triggers. About SQLite. |
:*<b>Chapter 6. More on variables</b> | :*<b>Chapter 6. More on variables</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Time variables and statements. Measuring elapsed time. Oh! Wait a minute!. Variable delimiters - Reminder. We can change the delimiters. Sometimes variable substitution must be disabled. Beware substitution ambiguity. Numeric computation. Character string computation. Set or compute?. Multi-variables assignment. Simulating an array. Variables and SQLfast procedures. What is a variable value after all?. Summary. |
:*<b>Chapter 7. Taking decisions</b> | :*<b>Chapter 7. Taking decisions</b> | ||
− | ::''Chapter contents'': Alternative | + | ::''Chapter contents'': Alternative execution of a script. Skipping statements. If-else-endif block structure. Better controlling user values. Conditions. If. goto. labels and variables. Complement: more on goto and label statements. Summary. |
:*<b>Chapter 8. Reading data</b> | :*<b>Chapter 8. Reading data</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Can we process individual rows?. Forcing a query to return one row only. Can we force a query to returns two rows?. Queries that return no row. Looping in the database. Embedded loops. A more elegant script. SQLfast arrays revisited. Empty sets, null values and statistics. Summary. |
:*<b>Chapter 9. Looping - The final chapter</b> | :*<b>Chapter 9. Looping - The final chapter</b> | ||
− | ::''Chapter contents'': SQL | + | ::''Chapter contents'': Introduction. SQL for loop. Range for loop. File for loop. While loop. Forced loop iteration. Forced loop exit. While (True) loop. Correct loop structure. Variables in loops and if statements. How does a loop work, actually?. Summary. |
:*<b>Chapter 10. SQLfast expressions</b> | :*<b>Chapter 10. SQLfast expressions</b> | ||
− | ::''Chapter contents'': Syntax of SQLfast expressions. Numeric | + | ::''Chapter contents'': Introduction. Value of a variable. Binary values. Syntax of SQLfast expressions. Numeric functions. Character string functions. Logical functions. Temporal functions. File/web functions. General functions. User defined functions (UDF). Functions from external libraries. Summary. |
− | :*<b>Chapter 11. Output channels</b> | + | :*<b>Chapter 11. Output channels, files and directories</b> |
− | ::''Chapter contents'': | + | ::''Chapter contents'': The SQLfast output window: the default output channel. The (SQLfast) output window. User output files. The standard output file. Output variables. Closing an output channel. Setting the default output channel and output mode. Clearing the output window. Example: playing with output channels. Managing files and directories. Summary. |
:*<b>Chapter 12. Dialogues</b> | :*<b>Chapter 12. Dialogues</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': The SQLfast GUI. Standard data entry box. Controlling user action. Update a data set. Text entry box. Selecting one item among several. Selecting items among several. Summary. |
:*<b>Chapter 13. Displaying data</b> | :*<b>Chapter 13. Displaying data</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Information message box. Displaying a list of values on the screen. Displaying a text. Displaying a picture. Displaying drawings. Won't you please, please help me. Summary. |
:*<b>Chapter 14. Advanced dialogues</b> | :*<b>Chapter 14. Advanced dialogues</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Multicolumn data entry and selection. Logical field grouping. Logical button grouping. No label please!. Application: building a 2D menu. Data entry through selection in a predefined value list. Predefined values from the database. Displayed vs returned values. Customizing standard buttons. Composite dialogue boxes. Heterogeneous composite boxes. Of styles and colors. Example of complex composite box. Summary. |
:*<b>Chapter 15. Large data objects</b> | :*<b>Chapter 15. Large data objects</b> | ||
− | ::''Chapter contents'': Reading and writing large text files. Reading and writing large binary files. Storing large objects in | + | ::''Chapter contents'': Beyond elementary data items. Displaying large character strings. Reading and writing (large) text files. Reading and writing large binary files. Storing large objects in a database. About binary values. Binary data encoding/decoding. A touch of cryptography. Where to store large objects. Loading large volumes of data. Summary. |
:*<b>Chapter 16. Writing data tables - Part 1</b> | :*<b>Chapter 16. Writing data tables - Part 1</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': An in-depth look at output tables. Changing the layout of an output table. CSV output format. Key-Value output format. List output format. Summary. |
:*<b>Chapter 17. Writing data tables - Part 2</b> | :*<b>Chapter 17. Writing data tables - Part 2</b> | ||
Ligne 167 : | Ligne 167 : | ||
:*<b>Chapter 18. Importing and exporting data</b> | :*<b>Chapter 18. Importing and exporting data</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': External data import. CSV data import/export. dBase data import. SQL-DML data import/export. JSON data export/import. Summary. |
:*<b>Chapter 19. Recursive programming</b> | :*<b>Chapter 19. Recursive programming</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Introduction. SQL recursive queries. SQL recursive queries: the Staff application. Recursive queries against cyclic data. Can recursive queries compute everything?. Tree traversal ordering. SQL recursive triggers. Loop-based SQLfast implementation of recursive procedures. SQLfast recursive scripts. Comparison and conclusions. |
:*<b>Chapter 20. Metadata - Walking on the wild side</b> | :*<b>Chapter 20. Metadata - Walking on the wild side</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Introduction. The SQLfast dictionary tables. Dictionary or no dictionary?. Examining the schema of an unknown database. From metadata to data. Complement: SQL group_concat function. Summary. |
:*<b>Chapter 21. SQLdraw</b>, writing in progress. | :*<b>Chapter 21. SQLdraw</b>, writing in progress. | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Vector graphics in SQLfast. The SQLdraw scripting language. Displaying an SQLdraw script,. The SQLdraw editor. SQLdraw project. Drawings. Drawing charts. Digitizing maps. The SQLdraw viewer. Animation and cartoon. Summary. |
:*<b>Chapter 22. Extending SQLfast</b> | :*<b>Chapter 22. Extending SQLfast</b> | ||
− | ::''Chapter contents'': | + | ::''Chapter contents'': Introduction. SQLfast utilities. Python external applications and libraries. User-defined functions (UDF). SQLfast language extension. Foreign applications. Developing custom-made external applications and libraries. Developing custom-made UDF for SQLfast and SQL. SQL queries in UDF. Complements: standard external SQLfast function libraries. |
:*<b>Chapter 23. Aid to SQLfast development</b>, writing in progress. | :*<b>Chapter 23. Aid to SQLfast development</b>, writing in progress. | ||
:*<b>Appendix. A basket of examples</b>, writing in progress. | :*<b>Appendix. A basket of examples</b>, writing in progress. | ||
− | ::''Appendix contents'': Comparing the contents of two tables. Displaying the contents of two | + | ::''Appendix contents'': Introduction. Consulting customers. Interactive data loading. Comparing the contents of two tables. Displaying the contents of two table in a single table. Dumping a database in XML format (version 1). Dumping a database in XML format (version 2). Data-driven multiple aggregations (table pivoting). Data mining. Condorcet voting paradox. Paged reading of data. Raising temperature. Managing a file of parameters. Dynamic branching. Simulating arrays in SQLfast. Smart writing of data table. Checking functional dependencies in a table. Image selection tool. Managing a photo album. A picture viewer. Collecting web statistics. Computing missing data in incomplete statistical series. The Travelling Salesman problem. Ordering. ''and more ...'' |
:*<b>Index</b> | :*<b>Index</b> |
<Retour à la page d'accueil / Back>
Sommaire |
SQLfast Tutorial - Part 1: INTRODUCTION TO DATABASE PROGRAMMING
SQLfast Tutorial - Part 2: PROBLEM SOLVING WITH DATABASES - CASE STUDIES
Case studies in preparation