Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
(5 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 15 : | Ligne 15 : | ||
:: '''Manuals and case studies last updates''' | :: '''Manuals and case studies last updates''' | ||
− | ::: 2022-09-29: <font color="blue" | + | ::: 2022-09-29: <font color="blue">SQLfast manual</font> [http://bit.ly/3Wm8IZT [full text]] |
− | ::: 2022-12-28: <font color="blue" | + | ::: 2022-12-28: <font color="blue">Dictionary of SQLfast commands and parameters</font> [http://bit.ly/3uUvLPV [full text]] |
− | ::: 2023-06-04: <font color="blue" | + | ::: 2023-06-04: <font color="blue">Case study: Classifying objects</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case30-FCA.pdf [full text]] |
− | ::: 2022-04-14: <font color="blue" | + | ::: 2022-04-14: <font color="blue">Case study: The book of which you are the hero</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case14-Game-Books.pdf [full text]] |
− | ::: 2021-10-16: <font color="blue" | + | ::: 2021-10-16: <font color="blue">Case study: Four hours to save the library</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case01-Small-library.pdf [full text]] |
− | ::: 2021-05-05: <font color="blue" | + | ::: 2021-05-05: <font color="blue">Case study: Path finders, rovers and Ariadne's thread</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case31-Shortest-path.pdf [full text]] |
− | ::: 2020-10-04: <font color="blue" | + | ::: 2020-10-04: <font color="blue">Case study: Blockchains</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case34-Blockchains.pdf [full text]] |
− | ::: 2020-09-23: <font color="blue" | + | ::: 2020-09-23: <font color="blue">Case study: Active databases</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case08-Active-DB.pdf [full text]] |
− | ::: | + | ::: 2020-02-01: <font color="blue">Case study: Temporal databases - Part 1</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case09-Temporal-DB(1).pdf [full text]] |
− | ::: | + | ::: 2019-08-29: <font color="blue">Case study: Temporal databases - Part 2</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case10-Temporal-DB(2).pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: From data bulk loading to database book writing</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case28-Topo-sort.pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Conway's Game of Life</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case27-Life-Game.pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Interactive SQL interpreter</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case03-Interactive-SQL.pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Schema-less databases - Part 1</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case04-Schemaless-DB(1).pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Schema-less databases - Part 2</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case05-Schemaless-DB(2).pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Schema-less databases - Part 3</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case06-Schemaless-DB(3).pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Kings of France - Part 1</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case11-Kings-of-France(1).pdf [full text]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Kings of France - Part 2</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case12-Kings-of-France(2).pdf [full text]] [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case12-Kings-of-France-Draw.pdf [technical complement]] |
− | ::: 2018-08-28: <font color="blue" | + | ::: 2018-08-28: <font color="blue">Case study: Directory management</font> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case15-Directory-Management.pdf [full text]] |
Ligne 46 : | Ligne 46 : | ||
<!-- --> | <!-- --> | ||
:[http://bit.ly/3FCGGma This document (in English)] and [http://bit.ly/3Pz3yaN 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://bit.ly/3FCGGma This document (in English)] and [http://bit.ly/3Pz3yaN 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 | + | :Despite its simplicity, the SQLfast language includes powerful features such as the full SQL language, variables, GUI, comprehensive control structures, 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''' | ||
Ligne 67 : | Ligne 67 : | ||
<!-- --> | <!-- --> | ||
: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. | ||
− | + | <code> </code> | |
− | *''' | + | *'''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 with Tkinter, SQLite3 and PIL modules. 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: | :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 with Tkinter, SQLite3 and PIL modules. 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: | ||
<!-- --> | <!-- --> | ||
Ligne 77 : | Ligne 77 : | ||
:*additional languages: | :*additional languages: | ||
::*'''SQLdraw''': specification of vector graphics, static (still drawing) and dynamic (animated) | ::*'''SQLdraw''': specification of vector graphics, static (still drawing) and dynamic (animated) | ||
− | ::*'''SQLtuto''': description of help documents, guides and tutorials; allows the building of | + | ::*'''SQLtuto''': description of help documents, guides and tutorials; allows the building of complex hypertext, multimedia systems, that may include executable code fragments; |
::*'''LTemp''': algebraic temporal operators: temporal, coalescing, aggregation, interval normalization | ::*'''LTemp''': algebraic temporal operators: temporal, coalescing, aggregation, interval normalization | ||
<!-- --> | <!-- --> | ||
Ligne 98 : | Ligne 98 : | ||
::*extensible through Python external libraries | ::*extensible through Python external libraries | ||
<!-- --> | <!-- --> | ||
− | :*an integrated graphical engine | + | :*an integrated graphical engine renders SQLdraw scripts to produce still and animated drawing (charts, drawing, maps, animated simulation, etc.). |
<!-- --> | <!-- --> | ||
:*extensibility mechanisms: | :*extensibility mechanisms: | ||
Ligne 115 : | Ligne 115 : | ||
:*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: error reporting; variable dumping, powerful tracing subsystem for SQLfast commands, SQL queries and SQL triggers; trace analysis through SQL queries, |
− | : | + | |
− | + | ||
− | + | ||
− | *'''Requirements''': Windows from Vista to Win11 (64 bits). All the resources needed are included in the distribution. | + | :*'''Requirements''': Windows from Vista to Win11 (64 bits). All the resources needed are included in the distribution. |
− | *'''Date''': 2012- | + | :*'''Date''': 2012- |
− | *'''Status''': ongoing. Version 5 available. | + | :*'''Status''': ongoing. Version 5 available. |
− | *'''Availability''': From the [[DUNOD2015_SQLfast|SQLfast web page]]. | + | :*'''Availability''': From the [[DUNOD2015_SQLfast|SQLfast web page]]. |
− | *'''Main references and resources''' | + | :*'''Main references and resources''': |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<!-- --> | <!-- --> | ||
+ | :**SQLfast environment for Windows. [[DUNOD2015_SQLfast|Get it from the SQLfast web page]]. | ||
+ | :**Python 2.7 (conversion to Python 3 in progress). Not required to execute SQLfast. Must be used to develop extensions to SQLfast. | ||
+ | :**The latest stable version of SQLite3 DBMS is included in the SQLfast distribution (file ''sqlite3.ddl'' in the SQLfast folder). As soon as a new version is available in [http://www.sqlite.org/download.html the SQLite download site], just replace the current file with the last version.. | ||
+ | :**<u>SQLfast manual - Database application programming</u> [http://bit.ly/3Wm8IZT [full text]] | ||
+ | :**<u>Dictionary of SQLfast commands and parameters</u> [http://bit.ly/3uUvLPV [full text]]. | ||
<!-- | <!-- | ||
*''Volume 1'': '''SQLfast Manual - Introduction to database programming''' The complete SQLfast tutorial'''. This tutorial comprises two volumes. The first one, the '''SQLfast manual''' is an introduction to database concepts and programming through SQLfast. It 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. A large appendix collects | *''Volume 1'': '''SQLfast Manual - Introduction to database programming''' The complete SQLfast tutorial'''. This tutorial comprises two volumes. The first one, the '''SQLfast manual''' is an introduction to database concepts and programming through SQLfast. It 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. A large appendix collects | ||
*''Volume 2'': '''Problem solving with databases - Case studies'''. This second volume currently exists as a series of case studies demonstrating how to solve a wide variety of problems with databases. 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. | *''Volume 2'': '''Problem solving with databases - Case studies'''. This second volume currently exists as a series of case studies demonstrating how to solve a wide variety of problems with databases. 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 manual and case studies''' | ||
+ | |||
+ | :The external documentation comprises two important volumes. The first one is the '''SQLfast manual''', an introduction to the development of database applications. The second one is a collection of case studies illustrating the use of database programming to solve large families of problems. | ||
− | |||
<br> | <br> | ||
<!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> | <!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> | ||
<!-- ---------------------------------------------------------------------------------------- --> | <!-- ---------------------------------------------------------------------------------------- --> | ||
− | : | + | :'''Volume 1: SQLfast MANUAL - INTRODUCTION TO DATABASE PROGRAMMING''' |
<center>[http://bit.ly/3Wm8IZT [get the full text here]]</center> | <center>[http://bit.ly/3Wm8IZT [get the full text here]]</center> | ||
Ligne 239 : | Ligne 233 : | ||
<!-- ------------------------------------------------------------------------------------ --> | <!-- ------------------------------------------------------------------------------------ --> | ||
<br> | <br> | ||
− | : | + | :'''Volume 2: PROBLEM SOLVING WITH DATABASES - CASE STUDIES''' |
− | + | ||
:*<font color="black"><b>Case 1. Four hours to save the library</b>, draft version, <i>November 2020.</i></font>[https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case01-Small-library.pdf [full text]] | :*<font color="black"><b>Case 1. Four hours to save the library</b>, draft version, <i>November 2020.</i></font>[https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case01-Small-library.pdf [full text]] | ||
Ligne 297 : | Ligne 290 : | ||
::The problem of fast clone detection, that is, of set of files that have exactly the same contents, is also analyzed and solved. | ::The problem of fast clone detection, that is, of set of files that have exactly the same contents, is also analyzed and solved. | ||
::''<b>Keywords</b>'': directory structure, tree modeling, tree analysis, statistics, tree evolution, duplicate files, clone detection, secure hashing, SHA256, database performance, CTE, recursive queries. | ::''<b>Keywords</b>'': directory structure, tree modeling, tree analysis, statistics, tree evolution, duplicate files, clone detection, secure hashing, SHA256, database performance, CTE, recursive queries. | ||
− | |||
− | |||
− | |||
:*<b>Case 27. Conway's Game of Life</b>, draft version, <i>November 2020.</i> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case27-Life-Game.pdf [full text]] | :*<b>Case 27. Conway's Game of Life</b>, draft version, <i>November 2020.</i> [https://projects.info.unamur.be/dbm/SQLfast/Case-Studies/SQLfast-Case27-Life-Game.pdf [full text]] | ||
Ligne 328 : | Ligne 318 : | ||
<br> | <br> | ||
<!-- ------------------------------------------------------------------------------ --> | <!-- ------------------------------------------------------------------------------ --> | ||
− | + | :'''Case studies in preparation''' | |
− | + | ||
<!-- ------------------------------------------------------------------------------ --> | <!-- ------------------------------------------------------------------------------ --> | ||
:*<b>Case 2. Managing a small library: The human factor</b>, writing in progress. | :*<b>Case 2. Managing a small library: The human factor</b>, writing in progress. |
<Retour à la page d'accueil / Back>
Sommaire |