Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 52 : | Ligne 52 : | ||
:*<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>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 '' | + | :*<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 ''database programming''. 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>extendability</b>: new functions | + | :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. | + | *'''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. The standard 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., of graphical interactions and of data exchange with external sources (e.g., files, web data an 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 | ||
<!-- --> | <!-- --> | ||
− | :*variables in which data coming from a database, external files, computations | + | :*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, 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, encoding/decoding into secure formats (hexadecimal, base64) |
<!-- --> | <!-- --> | ||
:*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 : | ||
<!-- --> | <!-- --> | ||
:*extensibility mechanisms: | :*extensibility mechanisms: | ||
− | ::*technical | + | ::*technical SQLfast scripts (e.g., parameters setting), |
− | ::*functional | + | ::*functional SQLfast procedures (e.g., data loading, data checking, report generation), |
− | ::*Python external libraries (e.g., string manipulation, file management, geometric algorithms), | + | ::*Python external libraries (e.g., string manipulation, file management, geometric algorithms, web access), |
− | ::*Python external applications (e.g., data import, interactive data conversion, complex dialogues, map digitizer,graphical engine), | + | ::*Python external applications (e.g., data import, interactive data conversion, complex dialogues, map digitizer, graphical engine), |
− | ::*language extension (through script | + | ::*language extension (through script precompilation) |
::*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) | ||
+ | <!-- --> | ||
+ | :*a tutorial engine, that can be called from the graphical interface or from within any script | ||
<!-- --> | <!-- --> | ||
:*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. | ||
Ligne 100 : | Ligne 102 : | ||
*'''Date''': 2012- | *'''Date''': 2012- | ||
*'''Status''': ongoing | *'''Status''': ongoing | ||
− | *'''Availability''': | + | *'''Availability''': From the [[DUNOD2015_SQLfast|SQLfast web page]]. |
*'''References and resources''': | *'''References and resources''': | ||
<!-- --> | <!-- --> | ||
− | **SQLfast environment for Windows. | + | **SQLfast environment for Windows. [[DUNOD2015_SQLfast|Get it from the SQLfast web page]]. |
− | **Python 2.7. | + | **Python 2.7. To use to develop extensions to SQLfast. [http://www.python.org/download/ [download page]] |
− | **SQLite3 DBMS is | + | **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>, | + | **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. [http://www.info.fundp.ac.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>, | + | **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 [http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/SQLfast/SQLfast-Tuto-00-to-17.pdf '''(get it here)''']. These chapters are continuously updated, so that it is recommended to check them regularly to get their last versions. |
− | + | ||
− | *'''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 kind of <i>hybrid animal</i>. In the near future, it will be split into two distinct volumes, namely "Introduction to database programming with SQLfast" (first chapters) and "Problem solving with databases" (last 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 kind of <i>hybrid animal</i>. In the near future, it will be split into two distinct volumes, namely "Introduction to database programming with SQLfast" (first chapters) and "Problem solving with databases" (last chapters). |
<nowiki> | <nowiki> | ||
<Retour à la page d'accueil / Back>
Sommaire |