DatabasesMost applications boil down to one thing: data. Where to store that data is the big question. While XML is becoming more widely accepted, most applications still use a relational database. Large companies invest a lot of time and money into enterprise-level database systems. Despite the large price tags that accompany such database products, more expensive does not always mean better. The Open Source community (and ironically some proprietary companies) have released free database systems that can be used for small and large systems alike. MSDEMicrosoft released a version of its expensive SQL Server product called Microsoft Desktop Engine (MSDE); see http://www.microsoft.com/sql/msde/default.asp. MSDE is limited compared to SQL Server in three ways. First, MSDE only allows databases of a size less than 2GB. Second, only 10 concurrent connections are allowed in MSDE. Finally, Microsoft removed the nice administrative and development tools from the MSDE distribution. However, MSDE does integrate very well with Web Matrix's tools. Many companies design product lines based on MSDE with the ability to upgrade the customer to a full version of SQL Server on down the line. Several Open Source administration tools have surfaced for MSDE. SQLBuddy (http://sqlbuddy.sourceforge.net) is a very similar tool to Query Analyzer and is much more useable (see Figure 3-11) than the OSQL command-line tool shipped with MSDE. Figure 3-11. SQLBuddy Administration Tool.[View full size image] ![]() Figure 3-12. ASP Enterprise Manager Tool.[View full size image] ![]() MySQLMySQL (http://www.mysql.com) is an Open Source database that is widely accepted and well supported. MySQL has possibly seen more runtime than any other Open Source database. According to the license (http://www.mysql.com/products/licensingl), MySQL is great if the product you are developing is also Open Source. To quote their Web site:This is our licensing policy in brief: Our software is 100% GPL, and if yours is also 100% GPL (or OSI compliant), then you never have to pay us for the licences. In all other instances, you are better served by our commercial licence. Read the details below!This is the way the GPL license works. This is one of the reasons that the GNU organization created the LGPL license to allow reuse in a more commercial-friendly way. There are a few projects such as (http://sourceforge.net/projects/mysqlnet) that have brought an ADO.NET-managed provider to MySQL. MySQL probably has more administrative tools and utilities than just about any other Open Source database. Figures 3-13 through 3-16 show just a few management tools with their screen shots. Figure 3-13. PHPMyAdmin http://www.phpmyadmin.net/.[View full size image] ![]() Figure 3-16. Java SQL Admin Tool http://freshmeat.net/projects/sql-admin.[View full size image] ![]() Figure 3-14. MySQL Navigator http://freshmeat.net/projects/mysqlnavigator/?topic_id=68.[View full size image] ![]() Figure 3-15. MySQL Control Center http://www.mysql.com/downloads/mysqlccl.[View full size image] ![]() PostgreSQLOne of the ways to choose an Open Source product is based upon the excitement the project creates. I cannot think of a more excited and motivated Open Source project than PostgreSQL (Chapter 10, "Database Development." PostgreSQL also has many administrative tools available. (See Figures 3-17 through 3-19.) Figure 3-17. pgAdmin II http://pgadmin.postgresql.org.[View full size image] ![]() Figure 3-19. XPg: PostgreSQL Java Admin Tool http://www.icewalkers.com/Linux/Software/516870/XPgl.[View full size image] ![]() Figure 3-18. PHPPgAdmin http://phppgadmin.sourceforge.net.[View full size image] ![]() |