Dbm (discuter | contributions) m (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 7 : | Ligne 7 : | ||
===SQLfast=== | ===SQLfast=== | ||
− | *'''Type''': High-level programming interface to | + | *'''Type''': High-level database programming interface for non-experts |
+ | *'''Description''' | ||
+ | :SQLfast is a language and an environment 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>non-professionals</b>. It does not compete with standard programming languages, such as C, Java or C# with 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 of the problem logic. A simple and intuitive <b>2-line SQLfast script</b> can replace a <b>full page Java/JDBC program</b> that must be written by a programmer (Tutorial, Chapter 1, Section 1.5). | ||
+ | :Despite its simplicity, the SQLfast language includes powerful features such as the full SQL language, script variables, GUI, comprehensive control structures (procedures, recursive calls, if-else, for-endfor, while-endwhile, exit, next, continue, stop, pause, goto etc.), a powerful text generator coupled with the select-from-where query, dynamic statement and script execution, external program interface, transactions, automatic metadata management, automatic database analysis, debugging, etc. | ||
+ | :The <b>SQLfast environment</b> is particularly <b>easy to install</b>. Once the standard Python environment is available, installing the SQLfast system just requires the copying a folder on the disk. 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 will 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. | ||
+ | :*by <b>non expert</b> but <b>motivated users</b>: SQLfast is quite appropriate for the developments of small and simple 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. | ||
+ | :*by <b>expert users</b>: SQLfast is a fine environment for fast database application prototyping. | ||
+ | :*by <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. | ||
+ | :Finally, an important feature of the SQLfast environment is its <b>extensibility</b>: new functions, new resources and even new statements can be developed quite (or, at least, fairly) easily. | ||
+ | |||
*'''Description''': SQLfast is both a scripting language based on SQL and an execution environment of SQLfast scripts devoted to (1) database learning, (2) database application prototyping and (3) fast development of light database applications. 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 and relies on the SQLite-3 DBMS (interfaces with other DBMS are in preparation). 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. (SQLfast is an extension of the "SQL-Script Interpreter" (see below), the goal of which was to fill the gap between single-query objects and full VBA programs.) The SQLfast language and environment comprise the following components: | *'''Description''': SQLfast is both a scripting language based on SQL and an execution environment of SQLfast scripts devoted to (1) database learning, (2) database application prototyping and (3) fast development of light database applications. 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 and relies on the SQLite-3 DBMS (interfaces with other DBMS are in preparation). 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. (SQLfast is an extension of the "SQL-Script Interpreter" (see below), the goal of which was to fill the gap between single-query objects and full VBA programs.) The SQLfast language and environment comprise the following components: | ||
:*the full SQL language | :*the full SQL language | ||
Ligne 32 : | Ligne 44 : | ||
:*development and debugging tools | :*development and debugging tools | ||
*'''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. | *'''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. | ||
− | *'''Requirements''': standard Python 2.7 distribution | + | *'''Requirements''': standard Python 2.7 distribution. The beta Windows version is available. Linux and Mac OS version will released soon. |
*'''Date''': 2012- | *'''Date''': 2012- | ||
*'''Status''': ongoing | *'''Status''': ongoing | ||
− | *'''Availability''': Free of charge. | + | *'''Availability''': Free of charge. Release date of beta: first quarter 2014. |
*'''References and resources''': | *'''References and resources''': | ||
**Jean-Luc Hainaut. <u>SQLfast Database made easy - Tutorial and Case studies</u>, 700 pages, PReCISE Research Center publication, draft version, 2014. | **Jean-Luc Hainaut. <u>SQLfast Database made easy - Tutorial and Case studies</u>, 700 pages, PReCISE Research Center publication, draft version, 2014. |
<Retour à la page d'accueil / Back>
Sommaire |