Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 28 : | Ligne 28 : | ||
*'''Type''': High-level database programming interface and software environment for casual and non expert users | *'''Type''': High-level database programming interface and software environment for casual and non expert users | ||
+ | <!-- --> | ||
*'''Description of the SQLfast language''' | *'''Description of the SQLfast language''' | ||
+ | <!-- --> | ||
:SQLfast is a language allowing easy database processing and manipulation. The core of the SQLfast language is <b>SQL</b>, the universal language for database definition and manipulation. Any sequence of SQL statements is a valid SQLfast script, whatever its length. SQLfast also comprises statements that provide for interaction with script users, text generation, file manipulation, decision and iteration. | :SQLfast is a language allowing easy database processing and manipulation. The core of the SQLfast language is <b>SQL</b>, the universal language for database definition and manipulation. Any sequence of SQL statements is a valid SQLfast script, whatever its length. SQLfast also comprises statements that provide for interaction with script users, text generation, file manipulation, decision and iteration. | ||
+ | <!-- --> | ||
: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. | ||
+ | <!-- --> | ||
:[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/SQLfast/Code_Comparison_EN.pdf This document (in English)] and [http://www.info.fundp.ac.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. | :[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/SQLfast/Code_Comparison_EN.pdf This document (in English)] and [http://www.info.fundp.ac.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. | ||
+ | <!-- --> | ||
*'''Description of the SQLfast software environment''' | *'''Description of the SQLfast software environment''' | ||
− | :The <b>SQLfast environment</b> | + | <!-- --> |
+ | :The <b>SQLfast environment</b> does not require any installation. Once the SQLfast archive has been downloaded, the SQLfast folder is extracted and copied anywhere, from the desktop to a USB flash memory. SQLfast is selfcontained. There is no need to install a database manager nor GUI libraries, to compile modules to adapt them to the user equipment, to create accounts and to define access rights. | ||
+ | <!-- --> | ||
:Due to its simplicity, its ease of use and its power, SQLfast is intended to audiences that have little time and/or knowledge to develop professional programs. In particular, it can be used by: | :Due to its simplicity, its ease of use and its power, SQLfast is intended to audiences that have little time and/or knowledge to develop professional programs. In particular, it can be used by: | ||
+ | <!-- --> | ||
:*<b>non-expert users</b>: SQLfast provides an easy way to write small data processing tools customized to their exact needs, without resorting to complex programming or using powerful but complex softwares. | :*<b>non-expert users</b>: SQLfast provides an easy way to write small data processing tools customized to their exact needs, without resorting to complex programming or using powerful but complex softwares. | ||
− | :*<b>non-expert</b> but <b>motivated users</b>: SQLfast is quite appropriate for the development of small and simple single-user applications for, e.g., library management, statistical analysis, simple data mining, geographic information systems, photo album, text analysis, graphical display of data, and so on. | + | <!-- --> |
+ | :*<b>non-expert</b> but <b>motivated users</b>: SQLfast is quite appropriate for the development of small and simple single-user applications for, e.g., library management, statistical analysis, simple data mining, data extraction and transformation (ETL), geographic information systems, photo album, text analysis, still and animated graphical display of data, and so on. | ||
+ | <!-- --> | ||
:*<b>expert users</b>: SQLfast is a fine environment for fast database application prototyping. | :*<b>expert users</b>: SQLfast is a fine environment for fast database application prototyping. | ||
− | :*<b>students</b>: the SQLfast language basically is SQL but it is also an ideal support to practical work in database introductory and advanced courses. It allows students to play with SQL in a secure environment and also to develop in a few lines powerful scripts without the burden of learning and using standard programming languages. | + | <!-- --> |
+ | :*<b>students</b>: the SQLfast language basically is SQL but it is also an ideal support to practical work in database introductory and advanced courses. It allows students to play with SQL in a secure environment and also to develop in a few lines powerful scripts without the burden of learning and using standard programming languages. In addition, the graphical interface provides a user friendly way to approach database concepts '''without even using SQL''': databases can be built, examined and their contents can be viewed, queried, modified through direct manipulation. | ||
+ | <!-- --> | ||
+ | :*<b>teachers</b>: SQLfast includes a powerful tutorial engine that allows instructors to develop and use didactic material. An SQLfast tutorial is a hypertext comprising formatted text, images, SQL and SQLfast code (that can be executed from within the tutorial), internal and external links. The standard distribution already includes several dozens of tutorials in three domains: ''SQLfast user manuals'', ''SQL learning'' and ''SQLfast learning''. New tutorials can be written and integrated in minutes through the '''SQLtuto''' language. | ||
+ | <!-- --> | ||
:SQLfast runs on Windows, OS X and Linux machines (only the Windows version is available at present time). Its default database manager is SQLite 3 but versions for MySQL and MS Access are being developed. | :SQLfast runs on Windows, OS X and Linux machines (only the Windows version is available at present time). Its default database manager is SQLite 3 but versions for MySQL and MS Access are being developed. | ||
− | :Finally, an important feature of the SQLfast environment is its <b> | + | <!-- --> |
+ | :Finally, an important feature of the SQLfast environment is its <b>extendability</b>: new functions, new resources and even new statements can be developed quite (or, at least, fairly) 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. It is developed in Python 2.7 and the basic version relies on the SQLite 3 DBMS. Its main design objectives are to hide the complexity of database programming (connections, cursors, transactions, metadata management, etc.) and of graphical interactions, to provide very high level functions and to provide a secure user-friendly execution environment. The SQLfast language and environment comprise the following components: | *'''Technical detail''': An SQLfast script (or program) is not limited in size: it can include just one statement but also several millions of statements. It is developed in Python 2.7 and the basic version relies on the SQLite 3 DBMS. Its main design objectives are to hide the complexity of database programming (connections, cursors, transactions, metadata management, etc.) and of graphical interactions, 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 | ||
+ | <!-- --> | ||
:*variables in which data coming from a database, external files, computations ou GUI 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 ou GUI 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, calling scripts, libraries, external applications, stop, pause) | :*control structures (if-then-else, for-endfor, while-endwhile, calling scripts, libraries, external applications, stop, pause) | ||
+ | <!-- --> | ||
:*reading/writing in external files | :*reading/writing in external files | ||
+ | <!-- --> | ||
:*large object management (text, video, sound, BLOB, geographic objects, charts, drawings) | :*large object management (text, video, sound, BLOB, geographic objects, charts, drawings) | ||
+ | <!-- --> | ||
:*generation of complex formats (csv, xml, html, rtf, LateX, JSON, Key-value, SQL, tuples, etc.) These formats are defined by generic parameters. | :*generation of complex formats (csv, xml, html, rtf, LateX, JSON, Key-value, SQL, tuples, etc.) These formats are defined by generic parameters. | ||
+ | <!-- --> | ||
:*import processors for standard formats (e.g., dbf, csv, Access, ESRI shapefiles) | :*import processors for standard formats (e.g., dbf, csv, Access, ESRI shapefiles) | ||
+ | <!-- --> | ||
:*a rich extensible GUI: | :*a rich extensible GUI: | ||
+ | <!-- --> | ||
::*elementary boxes: messages, data entry forms, radio buttons, check buttons, text, images, drawing, charts, etc. | ::*elementary boxes: messages, data entry forms, radio buttons, check buttons, text, images, drawing, charts, etc. | ||
::*composite dialogue boxes: made of an arbitrary number of elementary boxes | ::*composite dialogue boxes: made of an arbitrary number of elementary boxes | ||
::*extensible through Python external libraries | ::*extensible through Python external libraries | ||
+ | <!-- --> | ||
:*an integrated graphical engine to render SQLdraw scripts to produce still and animated drawing (charts, drawing, maps, animated simulation, etc.). SQLdraw scripts can be generated or manually produced through graphical SQLdraw Editor. | :*an integrated graphical engine to render SQLdraw scripts to produce still and animated drawing (charts, drawing, maps, animated simulation, etc.). SQLdraw scripts can be generated or manually produced through graphical SQLdraw Editor. | ||
+ | <!-- --> | ||
:*extensibility mechanisms: | :*extensibility mechanisms: | ||
::*technical subscripts (e.g., parameters setting), | ::*technical subscripts (e.g., parameters setting), | ||
Ligne 63 : | Ligne 89 : | ||
::*language extension (through script precompiling) | ::*language extension (through script precompiling) | ||
::*external programs (web browsers, image processors, media processors, Office suite, etc.) | ::*external programs (web browsers, image processors, media processors, Office suite, etc.) | ||
+ | <!-- --> | ||
:*a builtin schema database (data dictionary) | :*a builtin schema database (data dictionary) | ||
+ | <!-- --> | ||
:*reflexivity: an SQLfast script can generate, examine, modify and execute SQLfast scripts, including itself. | :*reflexivity: an SQLfast script can generate, examine, modify and execute SQLfast scripts, including itself. | ||
+ | <!-- --> | ||
:*development and debugging tools | :*development and debugging tools | ||
Ligne 74 : | Ligne 103 : | ||
*'''References and resources''': | *'''References and resources''': | ||
+ | <!-- --> | ||
**SQLfast environment for Windows. Ask the beta version for testing. | **SQLfast environment for Windows. Ask the beta version for testing. | ||
**Python 2.7.9 Win32, Win64, Mac OS, Linux. Note that Mac OS systems natively include the Python environment. [http://www.python.org/download/ [download page]] | **Python 2.7.9 Win32, Win64, Mac OS, Linux. Note that Mac OS systems natively include the Python environment. [http://www.python.org/download/ [download page]] |
<Retour à la page d'accueil / Back>
Sommaire |