<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Larry Ullman&#039;s Blog &#187; database</title>
	<atom:link href="http://blog.dmcinsights.com/tag/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dmcinsights.com</link>
	<description>flotsam and jetsam abounds</description>
	<lastBuildDate>Tue, 27 Jul 2010 16:27:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Designing Databases</title>
		<link>http://blog.dmcinsights.com/2009/12/03/designing-databases/</link>
		<comments>http://blog.dmcinsights.com/2009/12/03/designing-databases/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:18:37 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[normalization]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=144</guid>
		<description><![CDATA[A few months back I came across a resource for designing databases (it was posted in a MySQL discussion list). Database Answers has tons of sample designs (a.k.a., models) for various situations. What the site lacks in attractive design in more than makes up for in its usefulness. There are hundreds of designs for you [...]]]></description>
			<content:encoded><![CDATA[<p>A few months back I came across a resource for designing databases (it was posted in a MySQL discussion list). <a href="http://www.databaseanswers.org/data_models/">Database Answers</a> has tons of sample designs (a.k.a., models) for various situations. What the site lacks in attractive design in more than makes up for in its usefulness. There are hundreds of designs for you to consider, covering everything from &#8220;dog whisperer&#8221; to event reservations to online banking. Definitely worth looking at when you&#8217;re thinking about the database scheme for your next project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/12/03/designing-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Offshoot: MariaDB</title>
		<link>http://blog.dmcinsights.com/2009/05/05/mysql-offshoot-mariadb/</link>
		<comments>http://blog.dmcinsights.com/2009/05/05/mysql-offshoot-mariadb/#comments</comments>
		<pubDate>Tue, 05 May 2009 18:15:32 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mariadb]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=390</guid>
		<description><![CDATA[In 2008, Sun purchased MySQL for a reported $1 billion (US) and Sun has since been purchased by Oracle. Monty Widenius, the original creator of MySQL, has since left Sun, apparently over philosophical differences. In particular there seems to be a difference of opinion when it comes to the appropriateness of the 5.1 release of [...]]]></description>
			<content:encoded><![CDATA[<p>In 2008, Sun purchased MySQL for a reported $1 billion (US) and Sun has since been purchased by Oracle. Monty Widenius, the original creator of MySQL, has since left Sun, apparently over philosophical differences. In particular there seems to be a difference of opinion when it comes to the appropriateness of the 5.1 release of MySQL (i.e., was it too buggy for public release). Widenius is now working on <a href="http://askmonty.org/wiki/index.php/MariaDB">MariaDB</a>, an offshoot of MySQL that uses the <a href="http://askmonty.org/wiki/index.php/Maria">Maria storage engine</a> (aka table type) by default. This is definitely a project to keep an eye on, as MySQL users will logically move to MariaDB if they do find MySQL to be increasingly unstable or they just disagree with how Sun/Oracle is managing the product. As with many things, the popularity of MariaDB will partially depend upon the adoption rates by hosting companies. Or, for those that do stick with MySQL, version 6 will include support for the Maria storage engine. <a href="http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL">See this page for more on MariaDB compared with MySQL</a>.</p>
<p>The intention behind MariaDB is to release free and stable, but very similar, alternative to MySQL. The Maria storage engine is a crash-safe version of the MyISAM table type but Maria still doesn&#8217;t use transactions (like InnoDB). Version 1.5 of MariaDB is now in beta, with the focus on stability. Version 2 of Maria should include transactions and ACID compliance. Version 2.5 is where the developes intend to really focus on performance. This may seem a little backwards, but it&#8217;s much easier to retroactively improve software performance than it is its quality.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/05/05/mysql-offshoot-mariadb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using an Encrypted Local Database in Adobe AIR</title>
		<link>http://blog.dmcinsights.com/2009/04/07/using-an-encrypted-local-database-in-adobe-air/</link>
		<comments>http://blog.dmcinsights.com/2009/04/07/using-an-encrypted-local-database-in-adobe-air/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 03:00:46 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=383</guid>
		<description><![CDATA[An article I wrote for Peachpit Press titled Using an Encrypted Local Database in Adobe AIR was just published at Peachpit&#8217;s Web site. In this article I discuss and demonstrate a feature added to Adobe AIR in version 1.5. This addition allows you to securely store data in a database on the client&#8217;s computer (previous [...]]]></description>
			<content:encoded><![CDATA[<p>An article I wrote for <a href="http://www.peachpit.com">Peachpit Press</a> titled <em>Using an Encrypted Local Database in Adobe AIR</em> was just <a href="http://www.peachpit.com/articles/article.aspx?p=1330176">published at Peachpit&#8217;s Web site</a>. In this article I discuss and demonstrate a feature added to Adobe AIR in version 1.5. This addition allows you to securely store data in a database on the client&#8217;s computer (previous versions of AIR supported both databases and encrypted local storage, but not encrypted local databases).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/04/07/using-an-encrypted-local-database-in-adobe-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JetProfiler for MySQL</title>
		<link>http://blog.dmcinsights.com/2009/03/22/jetprofiler-for-mysql/</link>
		<comments>http://blog.dmcinsights.com/2009/03/22/jetprofiler-for-mysql/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 18:47:33 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=354</guid>
		<description><![CDATA[I&#8217;ve just recently come across a piece of software called Jet Profiler for MySQL. This is a program that runs on Mac OS X, Linux, and Windows (it&#8217;s runs on Java), and comes in both a free and commercial version. Jet Profiler for MySQL is a diagnostic tool, used to analyze and report upon your [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just recently come across a piece of software called <a href="http://www.jetprofiler.com/">Jet Profiler for MySQL</a>. This is a program that runs on Mac OS X, Linux, and Windows (it&#8217;s runs on Java), and comes in both a free and commercial version. Jet Profiler for MySQL is a diagnostic tool, used to analyze and report upon your database&#8217;s performance, specifically in terms of the queries run, the tables used, and the MySQL users. It also has more advanced capabilities, like reporting upon master/slave relationships, locking, threads, and so forth. One particularly interesting feature is that it doesn&#8217;t require any special server configuration; in fact, it doesn&#8217;t even need to be installed on the server. You can install the application on your desktop computer, create a new MySQL user on the server, and the software will connect through it. Software like this is another good way to better understand your database and your Web application.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/03/22/jetprofiler-for-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recreating MySQL Databases</title>
		<link>http://blog.dmcinsights.com/2009/01/31/recreating-mysql-databases/</link>
		<comments>http://blog.dmcinsights.com/2009/01/31/recreating-mysql-databases/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 21:29:56 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=121</guid>
		<description><![CDATA[One of the more common MySQL-related questions I get is how to transfer a database from one computer to another, or just how to recreate one in general. There are command-line tools that come with the MySQL server expressly for this purpose (mysqldump and mysqlimport). However, most people prefer to avoid using command-line tools, if [...]]]></description>
			<content:encoded><![CDATA[<p>One of the more common MySQL-related questions I get is how to transfer a database from one computer to another, or just how to recreate one in general. There are command-line tools that come with the MySQL server expressly for this purpose (<strong>mysqldump</strong> and <strong>mysqlimport</strong>). However, most people prefer to avoid using command-line tools, if they can. You can also use the <a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">GUI MySQL Administrator</a>. This application has Backup and Restore options. (I write about the MySQL Administrator in my <a href="http://www.amazon.com/gp/product/0321375734?ie=UTF8&amp;tag=dmcinsiinc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321375734">MySQL, Second Edition (Visual QuickStart Guide)</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=dmcinsiinc-20&amp;l=as2&amp;o=1&amp;a=0321375734" border="0" alt="" width="1" height="1" /> book.) That&#8217;s a fine application, but you may not be able to run a GUI tool on the destination server (e.g., a hosted Web site). What I almost always use is <a href="http://www.phpmyadmin.net">phpMyAdmin</a>. This Web-based PHP interface to MySQL is installed on pretty much every hosted server and you can quickly install it on your own computer as well. Here&#8217;s how you would use it&#8230;<span id="more-121"></span>Start by installing phpMyAdmin on the computer that has the original database (the one being transferred or recreated). Load the URL of that phpMyAdmin install in a Web browser. For your own computer, you may just be going to <strong>http://localhost/phpMyAdmin</strong> or whatever. Then select the database from the left-hand column, if multiple databases are presented to you. Then click on the Export link or the Export tab, depending upon what&#8217;s presented to you. On the following page, this is what I normally do:</p>
<ul>
<li>Click <em>Select All</em> under Export to backup every table.</li>
<li>Check <em>Add DROP TABLE</em> under SQL options &gt; Structure so that the recreation of the database wipes out the existing database (note that you may not always want to do this).</li>
<li>Check either <em>zipped</em> or <em>gzipped</em> under Save as file. This will automatically check the Save as file box for you.</li>
</ul>
<p><a href="http://blog.dmcinsights.com/wp-content/uploads/2009/01/picture-1.png"><img class="alignright" style="border: 0pt none; margin: 2px;" title="phpMyAdmin Export" src="http://blog.dmcinsights.com/wp-content/uploads/2009/01/picture-1-300x277.png" alt="phpMyAdmin Export" width="300" height="277" /></a>Once you&#8217;ve done this, click on <em>Go</em>. You&#8217;ll then be prompted to save the downloaded file to your computer, as you would any file downloaded through a browser. The result is a text file of the SQL commands used to recreate the entire database, from creating the tables to populating them. If you checked a compression type, it&#8217;ll be a compressed text file. You can now use this file as a saved backup of your database, edit the commands if needed, or remake the database from it. To do that&#8230;</p>
<p>Load the version of phpMyAdmin that&#8217;s running on the destination server, for example <strong>http://www.example.com/phpMyAdmin</strong>. This really must be running behind a restricted area (i.e., requiring authentication to access it), preferably over a secure connection. Then click on the Import link or tab, depending upon what options are presented. Then click the Browse button to select the database backup file (the one already created, now stored on your computer). Then click <em>Go</em>. That&#8217;s all there is to it!</p>
<p><a href="http://blog.dmcinsights.com/wp-content/uploads/2009/01/picture-3.png"><img class="size-medium wp-image-234 alignleft" style="border: 0pt none; margin: 2px;" title="phpMyAdmin Import" src="http://blog.dmcinsights.com/wp-content/uploads/2009/01/picture-3-300x170.png" alt="phpMyAdmin Import" width="300" height="170" /></a>This works for me without fail probably 95% of the time. The biggest issue I run across is that the upload limit in the Import tab is 2MB. For large databases, like my forum, one text file—even compressed—is way too large. In such situations, I open up the SQL text file in a text editor, then copy and paste the commands into separate files until they are all under 2MB when compressed. At that point, it&#8217;s just a matter of doing multiple imports, one for each file.</p>
<p>As I said, I get asked about this a lot, but it&#8217;s really quite simple, thanks to phpMyAdmin. Let me know what questions or comments you may have!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/01/31/recreating-mysql-databases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Forthcoming E-Commerce Book</title>
		<link>http://blog.dmcinsights.com/2009/01/29/my-forthcoming-e-commerce-book/</link>
		<comments>http://blog.dmcinsights.com/2009/01/29/my-forthcoming-e-commerce-book/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 20:11:06 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=222</guid>
		<description><![CDATA[Later this year I&#8217;m going to write an e-commerce with PHP and MySQL book for Peachpit Press. This is a topic that&#8217;s often been requested by my readers and one I&#8217;m happy to finally address. I have written e-commerce chapters in my PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide and [...]]]></description>
			<content:encoded><![CDATA[<p>Later this year I&#8217;m going to write an e-commerce with PHP and MySQL book for <a href="http://www.peachpit.com">Peachpit Press</a>. This is a topic that&#8217;s often been requested by my readers and one I&#8217;m happy to finally address. I have written e-commerce chapters in my <a href="http://www.amazon.com/gp/product/032152599X?ie=UTF8&amp;tag=dmcinsiinc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=032152599X">PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=dmcinsiinc-20&amp;l=as2&amp;o=1&amp;a=032152599X" border="0" alt="" width="1" height="1" /> and <a href="http://www.amazon.com/gp/product/0321376013?ie=UTF8&amp;tag=dmcinsiinc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321376013">PHP 5 Advanced: Visual QuickPro Guide</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=dmcinsiinc-20&amp;l=as2&amp;o=1&amp;a=0321376013" border="0" alt="" width="1" height="1" /> books, but not to this extent. Specifically, those examples were <strong>unable</strong> to demonstrate the payment gateway system, as that&#8217;s so particular to each individual situation. This new book, whose title is still being determined, will cover everything you need to know to create an e-commerce site using PHP and MySQL. I&#8217;m going to describe my intentions for the book here, then ask for any questions, comments, and suggestions that you, the potential reader, may have.</p>
<p><strong>UPDATE: I&#8217;ve just posted the <a href="http://blog.dmcinsights.com/2010/06/17/my-forthcoming-e-commerce-book-rough-table-of-contents/">rough table of contents</a>. My apologies for the delay on this and my sincerest thanks to those interested in the book!</strong></p>
<p><span id="more-222"></span>First of all, to be absolutely clear, the book will not <em>teach</em> PHP and MySQL, or HTML and CSS. The book will have to assume knowledge of those, making this entire book much more of an application of the technologies kind of guide (like the example chapters in my PHP and MySQL books). However, most readers will likely still learn some aspects of PHP, MySQL, HTML, and CSS that they didn&#8217;t know before. Also, this book will not be in Peachpit&#8217;s QuickStart or QuickPro series, in which specific topics are introduced, discussed, then demonstrated in step-by-step format. This book will be in New Riders&#8217; Voices That Matter series (New Riders is a sibling publisher to Peachpit). That format does away with the steps and redundancy of showing the code in both step-by-step and entire script formats. This series will allow me to go into more detail on the why&#8217;s of the code, as well as include more, and prettier, images.</p>
<p>My hope, depending upon space constraints, is to use two separate examples in order to best describe every step of the way. One example would be content that&#8217;s delivered immediately and online. This could be PDFs or just subscriptions/access to content. The other example would be content that&#8217;s physical and shipped at a later point. The differences between the two are significant because:</p>
<ol>
<li>You cannot actually charge a user until the item they purchase ships.</li>
<li>When that&#8217;s the case, additional administrative pages are required to indicate that the order has shipped.</li>
</ol>
<p>So the online content example would use an immediate payment system and delivery of the content. The physical product example would place a hold on the user&#8217;s card, to be charged when the order ships.</p>
<p>The online content would also have a simpler database design; the physical products would be require a more complex design.</p>
<p>I also plan on using two different payment gateways, so you can get a sense of how different gateways work. One would be the popular PayPal, the second is yet to be determined.</p>
<p>My intention is to use only procedural programming, which will be accessible to the largest body of readers. The only exception would be if I decide to use a framework, like the <a href="http://framework.zend.com">Zend Framework</a>, for one of the examples. If I do go that route, basic OOP would have to be used, although it should still be understandable by most readers.</p>
<p>Of course, being e-commerce, security will be discussed often, at length, and in detail. This includes everything from hosting issues to HTTPs connections to storing data.</p>
<p>I would hope to implement search functionality. As for other features, like customers being able to review items, make purchases without registering, etc., will probably have to be briefly discussed instead of demonstrating. Again, what I&#8217;m trying to accomplish is coverage of the most important information from a couple of view points.</p>
<p>So, what do you think? What would you like to see or not see? Any question and comment is welcome and much appreciated, just be aware that I need to approve comments before they appear, for security and integrity reasons. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/01/29/my-forthcoming-e-commerce-book/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench</title>
		<link>http://blog.dmcinsights.com/2009/01/20/mysql-workbench/</link>
		<comments>http://blog.dmcinsights.com/2009/01/20/mysql-workbench/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 17:24:49 +0000</pubDate>
		<dc:creator>Larry</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://blog.dmcinsights.com/?p=189</guid>
		<description><![CDATA[I haven&#8217;t formally written about MySQL Workbench in any of my books (I don&#8217;t think), but wanted to give it a quick mention here. MySQL Workbench is a visual database design application (an entity-relation/modeling tool) for creating and managing database schemas. It runs on many operating systems and is being released in both free and [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t formally written about <a href="http://dev.mysql.com/workbench/">MySQL Workbench</a> in any of my books (I don&#8217;t think), but wanted to give it a quick mention here. MySQL Workbench is a visual database design application (an entity-relation/modeling tool) for creating and managing database schemas. It runs on many operating systems and is being released in <a href="http://dev.mysql.com/workbench/?page_id=11">both free and commercial versions</a>.</p>
<p>If you haven&#8217;t used a visual database design tool before, you&#8217;ll need to spend some time <a href="http://forge.mysql.com/wiki/MySQL_Workbench">reading up on it</a>. The application can be used to design and then create new databases or create documentation for existing ones. This kind of software is especially useful if you:</p>
<ul>
<li>prefer visual design tools</li>
<li>may need to create databases on one server, then recreate them on another</li>
<li>want to package along an excellent resource when turning a site over to a client</li>
</ul>
<p>MySQL Workbench is currently in an alpha release. That means not all of its features are quite there yet and the documentation will need to be much improved (some of the links on MySQL&#8217;s pages seem to be inconsistent). But if you have some spare time, you may want to play with this now. If you don&#8217;t have the time, or prefer more developed software, keep the MySQL Workbench in mind for later in the year.</p>
<p>On MySQL&#8217;s Web site, you can find links to <a href="http://dev.mysql.com/downloads/workbench/5.1.html">download the software for Windows and Linux</a>. An alpha version for Mac OS X was released just before Christmas. I didn&#8217;t find any obvious links to it on the MySQL Web site, but did find them <a href="http://dev.mysql.com/workbench/?p=182">at this post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dmcinsights.com/2009/01/20/mysql-workbench/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
