Search the web
Sign In
New User? Sign Up
afreelist_ai_group · Artificial Intelligence
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Click here for the latest updates on Groups Message search

Messages

  Messages Help
Advanced
Database Programming for AI (MySQL download)   Topic List   < Prev Topic  |  Next Topic >
Reply < Prev Message  | 

            Today I want to go over a quick review of my database model. I could patent the idea, but no longer care. We can’t take it with us when we go, so I may as well share it. The worst thing to hurt humanity is people keeping knowledge to themselves.

 

Ok, this was once a theory that I coded in BCX/C and proved. It takes the human readable database table, as we normally use them, and converts the table structure into a computer friendly format.

 

Example (Microsoft Excel control):

 

FirstName

LastName

Age

Phone1

Phone2

Email

 

 

 

 

 

 

John

Doe

14

111-222-3333

111-222-4444

johndoe@...

Jane

Doe

36

111-222-5555

111-222-7777

janed@...

 

 

 

 

 

 

 

 

If you have ever worked with databases then the above example (Excel 2002+ reader needed) looks like a simple and ordinary database table.

 

A database can contain anywhere from a single table (like the one shown above) to millions of tables. The table shown here has 6 columns and 2 records of information. This is a nice example of how easy it is for us humans to see, read, and understand how the data is organized.

 

The computer sees this example as shredded garbage. Well, not that bad, but it is not easy for the computer to read this information, keep track of it, manipulate it, or use it for that matter.

 

One solution is to convert the standard table format into a computer friendly format that the computer can juggle around like a circus juggler. The solution I came up with is to store EACH COLUMN as an individual table. If you know anything about databases your thinking this is absolutely, totally, and completely ridicules! Right?

 

Well it turns out that this method allows direct pointer access and less amount of storage space than a traditional database server uses, IF it could access the same amount of information as my method at the same speed- which it cannot. My method allows for instant data access to any field in the table, to search on any column threw the entire table, in a flash!

 

The way I code for this database scheme is nothing like anything I have ever heard of. The maintenance of the “computer friendly format” that I speak of here is un imaginable to humans. I actually had to write a CFF to CSV program just to be able to get a grip on where I was. The point is that for humans, what is available to you is fine, but for a computer you need to give it something it understands better.

 

I use MySQL 5.x for prototyping these days. You can use whichever database server you choose, but the code I release will be for MySQL specific. I learned many years ago that you have to write programs in sections and to start at the opposite end of where you really want to begin at. For me I will find the book I started writing a long time ago, review it and republish the database code in this Yahoo group. I will also revisit my MySQL interface functions and upload them here as well. There are many items you will need to download yourself from the internet due to licensing issues. They will normally be free for personal usage and sometimes non distributable. I will provide a list of items along with installation instructions in the near future.

 

For now, I suggest you be running Windows XP Professional, 1GB RAM (minimum), and plenty of hard drive space.

 

MySQL:            USE THIS LINK TO GET TO THE DOWNLOAD PAGE

http://dev.mysql.com/downloads/mysql/5.0.html

 

Scroll down a bit until you find the Windows 32/64 bit binaries:

----------------begin example---------------------------------------

Windows downloads (platform notes)

Windows Essentials (x86)

 

5.0.45

22.9M

Pick a mirror

MD5: 9efd5d841174b1476a317e94becf8786

Windows ZIP/Setup.EXE (x86)

 

5.0.45

42.4M

Pick a mirror

MD5: 1566ff960b22cda4903e03d4f6cfa205 | Signature

Without installer (unzip in C:\)

 

5.0.45

50.0M

Pick a mirror

MD5: c40ba57fe2ecb965f9ca88897b6e7d8b | Signature

 

----------------end example---------------------------------------

You will want the middle selection (Note the above example is not designed to link to anything). We will start off from scratch, as if we never installed it before, so we will choose the “Windows ZIP/Setup.EXE(x86)” version. The Essentials will be missing items that you will need to compile your own programs. The 3rd option sometimes has more goodies tucked away inside it, and is sometimes the best upgrade path to take when you are on the same version, but slightly older build level.

 

You will be brought to a ‘register’ type screen; underneath the register boxes is a “NO THANKS JUST GIVE ME THE DOWNLOAD PLEASE” or similar link. You can choose whichever way you prefer. Version 5.0.45 is the current version at the time of this writing. I am downloading the 2nd AND the 3rd option. Pass experience tells me that there is most likely a few files I would like to have in the 3rd option that might be missing in the 2nd option. Best for me to just get both versions while I am here. In case your wondering, the Essentials download is for computers with limited space, limited RAM, and when only the plain server is required. Sort of like a redistributable.

 

 

Your most likely going to want the tools to make your life easier:

http://www.mysql.com/products/tools/

 

When you get to the page from the link above, you are looking to download “MySQL Administrator”.  It takes the work out of backup, restore, and overall database administration from you.  The link may be difficult to find, so here it is: http://dev.mysql.com/downloads/gui-tools/5.0.html Scroll down about a page and find Windows (x86) 5.0.xx and get the MySQL Administrator GUI. Everything on this page comes in one bundled GUI TOOLKIT which is simple to install.

 

Go to this page: http://www.mysql.com/products/connector/ and grab the drivers of your choice.  ** THE C API comes with MySQL so you do not NEED anything from this page.

 

You may want to get the FREE MICROSOFT VC++ 2008, which they now say they will continue giving out for free:

http://www.microsoft.com/express/download/ It does not come with MFC, so GUI apps will need the wxWidget library from http://www.wxwidgets.org/downloads/ you will most likely want to get the Windows installer with manuals at the wxMSW link.

 

I will walk you threw the Windows XP PRO install of MySQL in the next message. In the mean time you can browse the C API documentation at http://dev.mysql.com/doc/refman/5.0/en/c.html to get a head start. Don’t worry if you do not understand any of it. When programming AI, you realty need to have a team of individuals that have an area of specialties to contribute and focus on. You might be a programmer, documenter, or the person who has fun testing the program out.

 

John

 

 

 

 

 

 



Tue Jan 8, 2008 1:06 am

johnj_01201
Offline Offline
Send Email Send Email

< Prev Message  | 
Expand Messages Author Sort by Date

Today I want to go over a quick review of my database model. I could patent the idea, but no longer care. We can't take it with us when we go, so I may as well...
John Jacques
johnj_01201
Offline Send Email
Jan 8, 2008
1:06 am

MySQL installation. Unzip the MySQL download and then run the Setup.exe installation program. Run the setup program and accept the license. Choose a CUSTOM...
John Jacques
johnj_01201
Offline Send Email
Jan 9, 2008
1:48 am
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help