[[PageOutline]] == SQL Database Programming == === Design Principles === * http://it.toolbox.com/blogs/database-soup/wrecking-your-database-33298 * https://www.percona.com/blog/2009/03/01/kiss-kiss-kiss/ * Book: https://pragprog.com/book/bksqla/sql-antipatterns * //SQL antipatterns : avoiding the pitfalls of database programming// [http://www.worldcat.org/title/sql-antipatterns-avoiding-the-pitfalls-of-database-programming/oclc/886727368 WorldCat][https://pragprog.com/book/bksqla/sql-antipatterns The Pragmatic Bookshelf] * Review [http://shop.oreilly.com/product/9781934356555.do O'Reilly] * //SQL design patterns : the expert guide to SQL programming// [http://www.worldcat.org/title/sql-design-patterns-the-expert-guide-to-sql-programming/oclc/86074635 WorldCat] [http://www.rampant-books.com/book_0601_sql_coding_styles.htm Rampant] === Tree or Hierarchical Data === * nested-set, closure-table and materialized-path. * //Tree_(data_structure)// [https://en.wikipedia.org/wiki/Tree_(data_structure) Wikipedia] * Joe Celkos: //Trees and Hierarchies in SQL for Smarties// [http://www.worldcat.org/title/joe-celkos-trees-and-hierarchies-in-sql-for-smarties/oclc/795963625 WorldCat] [http://aleph.unisg.ch/hsgscan/hm00391779.pdf Table of Content (pdf)] * //SQL - How to store and navigate hierarchies?// [https://stackoverflow.com/questions/38801/sql-how-to-store-and-navigate-hierarchies stackoverflow] * //How to represent a data tree in SQL?// [https://stackoverflow.com/questions/2175882/how-to-represent-a-data-tree-in-sql stackoverflow] * //Models for hierarchical data// [http://www.slideshare.net/billkarwin/models-for-hierarchical-data SlideShare] * //How to represent a tree structure numerically in SQL Server// [https://yellowpencil.com/blog/how-to-represent-a-tree-structure-numerically-in-sql-server/ yellowpencil] (short HOWTO) * //Closure Table – Store Hierarchical Data Seamlessly | PostgreSQL// [http://technobytz.com/closure_table_store_hierarchical_data.html technobytz] (short HOWTO) * //What is the most efficient/elegant way to parse a flat table into a tree?// [https://stackoverflow.com/questions/192220/what-is-the-most-efficient-elegant-way-to-parse-a-flat-table-into-a-tree stackoverflow] * //Storing hierarchical data: Materialized Path// [https://bojanz.wordpress.com/2014/04/25/storing-hierarchical-data-materialized-path/ Blog] === Blobs for documents === * FAQ: http://stackoverflow.com/questions/211895/storing-documents-as-blobs-in-a-database-any-disadvantages === Serialized Objects === * https://www.percona.com/blog/2010/01/21/when-should-you-store-serialized-objects-in-the-database == SQL == * https://en.wikibooks.org/wiki/Structured_Query_Language/Introduction_to_SQL * https://en.wikipedia.org/wiki/SQL ==== Views ==== * http://www.postgresql.org/docs/current/static/sql-createview.html * http://www.doctrine-project.org/2009/06/19/using-views-with-doctrine.html (is it always valid?) * http://www.postgresql.org/docs/current/static/rules-materializedviews.html ==== sql procedural language ==== * https://en.wikipedia.org/wiki/SQL#Procedural_extensions * https://en.wikipedia.org/wiki/SQL/PSM * https://en.wikipedia.org/wiki/Stored_procedure ==== Supported features ==== ===== Data Types ===== ====== json ====== * SQLite https://www.sqlite.org/json1.html ====== XML ====== * Seems not yet to be in Firebird === Embedded Database Programming === * https://en.wikipedia.org/wiki/Embedded_database * QDBM, BDB, http://php.net/manual/en/function.dba-handlers.php * [DebianPackage:php-tokyo-tyrant]​ * [DebianPackage:php7.0-interbase] (php driver does not include embeded version of interbase) [DebianPackage:libfbembed2.5] * https://wiki.documentfoundation.org/Development/Base/FirebirdSQL * https://en.wikipedia.org/wiki/InterBase * https://en.wikipedia.org/wiki/Firebird_%28database_server%29 * http://www.haildb.com/ * [DebianPackage:php5-midgard2]​ === sqlite === * [https://www.sqlite.org/omitted.html SQL Features That SQLite Does Not Implement] * https://www.sqlite.org/json1.html * https://www.sqlite.org/fts5.html * [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816463 Please enable FTS5 support] https://tracker.debian.org/media/packages/s/sqlite3/rules-3.11.0-3 === HSQLDB (Hyper SQL Database) === * https://en.wikipedia.org/wiki/HSQLDB === Postgres === * https://wiki.debian.org/PostgreSql * http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf * http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.8073&rep=rep1&type=pdf * https://dl.acm.org/citation.cfm?id=2834495 ==== Performance ==== * http://fr.slideshare.net/pgconf/five-steps-perform2009 ==== Timing ==== * [http://www.postgresql.org/message-id/4D9EABDD.1060102@limsi.fr Re: What does \timing measure?] * http://www.postgresql.org/docs/9.4/static/runtime-config-statistics.html * http://stackoverflow.com/questions/17653884/postgres-query-execution-time * http://stackoverflow.com/questions/9063402/get-execution-time-of-postgresql-query ==== Procedural Language ==== * https://wiki.postgresql.org/wiki/PL_Matrix * PL/pgSQL * Included in postgresql~ basic Debian Package * http://www.postgresql.org/docs/9.3/static/plpgsql.html * https://en.wikipedia.org/wiki/PL/pgSQL * http://postgres.cz/wiki/PL/pgSQL_(en) * [DebianPackage:postgresql-plpython-9.4] more stable and more popular that PL/Lua * [DebianPackage:postgresql-plpython3-9.4] * [DebianPackage:postgresql-9.4-pllua] https://github.com/pllua/pllua http://wiki.alpinelinux.org/wiki/Pllua * [DebianPackage:postgresql-pltcl-9.4] * [DebianPackage:postgresql-9.4-plsh] ==== General information and Feature Lists ==== * [https://www.safaribooksonline.com/library/view/postgresql-up-and/9781449373184/ch01.html PostgreSQL: Up and Running] * [https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases Advertisement by a provider] ===== Release Notes and Documentation ===== * [http://www.postgresql.org/about/news/1415/ PostgreSQL 9.2 released] === MySQL === * https://en.wikipedia.org/wiki/MySQL ==== Stored Procedure ==== * MySQL stored procedure programming * http://www.worldcat.org/oclc/70161318 * http://www.worldcat.org/oclc/850445083 * MySQL Cookbook * http://www.worldcat.org/oclc/76905222 === Firebird === * https://wiki.documentfoundation.org/Development/Base/FirebirdSQL * http://stackoverflow.com/questions/1635273/postgres-vs-firebird