Thread: Which database?
03-19-06, 07:19 #1Registered User
- Join Date
- Mar 2006
- Denver, CO
I have a friend who has a "database" which is a large excel file (~2800 rows) of real estate appraisal information that he has gathered from public sources over several years, and he wishes to convert it to a real database.
Originally, I offered to do set one up for him as a project while learning Access at school, but he has since decided that this information could be used on a web site for others to look at.
Now, I know that Access is not best suited for a web based application, and mySQL seems to be, at least one of the most popular ones in use today, but I know almost nothing about them.
So, assuming I will be creating the DB from scratch, and have only worked with Access, what suggestions can anybody here offer me as far as this go? Preferably something as easy to use as access. At the same time, if he does what he wants to do, which is set up a web interface that people can log into (which will be someone elses task, not mine), he will need something that can handle potentially a large number of connections at one time.
I have downloaded and installed mySQL, but it seems to be a server only, and not the actual database.
Eric the Grey
03-19-06, 08:01 #2SQL Consultant
- Join Date
- Apr 2002
- Toronto, Canada
go to the mysql.com web site and download one of their front end applications
access is two (2) things in one -- a front end application plus a database server
every other database like mysql, sql server, sybase, oracle, etc., are all just database servers, you have to use your own front end app
03-19-06, 09:50 #3Jaded Developer
- Join Date
- Nov 2004
- out on a limb
depending on how many concurrent visitors you expect to a website the access database (JET) is probably quite acceptable. I think there is a lot of sneering at JET which is unfounded. Yes it has a lot of limitations but it is very good on small projects, it rapidly becomes a problem if you have multiple concurrent users (Access / JET tends to collapse at somewhere around 20 to 50 users). Its arguable that the same number of concurrent users in a web server will have the same problem, however I wouldn't mind betting it can handle a lot more users on a web server. However depending on how you expect to manipluate the data JET may not be appropriate (especially if you want to use full text searches) or if you expect complex search parameters.
However as rudy points out Access is really a front end, whose default datastore is JET, it can quite happily talk to other SQL based server engines such as MySQL or serious budget busting servers like Oracle.
If you develop the application in Access then you have a problem if you want to deploy on the web. The front end developed in Access can't (easily) be ported to the outside web world. Data Access Pages work, providing every user has a copy of Access or a relevant library.
Its quite a well proven path to develop the data model in Access, do the data capture in Access and run a website using MySQL with a front end written in something like PHP. There are some tools out there that wll convert between JET and MySQL. However if you are planning on a website from day one then it may make sense to use a server back end from day one.
A thing to consider is what the ISP your customers site currently supports and knows. they may be able to provide virtually any database, what matters is what they are familiar with and what scripting laguage they reccommend. They may be very familiar with ASP using SQL server, but also offer PHP and MySQL. what matters is if they know the ins and outs of SQL Server then its probably a good choice to use ASP & SQL server. If there is no pre-existing ISP then you can choose anything you want.
If you are used to developing in Access then possibly ASP.NET may be a (marginally) better choice than PHP. Personally I find a physical separation between web work and other work usefull so I tend to do web development in PHP/MySQL in a Linux environment, and db Developemnt on a Wndows XP platform.I'd rather be riding on the Tiger 800 or the Norton
03-24-06, 16:25 #4Super Moderator
- Join Date
- Jun 2004
- Arizona, USA
04-02-06, 01:28 #5Lost Boy
- Join Date
- Jan 2004
- Croatia, Europe
You might also consider Oracle Express Edition (XE) which is a free version of Oracle database (free to develop, deploy and distribute). Its restriction to 4GB of user's data is more than enough for your friend's ~3000 rows in Excel spreadsheet.
Along with the pure database, you'll get a html DB, web application development tool which is used to create front-end in html format so you won't even have to think about porting it to web.
Here is a user experience with installing this product and his feelings about it; perhaps you'll find it interesting.
04-02-06, 11:22 #6Resident Curmudgeon
- Join Date
- Feb 2004
- In front of the computer
While Littlefoot makes a good point that almost all of the major database players (IBM, Microsoft, Oracle, and others) offer some kind of "free" entery level package, I wouldn't recommend any of them to a beginner. If you don't understand why you want/need one of the major players when you arrive at the table, the odds are good that you neither need or want them.
All of the major database platforms require a significant "soft cost" investment. You need to invest many hours to get the experience needed to make good decisions about these tools, they are NOT trivial to use, even for trivial projects. You need to provide significant infrastructure in terms of both hardware and design in order for them to perform well. While products like DB2, MS-SQL, and Oracle offer many more features, and the ability to support almost any size database, those benefits have a cost in terms of complexity (which experienced users often take for granted).
Simpler products like MS-Access and its database engine Jet, or MySql with its default database engine are quick and easy to set up, and take little or no effort to manage compared to the major database engines. They run well enough on almost any box that they'll run on at all. They handle small to midsize jobs without significant prep or managment. In general, they present a much lower "cost of entry" for the new user/administrator.