Re: Where do I start?

From: Joe Trubisz <trubisz_at_cs.sunysb.edu>
Date: Mon, 29 Jul 2002 12:15:05 -0400
Message-ID: <3D456A09.E3B495E8_at_cs.sunysb.edu>


Chad wrote:
>
> .

> I am having hard time starting. My gut tells me to install MySQL or
> PostGresQL and learn as I go. I am also told that Cold Fusion would
> be a great database to learn and it will be around for a long time. I
> am not sure which would be the right path for me to take for what I
> want to accomplish. I would like to build web based databases that
> have a nice pretty front end with a rock solid back end.
>
To learn advanced features of a database, then Postgres is superior to MySQL. This includes advanced transaction logic and SQL3 if you so desire. Learning however, is different from, "rock solid back ends". While it can be argued that Postgres/MySQL can do the job (and I'm not going to get into this argument), you'd be best to consider the more mainstream databases for that task (Oracle or Sybase for example). Your chances of seeing them in the real world is higher.

Cold Fusion is NOT a database. It's basically a front-end which accesses databases and integrates w/HTML. If you want to do yourself a favor, learn PHP instead. It's a good blend of HTML/Javascript/Perl and database access and is extremely portable. Much better than Cold Fusion, which I happen to like BTW.

> I guess my real question is where is the best place to start learning
> the foundations of databases. Should I learn C, C++? What
> tools/skills do I need to be a excellent database programmer?
>
1. Get Chris Date's book, Introduction to Database Systems and read it. 2. Learn transaction systems. Anyone who thinks that designing a database system is only about writing SQL is an idiot. The book by Bernstein, Lewis and Kifer, Databases and Transaction Processing Systems: An Object-Oriented Approach is a good start. 3. Learn a mainstream database system, cold. Most database systems are so big, that to become an expert on more than one would be a fulltime job. Pick one and stay with it. Just reading the manuals can take a long time, and you haven't even tried to implement anything yet! 4. Learn C and Perl first. All vendors have a C-interface (IEEE standard) and once you learn it, you can use it anywhere. Learn Perl, with the DBI/DBD extensions. That can save you immense grief and you can do so much with it. If you're doing web work, then PHP or Java is a must.
5. Read, read, read...then apply with some toy system. Think of it like a piano...you can read all you want, but at some point in time, you have to play it.

Joe Trubisz
Dept. of Computer Science
SUNY Stony Brook
Stony Brook, NY 11794 Received on Mon Jul 29 2002 - 18:15:05 CEST

Original text of this message