Dbm (discuter | contributions) (→SQLfast versions) |
Dbm (discuter | contributions) |
||
Ligne 35 : | Ligne 35 : | ||
:*'''Manuels''' | :*'''Manuels''' | ||
<!-- --> | <!-- --> | ||
− | ::*'''Guide d'installation de SQLfast''' (4 pages, en français) [''<i>dernière maj | + | ::*'''Guide d'installation de SQLfast''' (4 pages, en français) [''<i>dernière maj 2022-12-28</i>''] |
:::[http://bit.ly/3FZ0yBq '''SQLfast_Installation_FR.pdf'''] | :::[http://bit.ly/3FZ0yBq '''SQLfast_Installation_FR.pdf'''] | ||
<!-- --> | <!-- --> | ||
− | ::* | + | ::* '''Manuel SQLfast : Database application programming with SQLfast''' (548 pages, en anglais) [''<i>dernière maj 2022-09-12</i>''] |
:::[http://bit.ly/3Wm8IZT '''SQLfast-Manual.pdf'''] | :::[http://bit.ly/3Wm8IZT '''SQLfast-Manual.pdf'''] | ||
<!-- --> | <!-- --> | ||
− | ::* '''Dictionnaire des commandes SQLfast''' (82 pages, en anglais) [''<i>dernière maj | + | ::* '''Dictionnaire des commandes SQLfast''' (82 pages, en anglais) [''<i>dernière maj 2022-12-12</i>''] |
:::[http://bit.ly/3uUvLPV '''SQLfast-Commands.pdf'''] | :::[http://bit.ly/3uUvLPV '''SQLfast-Commands.pdf'''] | ||
<!-- --> | <!-- --> | ||
Ligne 52 : | Ligne 52 : | ||
:::[http://bit.ly/3ja6UVE '''Getting_started_EXPERT_FR.pdf'''] | :::[http://bit.ly/3ja6UVE '''Getting_started_EXPERT_FR.pdf'''] | ||
<!-- --> | <!-- --> | ||
− | ::*'''Guide de survie SQLfast - Modèles typiques de scripts''' (60 pages, en français) [''<i>dernière maj | + | ::*'''Guide de survie SQLfast - Modèles typiques de scripts''' (60 pages, en français) [''<i>dernière maj 2022-11-20</i>''] |
:::[http://bit.ly/3BBtz3F '''Survival_guide_FR.pdf'''] | :::[http://bit.ly/3BBtz3F '''Survival_guide_FR.pdf'''] | ||
<!-- --> | <!-- --> | ||
− | ::* '''Etudes de cas''' ( | + | ::* '''Etudes de cas''' (en anglais) [''<i>dernière maj 2023-06-04</i>''] |
:::[https://bit.ly/3x0fj2i '''SQLfast Case Studies'''] | :::[https://bit.ly/3x0fj2i '''SQLfast Case Studies'''] | ||
<!-- --> | <!-- --> | ||
Ligne 93 : | Ligne 93 : | ||
</font> | </font> | ||
</td></tr></table> | </td></tr></table> | ||
+ | |||
+ | '''SQLfast''' et '''SQLpy''' sont les princiaux résultats techniques d'un projet didactique destiné à explorer et démontrer la puissance des concepts, des technologies et des méthodes relatives aux bases de données pour la résolution de problèmes. Ces outils sont actuellement utilisés pour développer une série d'études de cas de natures (très) variées destinées à évaluer la puissance de ces concepts ([https://bit.ly/3x0fj2i '''SQLfast Case Studies''']). | ||
Le nom '''SQLfast''' désigne, | Le nom '''SQLfast''' désigne, | ||
:*d'une part, un '''langage''' permettant de rédiger des scripts de manipulation de bases de données relationnelles, | :*d'une part, un '''langage''' permettant de rédiger des scripts de manipulation de bases de données relationnelles, | ||
− | :*et d'autre part, un '''logiciel''' permettant à des utilisateurs tant novices qu'experts de développer, tester et exécuter des requêtes SQL, et plus généralement des scripts SQLfast de toute nature et de complexité quelconque. | + | :*et d'autre part, un '''environnement logiciel''' permettant à des utilisateurs tant novices qu'experts de développer, tester et exécuter des requêtes SQL, et plus généralement des scripts SQLfast de toute nature et de complexité quelconque. |
− | Langage et logiciel SQLfast ont été conçus pour couvrir une large gamme de scénarios d'utilisation, depuis l'apprentissage (autonome ou supervisé) des bases de données et du langage SQL jusqu'au développement et à l'exploitation d'applications complexes. | + | Langage et logiciel SQLfast ont été conçus pour couvrir une large gamme de scénarios d'utilisation, depuis l'apprentissage (autonome ou supervisé) des bases de données et du langage SQL jusqu'au développement et à l'exploitation d'applications interactives complexes. |
Le '''langage SQLfast''' est une extension de SQL. Ses instructions comprennent, d'une part, les commandes SQL et d'autre part, des instructions d'échange de données avec l'utilisateur (boîtes de dialogue), des variables, des instructions de contrôle (if, for, while, procédures), des métadonnées ainsi que de riches bibliothèques de fonctions et d'interaction avec l'environnement. Un script peut être constitué d'une seule requête SQL mais des scripts complexes, tels que des gestionnaires de bibliothèques ou des générateurs de prototypes, peuvent comporter plusieurs milliers d'instructions. | Le '''langage SQLfast''' est une extension de SQL. Ses instructions comprennent, d'une part, les commandes SQL et d'autre part, des instructions d'échange de données avec l'utilisateur (boîtes de dialogue), des variables, des instructions de contrôle (if, for, while, procédures), des métadonnées ainsi que de riches bibliothèques de fonctions et d'interaction avec l'environnement. Un script peut être constitué d'une seule requête SQL mais des scripts complexes, tels que des gestionnaires de bibliothèques ou des générateurs de prototypes, peuvent comporter plusieurs milliers d'instructions. | ||
Ligne 103 : | Ligne 105 : | ||
Le '''langage SQLfast''' a été conçu dans un objectif de simplicité d'utilisation. A l'instar de son noyau, SQL, il offre une courbe d'apprentissage linéaire : un problème simple sera résolu en quelques lignes, dont la rédaction ne nécessite que quelques minutes d'apprentissage. | Le '''langage SQLfast''' a été conçu dans un objectif de simplicité d'utilisation. A l'instar de son noyau, SQL, il offre une courbe d'apprentissage linéaire : un problème simple sera résolu en quelques lignes, dont la rédaction ne nécessite que quelques minutes d'apprentissage. | ||
Les arcanes des interactions avec les données (BD, fichiers, images) ainsi que ceux des dialogues avec l'utilisateur sont entièrement cachés car gérés par le moteur SQLfast. | Les arcanes des interactions avec les données (BD, fichiers, images) ainsi que ceux des dialogues avec l'utilisateur sont entièrement cachés car gérés par le moteur SQLfast. | ||
− | La consultation des données d'une table nécessite '''1 instruction en SQLfast''' (''select * from CLIENT'') mais '''près de 40 instructions en Java/JDBC'''. De même, une boîte de saisie de données constituée de trois champs est définie en '''1 instruction SQLfast''' et exige '''plus de | + | La consultation des données d'une table nécessite '''1 instruction en SQLfast''' (''select * from CLIENT'') mais '''près de 40 instructions en Java/JDBC'''. De même, une boîte de saisie de données constituée de trois champs est définie en '''1 instruction SQLfast''' et exige '''plus de 80 instructions Python/Tkinter'''. Ou encore, le téléchargement d'un fichier est obtenu par '''1 instruction SQLfast''' mais par '''près de 100 instructions Python/urllib2'''. Un document ([http://bit.ly/3Pz3yaN Code_Comparison_FR.pdf]) compare le code SQLfast avec le code standard dans ces trois cas de figure. |
SQLfast est un logiciel dit ''portable'', qui ne nécessite pas d'installation à proprement parler et qui ne modifie pas les paramètres du système sur lequel il fonctionne. Il peut notamment être installé, avec une collection de bases de données et de scripts, sur une clé USB transportable d'une machine à l'autre. | SQLfast est un logiciel dit ''portable'', qui ne nécessite pas d'installation à proprement parler et qui ne modifie pas les paramètres du système sur lequel il fonctionne. Il peut notamment être installé, avec une collection de bases de données et de scripts, sur une clé USB transportable d'une machine à l'autre. | ||
− | Le '''logiciel SQLfast''' offre une interface graphique conviviale permettant aux utilisateurs novices d'apprendre et d'expérimenter le développement de requêtes SQL et plus généralement de scripts SQLfast. Il dispose d'une fonction d'aide programmable permettant la rédaction et l'intégration au logiciel de tutoriels personnalisés. Son interface se décline en deux variantes : | + | Le '''l'environnement logiciel SQLfast''' offre une interface graphique conviviale permettant aux utilisateurs novices d'apprendre et d'expérimenter le développement de requêtes SQL et plus généralement de scripts SQLfast. Il dispose d'une fonction d'aide programmable permettant la rédaction et l'intégration au logiciel de tutoriels personnalisés. Son interface se décline en deux variantes : |
*''Basic'' : familiarisation avec le concept de base de données, apprentissage du langage SQL, utilisation légère et occasionnelle d'une base de données. | *''Basic'' : familiarisation avec le concept de base de données, apprentissage du langage SQL, utilisation légère et occasionnelle d'une base de données. | ||
*''Expert'' : apprentissage de la programmation sur bases de données à l'aide du langage SQLfast, développement et exploitation d'applications interactives en SQLfast. | *''Expert'' : apprentissage de la programmation sur bases de données à l'aide du langage SQLfast, développement et exploitation d'applications interactives en SQLfast. | ||
− | Le '''logiciel SQLfast''' est économe en ressources. Avec tous ses composants (y compris les bibliothèques graphiques, le SGBD, les fichiers d'aide, des bases de données de test, un jeu de scripts et des tutoriels), il n'occupe guère plus de 30 Mo sur disque et tourne sans accroc sur des machines de faible puissance. Il est cependant évident que l'exploitation intensive de grandes bases de données nécessitera des ressources plus importantes. | + | Une des particularités de SQLfast est son '''moteur de tutoriels'''. Un tutoriel (ou guide ou document d'aide) est un hypertexte multimédia écrit dans le langage ''SQLtuto'' (sorte de micro-HTML maîtrisable en quelques minutes). Ce document est ''actif'', c'est-à-dire que tout fragment de code (requêtes SQL, scripts SQLfast, IHM, appel de procédure) peut être exécuté à partir du tutoriel dans lequel il apparaît. Il permet notamment de développer très facilement des systèmes de cours actifs complexes. |
+ | |||
+ | Le '''logiciel SQLfast''' est économe en ressources. Avec tous ses composants (y compris les bibliothèques graphiques, le SGBD, les fichiers d'aide, des bases de données de test, un jeu de scripts et des tutoriels), il n'occupe guère plus de 30 Mo sur disque et tourne sans accroc sur des machines de faible puissance. Il est cependant évident que l'exécution de scripts complexes et l'exploitation intensive de grandes bases de données nécessitera des ressources plus importantes. | ||
− | SQLfast est développé en Python, mais son utilisation ne nécessite pas la présence de l'environnement Python. Il inclut le SGBD '' | + | SQLfast est développé en Python, mais son utilisation ne nécessite pas la présence de l'environnement Python. Il inclut le SGBD ''SQLite3'' et la bibliothèque graphique standard ''Tkinter''. La version actuelle a été compilée pour les machines MS Windows 64 bits (de Vista à Win11). Elle fonctionne également sous Linux à l'aide de Wine (quelques ajustements relatifs aux ''paths'' par défaut et au codage des caractères peuvent s'avérer nécessaires). |
Ligne 124 : | Ligne 128 : | ||
Le ''package'' d'installation est une archive comprenant le logiciel SQLfast, un document décrivant son installation et deux petits manuels introductifs en français. | Le ''package'' d'installation est une archive comprenant le logiciel SQLfast, un document décrivant son installation et deux petits manuels introductifs en français. | ||
<!-- --> | <!-- --> | ||
− | *'''SQLfast : le logiciel'''. L'archive contient un répertoire nommé (sans surprise !) ''SQLfast''. L'installation consiste à placer ce répertoire sur un support quelconque tel que le disque C ou D, simplement sur le bureau ou encore sur une clé USB. Dès que la copie est réalisée, SQLfast est prêt à fonctionner (exécuter ''SQLfast.exe''). Le logiciel comprend également sa propre documentation et une série de tutoriels consacrés à l'utilisation de SQLfast, au langage SQL et à la programmation des bases de données. | + | *'''SQLfast : le logiciel'''. L'archive contient un répertoire nommé (sans surprise !) ''SQLfast''. L'installation consiste à placer ce répertoire sur un support quelconque tel que le disque C ou D, simplement sur le bureau ou encore sur une clé USB. Dès que la copie est réalisée, SQLfast est prêt à fonctionner (exécuter ''SQLfast.exe''). Le logiciel comprend également sa propre documentation et une série de guides et tutoriels consacrés à l'utilisation de SQLfast, au langage SQL et à la programmation des bases de données. |
<!-- --> | <!-- --> | ||
*'''SQLfast : Guide d'installation'''. Ce document fournit quelques conseils pour l'installation du logiciel. | *'''SQLfast : Guide d'installation'''. Ce document fournit quelques conseils pour l'installation du logiciel. | ||
Ligne 137 : | Ligne 141 : | ||
</td></tr></table> | </td></tr></table> | ||
− | Il existe deux sources principales de documentation concernant l'outil et les langages SQLfast : | + | Il existe deux sources principales de documentation concernant l'outil et les langages SQLfast : intégrée et externe : |
− | :*la documentation intégrée accessible par la fonction d'aide du logiciel : '''bouton Help''' au niveau Basic et '''menu Help''' au niveau Expert. | + | :*la documentation intégrée, accessible par la fonction d'aide du logiciel : '''bouton Help''' au niveau Basic et '''menu Help''' au niveau Expert. |
− | :*le manuel de SQLfast sous forme d'un ouvrage au format ''pdf''. | + | :*le manuel de SQLfast, sous forme d'un ouvrage au format ''pdf''. |
*'''4.1 Bouton Help du logiciel SQLfast au niveau "Basic"'''. | *'''4.1 Bouton Help du logiciel SQLfast au niveau "Basic"'''. | ||
:Ce bouton ouvre un petit menu comportant, en plus de l'écran ''About SQLfast'', trois items. | :Ce bouton ouvre un petit menu comportant, en plus de l'écran ''About SQLfast'', trois items. | ||
<!-- --> | <!-- --> | ||
− | :*'''Help > Getting started''' (''Premiers pas'' en français). Ce document décrit brièvement l'environnement offert par la fenêtre principale du logiciel SQLfast, ses fenêtres et leurs principales fonctions. Il introduit pas à pas l'utilisateur à la rédaction, l'exécution et la correction de requêtes SQL. Ce tutoriel a également été traduit en document pdf (voir section 1 ci-dessus; aussi inclus dans l'archive à télécharger). | + | :*'''Help > Getting started''' (''Premiers pas'' en français). Ce document décrit brièvement l'environnement offert par la fenêtre principale du logiciel SQLfast, ses fenêtres secondaires et leurs principales fonctions. Il introduit pas à pas l'utilisateur à la rédaction, l'exécution et la correction de requêtes SQL. Ce tutoriel a également été traduit en document pdf (voir section 1 ci-dessus; aussi inclus dans l'archive à télécharger). |
<!-- --> | <!-- --> | ||
:*'''Help > SQLfast environment'''. Description détaillée de la fenêtre principale, de ses fenêtres secondaires et de leurs fonctions. | :*'''Help > SQLfast environment'''. Description détaillée de la fenêtre principale, de ses fenêtres secondaires et de leurs fonctions. | ||
<!-- --> | <!-- --> | ||
− | :*'''Help > Tutorials'''. Portefeuille de tutoriels | + | :*'''Help > Tutorials'''. Portefeuille de tutoriels relatifs au langage SQL. Cette collection de documents est régulièrement étendue et mise à jour. Ces tutoriels dérivent du contenu de l'ouvrage ''Bases de données - Concepts, utilisation et développement, 5e édition, Dunod 2022''. Ces tutoriels sont constitués principalement d'exercices. Cependant, le chapitre introductif, ''Une brève introduction à SQL'', est recommandé aux débutants. |
+ | Ces tutoriels sont ''actifs'' : les exemples de requêtes sont directement exécutables par un simple clic. | ||
*'''4.2 Menu Help du logiciel SQLfast au niveau "Expert"'''. | *'''4.2 Menu Help du logiciel SQLfast au niveau "Expert"'''. | ||
:Ce bouton ouvre un menu comportant, en plus de l'écran ''About SQLfast'', quatre items. | :Ce bouton ouvre un menu comportant, en plus de l'écran ''About SQLfast'', quatre items. | ||
<!-- --> | <!-- --> | ||
− | :*'''Help > Getting started''' (''Premiers pas'' en français). Ce document décrit brièvement l'environnement offert par la fenêtre principale du logiciel SQLfast, ses fenêtres et leurs principales fonctions. Il introduit pas à pas l'utilisateur à la création, à l'exécution, à la correction et au sauvetage d'un premier script. Ce tutoriel a également été traduit en document pdf (voir section 1 ci-dessus; aussi inclus dans l'archive à télécharger). | + | :*'''Help > Getting started''' (''Premiers pas'' en français). Ce document décrit brièvement l'environnement offert par la fenêtre principale du logiciel SQLfast, ses fenêtres secondaires et leurs principales fonctions. Il introduit pas à pas l'utilisateur à la création, à l'exécution, à la correction et au sauvetage d'un premier script. Ce tutoriel a également été traduit en document pdf (voir section 1 ci-dessus; aussi inclus dans l'archive à télécharger). |
<!-- --> | <!-- --> | ||
:*'''Help > Survival guide''' (''Guide de survie'' en français). Collection d'une cinquantaine de modèles de scripts commentés permettant d'aborder en confiance la résolution de problèmes de toute nature, depuis la simple consultation d'une base de données jusqu'à la génération de code à partir des métadonnées d'une base de données. Ce document est également disponible au format pdf (voir section 1 ci-dessus). | :*'''Help > Survival guide''' (''Guide de survie'' en français). Collection d'une cinquantaine de modèles de scripts commentés permettant d'aborder en confiance la résolution de problèmes de toute nature, depuis la simple consultation d'une base de données jusqu'à la génération de code à partir des métadonnées d'une base de données. Ce document est également disponible au format pdf (voir section 1 ci-dessus). | ||
Ligne 161 : | Ligne 166 : | ||
::*'''SQLfast environment'''. Description détaillée de la fenêtre principale, de ses fenêtres secondaires et de leurs fonctions. | ::*'''SQLfast environment'''. Description détaillée de la fenêtre principale, de ses fenêtres secondaires et de leurs fonctions. | ||
<!-- --> | <!-- --> | ||
− | ::*'''SQLfast commands'''. Liste des principales instructions et paramètres du langage SQLfast, accompagnés d'une brève description et d'exemples. Ce document (en anglais) constitue une synthèse du document ''Dictionnaire des commandes SQLfast'' disponible sur le site de l'outil ([http://bit.ly/3uUvLPV '''SQLfast commands''']) | + | ::*'''SQLfast commands'''. Liste des principales instructions et paramètres du langage SQLfast, accompagnés d'une brève description et d'exemples. Ce document (en anglais) constitue une synthèse du document ''Dictionnaire des commandes et paramètres des langages SQLfast'' disponible sur le site de l'outil ([http://bit.ly/3uUvLPV '''SQLfast commands''']) |
<!-- --> | <!-- --> | ||
− | ::*'''SQLtuto language'''. Description et exemples de ''SQLtuto'', le langage de rédaction de documents | + | ::*'''SQLtuto language'''. Description et exemples de ''SQLtuto'', le langage de rédaction de guides, de documents d'aide et de tutoriels. Ce langage permet à l'utilisateur de modifier les documents existants et de développer ses propres documents, notamment des tutoriels personnels. |
<!-- --> | <!-- --> | ||
− | :*'''Help > Tutorials'''. Portefeuille de tutoriels relatif au langage SQLfast. Cette collection de documents dérive de l'ouvrage ''Manuel de SQLfast'' (''Introduction to database programming''). | + | :*'''Help > Tutorials'''. Portefeuille de tutoriels actifs relatif au langage SQLfast. Cette collection de documents dérive de l'ouvrage ''Manuel de SQLfast'' (''Introduction to database programming''). |
*'''4.3 Le manuel de SQLfast'''. Un manuel/tutoriel détaillé (en anglais), sous forme pdf, consacré à l'utilisation du langage et à la résolution de problèmes de nature variée est disponible en ligne [http://bit.ly/3Wm8IZT '''Ici''']. En outre, une série d'études de cas sont disponibles [https://bit.ly/3x0fj2i '''[ici]''']. | *'''4.3 Le manuel de SQLfast'''. Un manuel/tutoriel détaillé (en anglais), sous forme pdf, consacré à l'utilisation du langage et à la résolution de problèmes de nature variée est disponible en ligne [http://bit.ly/3Wm8IZT '''Ici''']. En outre, une série d'études de cas sont disponibles [https://bit.ly/3x0fj2i '''[ici]''']. | ||
Ligne 179 : | Ligne 184 : | ||
</td></tr></table> | </td></tr></table> | ||
− | '''SQLpy''' est un module destiné à fournir aux programmeurs Python un moyen facile de développer rapidement de petites applications interactives et/ou orientées données tout en ignorant les arcanes des modules standard ''tkinter'' et ''sqlite3''. Il inclut | + | '''SQLpy''' est un module destiné à fournir aux programmeurs Python un moyen facile de développer rapidement de petites applications interactives et/ou orientées données tout en ignorant les arcanes des modules standard ''tkinter'' et ''sqlite3''. Il inclut une quarantaine des fonctions les plus puissantes du langage et de l'environnement SQLfast. SQLpy comprend trois parties : ''GUI'', ''Console'' et ''Base de données''. |
*La partie '''GUI''' est une collection de fonctions de création de boîtes de dialogue composées des widgets les plus courants du module Python ''tkinter''. Elle comprend huit familles de boîtes : Infobox, Entrybox, Textbox, Picturebox, Listbox (deux variantes), Checkbox et Radiobox. La boîte Compositebox combine un nombre quelconque d'instances de ces types de base. Chaque boîte est créée par une seule invocation au module SQLpy équivalente à une centaine d'instructions Python/tkinter. | *La partie '''GUI''' est une collection de fonctions de création de boîtes de dialogue composées des widgets les plus courants du module Python ''tkinter''. Elle comprend huit familles de boîtes : Infobox, Entrybox, Textbox, Picturebox, Listbox (deux variantes), Checkbox et Radiobox. La boîte Compositebox combine un nombre quelconque d'instances de ces types de base. Chaque boîte est créée par une seule invocation au module SQLpy équivalente à une centaine d'instructions Python/tkinter. | ||
− | *La '''Console''' est une fenêtre indépendante dans laquelle du texte peut être écrit (et lu) par le programme et par l'utilisateur. Elle est similaire à la console système Python, sauf qu'elle est entièrement contrôlée par le programme Python et par l'utilisateur. | + | *La '''Console''' est une fenêtre persistante indépendante dans laquelle du texte peut être écrit (et lu) par le programme et par l'utilisateur. Elle est similaire à la console système Python, sauf qu'elle est entièrement contrôlée par le programme Python et par l'utilisateur. |
*La partie '''Base de données''' fournit un accès simplifié aux ressources d'une base de données relationnelle (par exemple, pas de connexion, pas de curseurs). Outre les opérations élémentaires habituelles (CRUD), elle comprend quelques fonctions puissantes, telles que l'exportation du contenu d'une base de données, l'importation et l'analyse de données externes, le formatage du résultat des requêtes "select" (une collection extensible de 15 formats est disponible) et l'extraction de métadonnées. | *La partie '''Base de données''' fournit un accès simplifié aux ressources d'une base de données relationnelle (par exemple, pas de connexion, pas de curseurs). Outre les opérations élémentaires habituelles (CRUD), elle comprend quelques fonctions puissantes, telles que l'exportation du contenu d'une base de données, l'importation et l'analyse de données externes, le formatage du résultat des requêtes "select" (une collection extensible de 15 formats est disponible) et l'extraction de métadonnées. | ||
− | La distribution comprend | + | La distribution comprend : |
*le code du module SQLpy.py | *le code du module SQLpy.py | ||
− | *son manuel utilisateur largement illustré | + | *son manuel utilisateur, largement illustré |
*un petit programme Python qui illustre l'utilisation des fonctions du module | *un petit programme Python qui illustre l'utilisation des fonctions du module | ||
*comme illustration, une réécriture en ''Python/SQLpy'' de l'application développée dans l'étude cas '''Four hours to save the library'''. | *comme illustration, une réécriture en ''Python/SQLpy'' de l'application développée dans l'étude cas '''Four hours to save the library'''. | ||
− | La version 1.2 de SQLpy comprend les extensions suivantes : | + | La '''version 1.2''' de SQLpy comprend les extensions suivantes : |
*l'installation préalable du module graphique PIL n'est plus nécessaire. En revanche, en cas d'absence, les types de fichiers sont réduits à ceux de ''tkinter'', soit ''gif'', ''pgm'' et ''ppm''. | *l'installation préalable du module graphique PIL n'est plus nécessaire. En revanche, en cas d'absence, les types de fichiers sont réduits à ceux de ''tkinter'', soit ''gif'', ''pgm'' et ''ppm''. | ||
*les boîtes composites (''CompositeBox'') peuvent désormais inclure plusieurs instances de ''SelectList2''. | *les boîtes composites (''CompositeBox'') peuvent désormais inclure plusieurs instances de ''SelectList2''. | ||
Ligne 281 : | Ligne 286 : | ||
</font> | </font> | ||
</td></tr></table> | </td></tr></table> | ||
+ | |||
+ | '''SQLfast''' and '''SQLpy''' are the main technical outcomes of a didactic project intended to explore and demonstrate the power of database concepts, technologies and methods for general problem solving. These tools are currently being used to develop a series of (very) varied case studies designed to assess the power of these concepts ([https://bit.ly/3x0fj2i '''SQLfast Case Studies''']). | ||
The name SQLfast denotes, | The name SQLfast denotes, | ||
Ligne 292 : | Ligne 299 : | ||
[http://bit.ly/3FCGGma This document] compares the SQLfast code for these three examples with their equivalent standard code. | [http://bit.ly/3FCGGma This document] compares the SQLfast code for these three examples with their equivalent standard code. | ||
− | One of the distinctive features of SQLfast is its '''tutorial engine'''. A tutorial (or help document) is a multimedia hypertext written in the ''SQLtuto'' language (think of it as a micro-HTML). This document is ''active'', in that, any code fragment (SQL queries, SQLfast scripts, GUI, calling a procedure) can be executed from within the tutorial in which it appears. | + | One of the distinctive features of SQLfast is its '''tutorial engine'''. A tutorial (or guide or help document) is a multimedia hypertext written in the ''SQLtuto'' language (think of it as a micro-HTML that can be learned in a few minutes). This document is ''active'', in that, any code fragment (SQL queries, SQLfast scripts, GUI, calling a procedure) can be executed from within the tutorial in which it appears. In particular, it allows the development of complex active course systems quite easily. |
The SQLfast software is portable and its installation cannot be simpler: folder SQLfast extracted from the .zip archive that contains its complete distribution, can be copied anywhere and is ready to run. In addition, SQLfast does not modify any system parameter. | The SQLfast software is portable and its installation cannot be simpler: folder SQLfast extracted from the .zip archive that contains its complete distribution, can be copied anywhere and is ready to run. In addition, SQLfast does not modify any system parameter. |
1. Je suis pressé ! |
Téléchargements
Versions de SQLfast
2. Qu'est-ce que SQLfast ? |
SQLfast et SQLpy sont les princiaux résultats techniques d'un projet didactique destiné à explorer et démontrer la puissance des concepts, des technologies et des méthodes relatives aux bases de données pour la résolution de problèmes. Ces outils sont actuellement utilisés pour développer une série d'études de cas de natures (très) variées destinées à évaluer la puissance de ces concepts (SQLfast Case Studies).
Le nom SQLfast désigne,
Langage et logiciel SQLfast ont été conçus pour couvrir une large gamme de scénarios d'utilisation, depuis l'apprentissage (autonome ou supervisé) des bases de données et du langage SQL jusqu'au développement et à l'exploitation d'applications interactives complexes.
Le langage SQLfast est une extension de SQL. Ses instructions comprennent, d'une part, les commandes SQL et d'autre part, des instructions d'échange de données avec l'utilisateur (boîtes de dialogue), des variables, des instructions de contrôle (if, for, while, procédures), des métadonnées ainsi que de riches bibliothèques de fonctions et d'interaction avec l'environnement. Un script peut être constitué d'une seule requête SQL mais des scripts complexes, tels que des gestionnaires de bibliothèques ou des générateurs de prototypes, peuvent comporter plusieurs milliers d'instructions.
Le langage SQLfast a été conçu dans un objectif de simplicité d'utilisation. A l'instar de son noyau, SQL, il offre une courbe d'apprentissage linéaire : un problème simple sera résolu en quelques lignes, dont la rédaction ne nécessite que quelques minutes d'apprentissage. Les arcanes des interactions avec les données (BD, fichiers, images) ainsi que ceux des dialogues avec l'utilisateur sont entièrement cachés car gérés par le moteur SQLfast. La consultation des données d'une table nécessite 1 instruction en SQLfast (select * from CLIENT) mais près de 40 instructions en Java/JDBC. De même, une boîte de saisie de données constituée de trois champs est définie en 1 instruction SQLfast et exige plus de 80 instructions Python/Tkinter. Ou encore, le téléchargement d'un fichier est obtenu par 1 instruction SQLfast mais par près de 100 instructions Python/urllib2. Un document (Code_Comparison_FR.pdf) compare le code SQLfast avec le code standard dans ces trois cas de figure.
SQLfast est un logiciel dit portable, qui ne nécessite pas d'installation à proprement parler et qui ne modifie pas les paramètres du système sur lequel il fonctionne. Il peut notamment être installé, avec une collection de bases de données et de scripts, sur une clé USB transportable d'une machine à l'autre.
Le l'environnement logiciel SQLfast offre une interface graphique conviviale permettant aux utilisateurs novices d'apprendre et d'expérimenter le développement de requêtes SQL et plus généralement de scripts SQLfast. Il dispose d'une fonction d'aide programmable permettant la rédaction et l'intégration au logiciel de tutoriels personnalisés. Son interface se décline en deux variantes :
Une des particularités de SQLfast est son moteur de tutoriels. Un tutoriel (ou guide ou document d'aide) est un hypertexte multimédia écrit dans le langage SQLtuto (sorte de micro-HTML maîtrisable en quelques minutes). Ce document est actif, c'est-à-dire que tout fragment de code (requêtes SQL, scripts SQLfast, IHM, appel de procédure) peut être exécuté à partir du tutoriel dans lequel il apparaît. Il permet notamment de développer très facilement des systèmes de cours actifs complexes.
Le logiciel SQLfast est économe en ressources. Avec tous ses composants (y compris les bibliothèques graphiques, le SGBD, les fichiers d'aide, des bases de données de test, un jeu de scripts et des tutoriels), il n'occupe guère plus de 30 Mo sur disque et tourne sans accroc sur des machines de faible puissance. Il est cependant évident que l'exécution de scripts complexes et l'exploitation intensive de grandes bases de données nécessitera des ressources plus importantes.
SQLfast est développé en Python, mais son utilisation ne nécessite pas la présence de l'environnement Python. Il inclut le SGBD SQLite3 et la bibliothèque graphique standard Tkinter. La version actuelle a été compilée pour les machines MS Windows 64 bits (de Vista à Win11). Elle fonctionne également sous Linux à l'aide de Wine (quelques ajustements relatifs aux paths par défaut et au codage des caractères peuvent s'avérer nécessaires).
3. Installation et démarrage |
Le package d'installation est une archive comprenant le logiciel SQLfast, un document décrivant son installation et deux petits manuels introductifs en français.
4. Documentation sur SQLfast |
Il existe deux sources principales de documentation concernant l'outil et les langages SQLfast : intégrée et externe :
Ces tutoriels sont actifs : les exemples de requêtes sont directement exécutables par un simple clic.
Les documents d'aide de SQLfast sont disponibles en français et en anglais (du moins le seront-ils lorsque leur rédaction et leur traduction seront terminées). Les documents en français sont localisés dans le répertoire SQLfast/SQLfastHelp_FR. Les tutoriels intégrés sont localisés dans le sous-répertoire Lev0_Tutorials pour le mode Basic et Lev1_Tutorials pour le mode Expert au sein de ce répertoire. Ces documents peuvent être modifiés et complétés par l'utilisateur en fonction de ses besoins.
5. Le module SQLpy |
SQLpy est un module destiné à fournir aux programmeurs Python un moyen facile de développer rapidement de petites applications interactives et/ou orientées données tout en ignorant les arcanes des modules standard tkinter et sqlite3. Il inclut une quarantaine des fonctions les plus puissantes du langage et de l'environnement SQLfast. SQLpy comprend trois parties : GUI, Console et Base de données.
La distribution comprend :
La version 1.2 de SQLpy comprend les extensions suivantes :
Le module et sa documentation sont disponibles ici.
1. Fast track |
SQLfast versions
2. What is SQLfast? |
SQLfast and SQLpy are the main technical outcomes of a didactic project intended to explore and demonstrate the power of database concepts, technologies and methods for general problem solving. These tools are currently being used to develop a series of (very) varied case studies designed to assess the power of these concepts (SQLfast Case Studies).
The name SQLfast denotes,
The language and its environment have been designed to encompass a wide range of usage scenarios, from database self-study by beginners to the development and exploitation of complex database applications such as library management and prototype generation. They target both novice and professional users.
The core of the SQLfast language is SQL, 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 graphical user interaction, text generation, file manipulation, decision, iteration, web access, metadata processing and much more.
The main design goal of the SQLfast language is simplicity. Just like its kernel, SQL, it exhibits a smooth learning curve: a simple problem can be solved by a simple script of 2-3 statements, the writing of which requires a few minutes of learning. The complexity of data interaction (DB, web, files, images, etc.) and that of GUI are fully hidden from the script writer. For instance, extracting and formatting data from the database requires about 40 Java/JDBC statements but only one SQLfast statement. A 3-field data entry dialogue box is built through more than 100 Python/Tkinter statements but requires one SQLfast statement only. In the same way, downloading a file from the web needs one SQLfast statement, against more than 100 Python/urllib2 statements. This document compares the SQLfast code for these three examples with their equivalent standard code.
One of the distinctive features of SQLfast is its tutorial engine. A tutorial (or guide or help document) is a multimedia hypertext written in the SQLtuto language (think of it as a micro-HTML that can be learned in a few minutes). This document is active, in that, any code fragment (SQL queries, SQLfast scripts, GUI, calling a procedure) can be executed from within the tutorial in which it appears. In particular, it allows the development of complex active course systems quite easily.
The SQLfast software is portable and its installation cannot be simpler: folder SQLfast extracted from the .zip archive that contains its complete distribution, can be copied anywhere and is ready to run. In addition, SQLfast does not modify any system parameter.
To address the large range of usage it is intended for, SQLfast offers two interfaces:
The SQLfast software is both small (32 MB) and self-contained. Its standard distribution includes a graphical library, a RDBMS, a large, extendible, function library, sample databases, help files, tutorials and a large portfolio of example scripts, ranging from two-statement elementary scripts to one thousand statements interactive DB interface generator.
SQLfast has been developed in Python. The current distribution includes SQLite 3, which offers a rich version of SQL2/SQL3 (including recursive CTE and window function) and GUI library Tkinter. It has been compiled for MS Windows. SQLfast runs smoothly on Linux under Wine (some parameters may need to be adapted, such as default paths and character coding).
3. Installing SQLfast and Getting started |
The distribution package is available as a 'zip' archive. It comprises the SQLfast software (including 80 guides and tutorials, sample databases and more than 300 scripts) and three small documents: an Installation guide and the Getting started guides for the Basic and Expert levels.
4. SQLfast Documentation |
There are two main sources of documentation describing the SQLfast software and languages: integrated and external.
Most integrated documents are available in English and in French. The English documents are located in the directory SQLfast/SQLfastHelp_EN.
5. The SQLpy module |
SQLpy is a module intended to provide Python programmers with a another way to rapidly and easily develop small interactive and data intensive applications while ignoring the intricacies of the tkinter and sqlite3 standard modules. It includes some of the most powerful facilities of the SQLfast language and environment. SQLpy comprises three parts: GUI, Console and Database.
The distribution includes
The last version of SQLpy (SQLpy v1.2) comprises the following extensions:
The module and its documentation are available here