Building Your Own Racing Database – Part 2
Last week we started looking at the process of building your own horse racing database. While I am focussing on horse racing, this guide could be easily modified to help you build any kind of sports betting database.
By now you will have decided exactly how you want to use your database and what information you will need to extract from it, both now and in the future. I have said that pre-planning is very important a lot in the first part and I shall not mention it again (but please don’t forget).
The choice of which software you are going to use to develop your database is the next stage and there is an overwhelming variety to choose from. First of all it is important to know whether you are going to want to run the database only on your home computer/laptop or whether you will want to run it through a server. Generally the software to build databases on your home computer/laptop is simpler and cheaper to use. Two of the most commonly used programs are:
- Microsoft Access
- Filemaker Pro
Are there any limitations to this software? This is a question that seems to be very much debated. The users of these programs say that they can do everything in them that can be done in the bigger server based programs while most database programmers I know will argue the opposite. If you already know how to use one of them in detail and do not need to host your database on a server then I would use it. Ultimately the time spent learning another piece of software is not worth it unless absolutely necessary.
If you are going to have to learn how to use the software or hire a programmer then I would choose a server based software so that you have the option available to use it on a server in the future if you so wish. Three of the main server based database programs are:
- Microsoft SQL
- MySQL
- Oracle
Which Would I Choose?
That is easy as I already use MySQL. This doesn’t mean that it is the best, just that it is the best for me. First of all let us talk about the others. When I say others I mean Microsoft SQL as I honestly know absolutely nothing about Oracle. Some programmers love it and the only reason that I have never used it is because I have had more experience with the others and have had no need to.
It is important to say that I am not a database programmer. While I understand the concepts and structures (and can do some of the simpler things) I use a programmer to code everything up for me as most of my databasing (is that a word?) takes the form of PHP scripts, but that is a topic for later!
Microsoft SQL is very powerful but in my experience has one problem. It is a Microsoft product. This means that it is expensive (although they do some cheap/free versions which may be sufficient) and more importantly it needs Windows to run. This is fine if you are using a computer at home but if you want to put it on a server this means having to have a Windows server which is significantly more expensive than a Linux server. You then have to pay for the license to run MS (Microsoft) SQL on the server. If you need to hire a programmer then they are also usually more expensive than other database programmers.
Those are the main reasons I don’t use MS SQL. MySQL on the other hand has the perfect price tag of free, it is open source software. While they do have versions that require yearly payments it is unlikely that you would ever need to have these. MySQL has the added benefit of being installed, by default, on pretty much every hosted account or server and can work on any operating system. Because it is open source there are many more programmers available who can use it which means that if you need to hire a programmer then the cost is significantly less. Be warned though that if you use one of the myriad of freelance sites, such as Rent-a-Coder, then you want to be wary of using programmers who do not have fluent English (or a language you are fluent in). Your programmer will need to have a very good understanding of horse racing in order to program properly for you. This can be hard enough to explain when there is not a language barrier.
MySQL is a command line program which means that everything is run from a little black window by typing in commands. Although quite intimidating it is not too hard to learn but if you are running it on a windows machine then for less than $100 you can get software that gives you access to MySQL through a GUI (graphical user interface).
Those are my reasons for choosing MySQL, am I slightly biased? Definitely and for that reason I am going to leave you now to make your own decision on the best software for your project. This article was quite technical but next week we shall get to the last part in this series and more back to horse racing.
Building a racing database is all very well but from where do you get the data to load into it? By hand would take a lifetime so a source of downloadable results would be essential. It’s something I’ve been searching for for years but as yet not found it at a sensible price.
Good question Mike, that is going to be in part 4 of the series. Part 3 will hopefully be published next week and part 4 shall follow shortly after.