Dbm (discuter | contributions) (→SQLfast) |
Dbm (discuter | contributions) (→SQLfast) |
||
Ligne 13 : | Ligne 13 : | ||
− | :: ''' | + | :: '''Manuals and case studies last updates''' |
− | ::: 2019- | + | ::: 2019-10-27: <font color="blue"><b>Case study: Temporal databases - Part 2</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case10-Temporal-DB(2).pdf [full text]] |
− | ::: | + | ::: 2019-10-27: <font color="blue"><b>Case study: Temporal databases - Part 1</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case09-Temporal-DB(1).pdf [full text]] |
+ | ::: 2019-02-01: <font color="blue"><b>Case study: Blockchains</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case34-Blockchains.pdf [full text]] | ||
::: 2018-01-25: <font color="blue"><b>Case study: From data bulk loading to database book writing</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case28-Topo-sort.pdf [full text]] | ::: 2018-01-25: <font color="blue"><b>Case study: From data bulk loading to database book writing</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case28-Topo-sort.pdf [full text]] | ||
::: 2018-01-18: <font color="blue"><b>Case study: Conway's Game of Life</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case27-Life-Game.pdf [full text]] | ::: 2018-01-18: <font color="blue"><b>Case study: Conway's Game of Life</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case27-Life-Game.pdf [full text]] | ||
Ligne 29 : | Ligne 30 : | ||
::: 2017-09-10: <font color="blue"><b>Case study: Path finders, rovers and Ariadne's thread</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case31-Shortest-path.pdf [full text]] | ::: 2017-09-10: <font color="blue"><b>Case study: Path finders, rovers and Ariadne's thread</b> </font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case31-Shortest-path.pdf [full text]] | ||
− | ::: | + | ::: 2019-08-28: <font color="blue"><b>SQLfast manual</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tutorial.pdf [full text]] |
− | ::: | + | ::: 2019-08-28: <font color="blue"><b>Dictionary of SQLfast commands and parameters</b></font> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Commands.pdf [full text]] |
Ligne 115 : | Ligne 116 : | ||
**Python 2.7. Not required to execute SQLfast. Must be used to develop extensions to SQLfast. [http://www.python.org/download/ [download page]] | **Python 2.7. Not required to execute SQLfast. Must be used to develop extensions to SQLfast. [http://www.python.org/download/ [download page]] | ||
**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. --> | **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. --> | ||
− | **<font color="blue"><b>Dictionary of SQLfast commands and parameters</b>, | + | **<font color="blue"><b>Dictionary of SQLfast commands and parameters</b>, 78 pages, PReCISE Research Center publication, draft version, August 27, 2019. [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Commands.pdf [full text]]</font> |
− | **Jean-Luc Hainaut. <u>SQLfast: Database processing made easy - | + | **Jean-Luc Hainaut. <u>SQLfast: Database processing made easy - Manual and Case studies</u>, Volumes 1 (SQLfast manual) and 2 (Case studies), 900 pages. These chapters are continuously updated, so that it is recommended to check them regularly to get their last versions. |
− | :Both volumes are described | + | :Both volumes are described below. |
<!-- | <!-- | ||
− | *'''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. | |
+ | |||
--> | --> | ||
<br> | <br> | ||
<!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> | <!-- ------------- Part I - INTRODUCTION TO DATABASE PROGRAMMING WITH SQLfast --------------- --> | ||
<!-- ---------------------------------------------------------------------------------------- --> | <!-- ---------------------------------------------------------------------------------------- --> | ||
− | :<big>''' | + | :<big>'''Part 1: SQLfast MANUAL - INTRODUCTION TO DATABASE PROGRAMMING'''</big> |
<center>[https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tutorial.pdf [get the full text here]]</center> | <center>[https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Tutorial.pdf [get the full text here]]</center> | ||
Ligne 213 : | Ligne 215 : | ||
<!-- ------------------------------------------------------------------------------------ --> | <!-- ------------------------------------------------------------------------------------ --> | ||
<br> | <br> | ||
− | :<big>''' | + | :<big>'''Part 2: PROBLEM SOLVING WITH DATABASES - CASE STUDIES'''</big> |
<br> | <br> | ||
Ligne 239 : | Ligne 241 : | ||
::''<b>Keywords</b>'': non-relational data model, key-value model, object model, NoSQL, schema-less database, multivalued property, composite property, document-oriented DBMS, MongoDB, CouchDB, Azure, Datastore Oracle, metadata, index, data migration, schema conversion | ::''<b>Keywords</b>'': non-relational data model, key-value model, object model, NoSQL, schema-less database, multivalued property, composite property, document-oriented DBMS, MongoDB, CouchDB, Azure, Datastore Oracle, metadata, index, data migration, schema conversion | ||
− | :*<b>Case 9. Temporal databases - Part 1</b>, draft version, <i> | + | :*<b>Case 9. Temporal databases - Part 1</b>, draft version, <i>August 27, 2019.</i> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case09-Temporal-DB(1).pdf [full text]] |
− | ::''<b>Objective</b>'': In this study we examine various ways to organize the data describing the evolution of a population of entities. The basic model consists in storing the successive states of each entity, completed by the time period during which the state was observable. We distinguish between the transaction time, that refers to the data modification time in the database and the valid time, referring to modification events of entities in the real world. This study particularly develops entity-based, attribute-based | + | ::''<b>Objective</b>'': In this study we examine various ways to organize the data describing the evolution of a population of entities. The basic model consists in storing the successive states of each entity, completed by the time period during which the state was observable. We distinguish between the transaction time, that refers to the data modification time in the database and the valid time, referring to modification events of entities in the real world. This study particularly develops entity-based, attribute-based, event-based and document-oriented temporal database models. In these models, data management is ensured by triggers that automate as far as possible entity creation, modification and deletion operations. |
− | ::The next study will be devoted to temporal database querying. | + | ::The next study will be devoted to temporal database querying and transformation. |
− | ::''<b>Keywords</b>'': temporal data type, temporal database, history, entity type, time point, time period, time interval, evolution, event, state, transaction time, valid | + | ::''<b>Keywords</b>'': temporal data type, temporal database, active databases, history, entity type, time point, time period, time interval, evolution, event, state, transaction time, valid time, bitemporal data, julian day, document-oriented model, JSON, trigger |
+ | |||
+ | :*<b>Case 10. Temporal databases - Part 2</b>, draft version, <i>August 27, 2019.</i> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case10-Temporal-DB(2).pdf [full text]] | ||
+ | ::''<b>Objective</b>'': In this second part of the study of temporal data, we examine the various ways to query and transform them. We first examine simple temporal and non temporal queries, providing themselves temporal and non temporal results. Then, we extend to the temporal dimension the main families of queries of standard, non temporal, SQL: projection (entity-based and generalized), inner join and outer join, aggregation (count, max, min, average, sum). We also describe the SQLfast temporal library ''LTemp'' that offers a series of operators intended to write concise and efficient temporal scripts. The various temporal data models described in part 1 are revisited in order to develop conversion algorithms from one model to each of the other ones. Finally, we address the problem of performance by comparing the various algorithms of the temporal operators. To get realistic execution time measures we apply these algorithms to larger temporal databases. The last section is devoted to a short description of the SQL:2011 standard, that introduces some (but not all) concepts of temporal databases. | ||
+ | ::''<b>Keywords</b>'': temporal relations, temporal query, temporal projection, coalescing, temporal inner join, temporal outer join, temporal aggregation, stable interval, temporal data model conversion, temporal operator performance, SQL:2011, ''LTemp'' library | ||
:*<b>Case 11. Kings of France - Part 1</b>, draft version, <i>September 10, 2017.</i> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case11-Kings-of-France(1).pdf [full text]] | :*<b>Case 11. Kings of France - Part 1</b>, draft version, <i>September 10, 2017.</i> [https://staff.info.unamur.be/dbm/Documents/Tutorials/SQLfast/SQLfast-Case11-Kings-of-France(1).pdf [full text]] |
<Retour à la page d'accueil / Back>
Sommaire |
Case studies in preparation