Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 51 : | Ligne 51 : | ||
:Finally, an important feature of the SQLfast environment is its <b>extendability</b>: new functions and new resources can be developed and integrated quite easily. | :Finally, an important feature of the SQLfast environment is its <b>extendability</b>: new functions and new resources can be developed and integrated quite easily. | ||
− | *'''Technical detail''': An SQLfast script (or program) is not limited in size: it can include just one statement but also several millions of statements. The environment is developed in Python 2.7, Tkinter and an integrated RDBMS | + | *'''Technical detail''': An SQLfast script (or program) is not limited in size: it can include just one statement but also several millions of statements. The environment is developed in Python 2.7, Tkinter and an integrated RDBMS (SQLite 3 in the standard distribution). Its main design objectives are to hide the complexity of database programming (connections, cursors, transactions, metadata management, etc.), of graphical interactions and of data exchange with external sources (e.g., files, web data and email) to provide very high level functions and to provide a secure user-friendly execution environment. The SQLfast language and environment comprise the following components: |
<!-- --> | <!-- --> | ||
:*the full SQL language | :*the full SQL language | ||
Ligne 57 : | Ligne 57 : | ||
:*variables in which data coming from a database, external files, computations, GUI or web sites can be stored. Variables are typeless and have no size limit. A variable can contain data of any kind but also script fragments. The SQLfast ''macro processor'' can (recursively) replace variable references by their values. | :*variables in which data coming from a database, external files, computations, GUI or web sites can be stored. Variables are typeless and have no size limit. A variable can contain data of any kind but also script fragments. The SQLfast ''macro processor'' can (recursively) replace variable references by their values. | ||
<!-- --> | <!-- --> | ||
− | :*control structures (if-then-else, for-endfor, while-endwhile, | + | :*control structures (if-then-else, for-endfor, while-endwhile, procedure call, error management, libraries, external applications, stop, pause) |
<!-- --> | <!-- --> | ||
− | :*reading/writing in external files, encoding/decoding into secure formats (hexadecimal, base64) | + | :*reading/writing in external files, encoding/decoding into secure formats (hexadecimal, base64), secure hashing, encryption |
<!-- --> | <!-- --> | ||
:*large object management (text, video, sound, BLOB, geographic objects, charts, drawings) | :*large object management (text, video, sound, BLOB, geographic objects, charts, drawings) | ||
Ligne 83 : | Ligne 83 : | ||
::*external programs (web browsers, image processors, media processors, Office suite, etc.) | ::*external programs (web browsers, image processors, media processors, Office suite, etc.) | ||
<!-- --> | <!-- --> | ||
− | :*a | + | :*a built-in schema database (data dictionary) |
<!-- --> | <!-- --> | ||
:*a tutorial engine, that can be called from the graphical interface or from within any script | :*a tutorial engine, that can be called from the graphical interface or from within any script | ||
Ligne 91 : | Ligne 91 : | ||
:*development and debugging tools | :*development and debugging tools | ||
− | *'''Requirements''': Windows XP, 7, 8 and 10. All the resources needed by the basic version (built on SQLite 3) are included in the distribution | + | *'''Requirements''': Windows XP, 7, 8 and 10. All the resources needed by the basic version (built on SQLite 3) are included in the distribution. |
*'''Date''': 2012- | *'''Date''': 2012- | ||
− | *'''Status''': ongoing | + | *'''Status''': ongoing. Version 2 available since June 2017. |
*'''Availability''': From the [[DUNOD2015_SQLfast|SQLfast web page]]. | *'''Availability''': From the [[DUNOD2015_SQLfast|SQLfast web page]]. | ||
Ligne 100 : | Ligne 100 : | ||
<!-- --> | <!-- --> | ||
**SQLfast environment for Windows. [[DUNOD2015_SQLfast|Get it from the SQLfast web page]]. | **SQLfast environment for Windows. [[DUNOD2015_SQLfast|Get it from the SQLfast web page]]. | ||
− | **Python 2.7. | + | **Python 2.7. Not required to execute SQLfast. Must be used 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. --> | ||
− | ** | + | **<font color="blue"><b>Dictionary of SQLfast commands and parameters</b>, 62 pages, PReCISE Research Center publication, draft version, April 7, 2017. [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. | + | **Jean-Luc Hainaut. <u>SQLfast: Database processing made easy - Tutorial and Case studies</u>, Volumes 1 and 2, 900 pages, PReCISE Research Center publication, draft version. The first volume is available as a single document while Volume 2 is available as a series of independent case studies. These chapters are continuously updated, so that it is recommended to check them regularly to get their last versions. |
+ | :Both volumes are described here below. | ||
+ | <!-- | ||
*'''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). | ||
+ | --> | ||
<br> | <br> | ||
<!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> | <!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> |
<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