| 1 | == SQL Database Programming == |
| 2 | === Design Principles === |
| 3 | * http://it.toolbox.com/blogs/database-soup/wrecking-your-database-33298 |
| 4 | * https://www.percona.com/blog/2009/03/01/kiss-kiss-kiss/ |
| 5 | * Book: https://pragprog.com/book/bksqla/sql-antipatterns |
| 6 | * //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] |
| 7 | * Review [http://shop.oreilly.com/product/9781934356555.do O'Reilly] |
| 8 | * //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] |
| 9 | === Tree or Hierarchical Data === |
| 10 | * nested-set, closure-table and materialized-path. |
| 11 | * //Tree_(data_structure)// [https://en.wikipedia.org/wiki/Tree_(data_structure) Wikipedia] |
| 12 | * 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)] |
| 13 | * //SQL - How to store and navigate hierarchies?// [https://stackoverflow.com/questions/38801/sql-how-to-store-and-navigate-hierarchies stackoverflow] |
| 14 | * //How to represent a data tree in SQL?// [https://stackoverflow.com/questions/2175882/how-to-represent-a-data-tree-in-sql stackoverflow] |
| 15 | * //Models for hierarchical data// [http://www.slideshare.net/billkarwin/models-for-hierarchical-data SlideShare] |
| 16 | * //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) |
| 17 | * //Closure Table – Store Hierarchical Data Seamlessly | PostgreSQL// [http://technobytz.com/closure_table_store_hierarchical_data.html technobytz] (short HOWTO) |
| 18 | * //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] |
| 19 | * //Storing hierarchical data: Materialized Path// [https://bojanz.wordpress.com/2014/04/25/storing-hierarchical-data-materialized-path/ Blog] |
| 20 | === Blobs for documents === |
| 21 | * FAQ: http://stackoverflow.com/questions/211895/storing-documents-as-blobs-in-a-database-any-disadvantages |
| 22 | === Serialized Objects === |
| 23 | * https://www.percona.com/blog/2010/01/21/when-should-you-store-serialized-objects-in-the-database |
| 24 | == SQL == |
| 25 | * https://en.wikibooks.org/wiki/Structured_Query_Language/Introduction_to_SQL |
| 26 | * https://en.wikipedia.org/wiki/SQL |
| 27 | ==== Views ==== |
| 28 | * http://www.postgresql.org/docs/current/static/sql-createview.html |
| 29 | * http://www.doctrine-project.org/2009/06/19/using-views-with-doctrine.html (is it always valid?) |
| 30 | * http://www.postgresql.org/docs/current/static/rules-materializedviews.html |
| 31 | ==== sql procedural language ==== |
| 32 | * https://en.wikipedia.org/wiki/SQL#Procedural_extensions |
| 33 | * https://en.wikipedia.org/wiki/SQL/PSM |
| 34 | * https://en.wikipedia.org/wiki/Stored_procedure |
| 35 | ==== Supported features ==== |
| 36 | ===== Data Types ===== |
| 37 | ====== json ====== |
| 38 | * SQLite https://www.sqlite.org/json1.html |
| 39 | ====== XML ====== |
| 40 | * Seems not yet to be in Firebird |
| 41 | === Embedded Database Programming === |
| 42 | * https://en.wikipedia.org/wiki/Embedded_database |
| 43 | * QDBM, BDB, http://php.net/manual/en/function.dba-handlers.php |
| 44 | * [DebianPackage:php-tokyo-tyrant] |
| 45 | * [DebianPackage:php7.0-interbase] (php driver does not include embeded version of interbase) [DebianPackage:libfbembed2.5] |
| 46 | * https://wiki.documentfoundation.org/Development/Base/FirebirdSQL |
| 47 | * https://en.wikipedia.org/wiki/InterBase |
| 48 | * https://en.wikipedia.org/wiki/Firebird_%28database_server%29 |
| 49 | * http://www.haildb.com/ |
| 50 | * [DebianPackage:php5-midgard2] |
| 51 | === sqlite === |
| 52 | * [https://www.sqlite.org/omitted.html SQL Features That SQLite Does Not Implement] |
| 53 | * https://www.sqlite.org/json1.html |
| 54 | * https://www.sqlite.org/fts5.html |
| 55 | * [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 |
| 56 | === HSQLDB (Hyper SQL Database) === |
| 57 | * https://en.wikipedia.org/wiki/HSQLDB |
| 58 | === Postgres === |
| 59 | * https://wiki.debian.org/PostgreSql |
| 60 | * http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf |
| 61 | * http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.8073&rep=rep1&type=pdf |
| 62 | * https://dl.acm.org/citation.cfm?id=2834495 |
| 63 | ==== Performance ==== |
| 64 | * http://fr.slideshare.net/pgconf/five-steps-perform2009 |
| 65 | ==== Timing ==== |
| 66 | * [http://www.postgresql.org/message-id/4D9EABDD.1060102@limsi.fr Re: What does \timing measure?] |
| 67 | * http://www.postgresql.org/docs/9.4/static/runtime-config-statistics.html |
| 68 | * http://stackoverflow.com/questions/17653884/postgres-query-execution-time |
| 69 | * http://stackoverflow.com/questions/9063402/get-execution-time-of-postgresql-query |
| 70 | ==== Procedural Language ==== |
| 71 | * https://wiki.postgresql.org/wiki/PL_Matrix |
| 72 | * PL/pgSQL |
| 73 | * Included in postgresql~ basic Debian Package |
| 74 | * http://www.postgresql.org/docs/9.3/static/plpgsql.html |
| 75 | * https://en.wikipedia.org/wiki/PL/pgSQL |
| 76 | * http://postgres.cz/wiki/PL/pgSQL_(en) |
| 77 | * [DebianPackage:postgresql-plpython-9.4] more stable and more popular that PL/Lua |
| 78 | * [DebianPackage:postgresql-plpython3-9.4] |
| 79 | * [DebianPackage:postgresql-9.4-pllua] https://github.com/pllua/pllua http://wiki.alpinelinux.org/wiki/Pllua |
| 80 | * [DebianPackage:postgresql-pltcl-9.4] |
| 81 | * [DebianPackage:postgresql-9.4-plsh] |
| 82 | ==== General information and Feature Lists ==== |
| 83 | * [https://www.safaribooksonline.com/library/view/postgresql-up-and/9781449373184/ch01.html PostgreSQL: Up and Running] |
| 84 | * [https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases Advertisement by a provider] |
| 85 | ===== Release Notes and Documentation ===== |
| 86 | * [http://www.postgresql.org/about/news/1415/ PostgreSQL 9.2 released] |
| 87 | === MySQL === |
| 88 | * https://en.wikipedia.org/wiki/MySQL |
| 89 | ==== Stored Procedure ==== |
| 90 | * MySQL stored procedure programming |
| 91 | * http://www.worldcat.org/oclc/70161318 |
| 92 | * http://www.worldcat.org/oclc/850445083 |
| 93 | * MySQL Cookbook |
| 94 | * http://www.worldcat.org/oclc/76905222 |
| 95 | === Firebird === |
| 96 | * https://wiki.documentfoundation.org/Development/Base/FirebirdSQL |
| 97 | * http://stackoverflow.com/questions/1635273/postgres-vs-firebird |