>BTW, SOME people will tell you about triggers and stored procedures, etc.... This is not REALLY SQL.
Were you implying that such things as foreign keys, transactions, and views belong in the above list also? If so, all I can say is ouch! What is or is not SQL can be argued (SQL89, SQL92, SQL99?) but all of that "stuff" is definitely part of the relational data model, of which SQL is just an
incomplete implementation.
If you want to face the serious facts about databases, spend some time here:
(A tip: C.J. Date, one of the contributors to this site, is also one of the guys who actually *discovered* the concept of the relational data model. He worked directly with the main dude; Codd)
I will start by saying that I have enjoyed using MySQL for some purposes, but you have to be careful to use the right tool for the job. Programming around certain deficiencies is fine if you are always the one dealing with a certain application. If your application becomes part of a larger project, with multiple people, look out! If your data is truly important to you, a true relational model is
critical, and MySQL does not offer that.
I agree that MySQL is often a good choice for the job, but still--a little restraint, please. I have used MySQL for years, and have even done some fairly complex web apps in it. But on a couple of these, I fairly quickly realized that MySQL was not going to do the job, especially when related foreign keys got corrupted, or when I had to use a proliferation of temporary tables to emulate views, or when I wanted to do such a simple thing as "DELETE table1.* FROM table1,table2 WHERE table1.id = table2.related_id" (not in MySQL).
For a web-based system that is mainly read-only, or for systems where the data is not strongly interdependent, MySQL can be great. It is definitely fast and easy to work with. But the above poster obviously has not dealt with PostgreSQL in quite awhile. The current version installs just as easy as you can imagine, especially if you just want to use the binary install for your platform.
While MySQL might "nip" at the heels of Oracle in a couple years (I doubt it) PostgreSQL is doing that now, with almost perfect SQL99 compliance.
Here's my take:
You want a quick and easy place to log page visits on your site? Use MySQL. Want to store the overall structure of your website in a database, and use PHP to output? Use MySQL. Want an online product list, etc... fine: use MySQL. You want to manage a multi-user web-based application with critical business data? Use PostgreSQL. Want to process online transactions where you separate people from their money? Use PostgreSQL. Fair enough. -------------------------------------------
"Calculus is just the meaningless manipulation of higher symbols"
-unknown F student