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 |