<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://dikini.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>dikini.net - sql</title>
 <link>http://dikini.net/taxonomy/term/106/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>First sketches</title>
 <link>http://dikini.net/first_sketches</link>
 <description>&lt;p&gt;Ok, Let&#039;s recap:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Relational database (SQL) tables are records. We can view them (in our heads) as record type definitions.&lt;/li&gt;
&lt;li&gt;JOINS define (some kind of) derived union types.&lt;/li&gt;
&lt;li&gt;SQL CROSS JOINS are full cartesian products, i.e. union types where no name folding/aliasing is done by the imaginary type system&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;How can we model that in php?&lt;/h3&gt;
&lt;p&gt;Classes (and objects) are records. Arrays are records too. Both are candidates for doing the job. We need to be able to somehow represent this (meta) type information and manipulate it. The aim is to have a &lt;strong&gt;natural&lt;/strong&gt; feeling/looking abstraction of the database in php. It should be flexible enough, for us to modify the relations at runtime, as we need. It should allow us in the long run to have a near optimal speed and not too much complications in the end code. That is a tough cookie.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dikini.net/first_sketches&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://dikini.net/first_sketches#comment</comments>
 <category domain="http://dikini.net/tags/php">php</category>
 <category domain="http://dikini.net/tags/programming">programming</category>
 <category domain="http://dikini.net/tags/sql">sql</category>
 <pubDate>Fri, 27 Oct 2006 10:57:32 -0400</pubDate>
 <dc:creator>vlado</dc:creator>
 <guid isPermaLink="false">229 at http://dikini.net</guid>
</item>
<item>
 <title>SQL whining time</title>
 <link>http://dikini.net/03.05.2006/sql_whining_time</link>
 <description>&lt;p&gt;I must admit, I&#039;m doing it too. But why oh why, people thing that they must use an sql server, when writing a web application framework. It is beyond me.&lt;/p&gt;
&lt;p&gt;Some will say, &quot;Well my/pg/ms/any sql server is fast, it it there, it is ubiquous, flexible and everyone is doing itr, so you can find books about it.&lt;/p&gt;
&lt;p&gt;Let&#039;s tackle these pros one by one in our context. &lt;/p&gt;
&lt;h3&gt;Fast&lt;/h3&gt;
&lt;p&gt;Indeed, it can be. SQL server software is usually designed to work with vast amounts of data, stored on some secondary storage. &lt;em&gt;Relational&lt;/em&gt; data can be organised, searched, extracted fast. Sure. But. There is always one. A web application framework doesn&#039;t know the exact nature/model of the data. It usually builds a palette of primitive types, then does some magic to join those types per application type. You&#039;ll find object-relational mappings, sql synthesis algorithms, others, whend dealing with this problem.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dikini.net/03.05.2006/sql_whining_time&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://dikini.net/03.05.2006/sql_whining_time#comment</comments>
 <category domain="http://dikini.net/tags/programmable_web">programmable web</category>
 <category domain="http://dikini.net/tags/programming">programming</category>
 <category domain="http://dikini.net/tags/sql">sql</category>
 <pubDate>Wed, 03 May 2006 03:50:37 -0400</pubDate>
 <dc:creator>vlado</dc:creator>
 <guid isPermaLink="false">154 at http://dikini.net</guid>
</item>
<item>
 <title>Relations and their domain structures</title>
 <link>http://dikini.net/29.10.2005/relations_and_their_domain_structures</link>
 <description>&lt;p&gt;In this scribble I&#039;ll discuss an implementation of different topological structures, which can be used for indexing different &quot;relation systems&quot;, for example trees for menus, book structures, etc... graphs for caching links between pages.&lt;/p&gt;
&lt;p&gt;We can split the problem into two main subproblems. First, navigation and queries withing a single relation domain. For example local table of contents for a section in a book. Second is higher order or inter-domain queries. For example: given a node, determine the all related nodes, ordering them by their distance from the node, based on taxonomy, their position in a book(s), and their position in the site&#039;s &quot;link web&quot;. We should be able to implement second and hier order based queries, based on the results of these two basic problems.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dikini.net/29.10.2005/relations_and_their_domain_structures&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://dikini.net/29.10.2005/relations_and_their_domain_structures#comment</comments>
 <category domain="http://dikini.net/tags/articles">articles</category>
 <category domain="http://dikini.net/tags/code">code</category>
 <category domain="http://dikini.net/tags/drupal">drupal</category>
 <category domain="http://dikini.net/tags/programming">programming</category>
 <category domain="http://dikini.net/tags/relations">relations</category>
 <category domain="http://dikini.net/tags/scribbles">scribbles</category>
 <category domain="http://dikini.net/tags/sql">sql</category>
 <category domain="http://dikini.net/tags/theory">theory</category>
 <pubDate>Sat, 29 Oct 2005 12:53:56 -0400</pubDate>
 <dc:creator>vlado</dc:creator>
 <guid isPermaLink="false">55 at http://dikini.net</guid>
</item>
</channel>
</rss>
