bartering for knowledge not pigs
February 17, 2007 10:19 AM   Subscribe

Wheres the best place to learn things like how to migrate a messy pile of microsoft access databases to sql? Normally when learning new I use books, online sources and forums, and good old fashioned trial and error, but its a slow process for some of us. As its easier learning from someone with experience in the field. are there any sites that go some way to addressing this teacher / student system online, aside from the usual forum formats, i was thinking of some sort of bartering system, but for knowledge not pigs?
posted by ugrndhg to Computers & Internet (3 answers total) 2 users marked this as a favorite
I learned SQL through the W3 Schools tutorial. It shouldn't be too hard to do what you're describing in Visual Basic. Just set up two database connections - one of them through ODBC to your SQL database, and one of them through DAO or ADO. Then it's just a matter of using basic SQL to pull the contents of the Access database into a recordset, and then push that recordset into the other database connection using INSERT. I wrote a tuition management system for a high school that used this very same proceedure to allow for importation of a CSV file containing EFT transactions. It's surprisingly fast.
posted by fvox13 at 10:36 AM on February 17, 2007

I find that the problem most people face with learning about database products, is that they want to immediately plunge into playing with the products, rather than learning anything about database theory or information organization. So they do that, being "visual thinkers" or "experimental learners" and quickly find that discovering the principles and assumptions underlying effective database design don't fall out of unguided play so easily.

Databases of any type are highly structured ways of organizing information, whose utility depends entirely on the organization, not the information. Build a database wrong, and it will hide the information it contains, rather than expose it.

So I would caution you against looking for new learning methods for this area of endeavor, and point you towards a traditional study, via books and perhaps formal classes, where the principles of databases are taught. You'll begin with a study of flat files, move on to b-trees, perhaps, and then look into relational database systems and their design, using Structured Query Language. At that point, you learn some things about normalization and effective design, that will save you a lot of difficulty in any practical database you design. You may even, in advanced classes, study Object Oreinted Database Management Systems (OODBMS), which I found to be interesting, if not particularly broadly applicable.

The reason I suggest this, is that databases knowledge is one field where the utility of the corpus is difficult, even dangerous, to piecemeal. People that know a little bit about databases generally make bad databases, worse queries, and get very frustrated when they find they can trust neither their data, or their own questions over it. Yet the corpus of knowledge about databases has been developing for the last 45 years, generally organized very tidily into good books, and many good classes. MIT Opencourseware is a great free introduction to the topics.
posted by paulsc at 10:59 AM on February 17, 2007

MDB Tools is not exactly the answer you're looking for (where to learn), but proved ideal when I converted an access db to mysql a few weeks ago. It will extract data from an access file (as a series of CSV files) and build the sql create statements you'll need to make the tables in MySQL. Worth a look.
posted by roue at 1:36 PM on February 17, 2007

« Older Torture in the media?   |   How did Disney dis the Pooh? Newer »
This thread is closed to new comments.