{"id":12228,"date":"2017-01-26T17:45:42","date_gmt":"2017-01-26T16:45:42","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12228"},"modified":"2017-01-26T17:48:11","modified_gmt":"2017-01-26T16:48:11","slug":"tinydb-micro-database-nosql-in-python","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/tinydb-micro-database-nosql-in-python\/","title":{"rendered":"TinyDB, micro database NoSQL in Python"},"content":{"rendered":"<p><a href=\"http:\/\/tinydb.readthedocs.io\/en\/latest\/\" target=\"_blank\">TinyDB<\/a>\u00a0\u00e8 un database di piccole dimensioni, orientato ai documenti e sviluppato in Python.\u00a0Pu\u00f2 essere installato tramite il seguente comando:<\/p>\n<pre class=\"lang:sh decode:true \">$ pip install tinydb<\/pre>\n<p>e la sua integrazione avviene come di consueto con pochissime istruzioni Python:<\/p>\n<pre class=\"lang:python decode:true\">&gt;&gt;&gt; from tinydb import TinyDB, Query\r\n&gt;&gt;&gt; database = TinyDB('mydatabase.db')<\/pre>\n<p>Stiamo parlando di un <strong>database NoSQL che permette di salvare velocemente oggetti tramite il formato JSON<\/strong>: ogni oggetto memorizzato\u00a0corrisponder\u00e0 ad un documento, paragonabile come funzione ad un record di un database relazionale.<\/p>\n<pre class=\"lang:objc decode:true \">&gt;&gt;&gt; database.insert({'nome': 'Paolo', 'cognome': 'Rossi', 'eta': 7})<\/pre>\n<p>mentre per prelevare tutti i dati inseriti sar\u00e0 sufficiente utilizzare un comando come il seguente:<\/p>\n<pre class=\"lang:objc decode:true\">&gt;&gt;&gt; database.all()<\/pre>\n<p>Come questo esistono molti altri comandi da usare come <em>search<\/em>, <em>update<\/em>, <em>remove<\/em> che propongono le classiche funzionalit\u00e0 di un database: rispettivamente, ricerca, modifica e cancellazione.<\/p>\n<p>I vantaggi di un prodotto del genere sono indubbiamente la sua estensibilit\u00e0, l&#8217;orientamento agli oggetti e l&#8217;immediatezza d&#8217;uso. Ovviamente \u00e8 indicato per usi specifici in cui abbiamo bisogno di un mezzo semplice che fornisca persistenza senza grandi pretese: impossibile usarlo quando necessitiamo di funzionalit\u00e0 avanzate, indici, connessioni multiple.<\/p>\n<p>TinyDB \u00e8 di quelle idee semplici che permettono di avere grandi funzionalit\u00e0 con il minimo sforzo. Se siete programmatori Python mettetelo alla prova, poche righe di codice e scoprirete un vero e proprio gioiellino.<\/p>\n<p>Commentate e fateci sapere!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TinyDB\u00a0\u00e8 un database di piccole dimensioni, orientato ai documenti e sviluppato in Python.\u00a0Pu\u00f2 essere installato tramite il&#8230;<\/p>\n","protected":false},"author":561,"featured_media":12750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[1530,1529,1667,1862],"class_list":["post-12228","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","tag-database","tag-nosql","tag-python","tag-tinydb"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12228"}],"version-history":[{"count":3,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12228\/revisions"}],"predecessor-version":[{"id":12751,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12228\/revisions\/12751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/12750"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}