-
CPU: 1.71ghz AMD Athlon XP
-
Motherboard: x86 Family 7 Model 6 Stepping 9 AT/AT Compatible
-
Hard Drive: 40GB HDD
-
Memory: 256MB SD-RAM
-
BIOS: Award Modular BIOS
-
Operating System: Windows 2000 Service Pack 3
-
Useful Software: Microsoft Office 2000 (Includes Microsoft Word, Excel, Works, Access, Outlook), Internet Explorer, Other generic software
-
Graphics Card: Geforce 2MX
-
Sound Card: On Board Sound
-
Internet Connection: ADSL 512k/256k (Downstream/Upstream) via Fujitsu ADSL Modem
-
Other: 32X/16X/8X (Read/Write/Rewrite) CD-Rewriter, 100MB Zip Drive.
Everything about this computer is more than adequate to help Mr. Smith achieve his wish.
Currently, the end user uses a little black book – a personal organizer – to alphabetically sort the names, addresses and telephone numbers of all his friends, and his favourite restaurants, amongst other things. This is inefficient, and he finds that he does not have enough room to record new people and places. Also, it is difficult to edit the details, and hard to find what he is looking for – also, he doesn’t have room to record the details of when his friends work, when the restaurants open, what his friends enjoy eating, what the restaurants serve etc. (These details will be covered later).
Mr. Smith is not too good with computers, but he can do the basics such as using Microsoft Words basic functions, and browsing the web. What he really needs is a database in which he can easily put details into – there should be nice, easy forms for adding a friend, deleting a friend, editing a friend, adding a restaurant, deleting a restaurant, and editing a restaurant. He shouldn’t have to go into the database itself, otherwise errors could be made.
What he really need the application to be able to do, is let him type in whatever food he wants (e.g. Lasagne), whatever type of place he wants to go to (e.g. Italian), how much he wants to spend (e.g. A lot), and what time he wants to go at. The program should then bring up a list of all the restaurants that match his chosen criteria (making sure that he has time to book them), and all the friends that are suitable for taking.
Mr. Smith then wants the database/application to generate a nice report, stating which restaurants are open at the time he specified, and also suit the other requirements he specified, providing the phone numbers, addresses and names of all the possible, available (‘book-able’) restaurants in a neat table. It should also tell him what time he should book by. In the same table, there should also be the names, phone numbers and addresses of all the friends who are both available, and enjoy the types of food/type of place that he requested.
Detailed List
William needs to easily be able to:
- Add a restaurant and all of its attributes
- Edit a restaurant and all of its attributes
- Delete a restaurant
- Add a friend and all his/her attributes
- Edit a friend and all his/her attributes
- Delete a friend
- Easily specify a time, type of food, price range and type of restaurant
The application should then do the following (Cross-Referencing):
- Eliminate any restaurants that are not open or will not accept a reservation at the specified time.
- Eliminate any restaurants that are too expensive for the specified price range
- Eliminate any restaurants that do not fit the specified ‘type’ of restaurant.
- Eliminate any restaurants that do not fit the specified ‘food type’
- Eliminate any friends that are allergic or do not like the specified ‘food type’
- Eliminate any friends that are not available at the specified time
- Eliminate any friends that do not enjoy the particular ‘type’ of restaurant specified
- Eliminate any friends the can not afford the specified ‘restaurant price range’
The application should then:
- Produce a document or report showing the names, addresses and telephone numbers of all the Restaurants and Friends that were not eliminated, also detailing which friends are the most suitable.
- This document/report should be easily printable.
What program should be used to create the application?
As I have previously mentioned, Mr. Smith has the Microsoft Office package, which includes many applications that may or may not solve his problems. The applications include Microsoft Word, Front Page, Excel, Publisher Access, Works & PowerPoint. We can safely eliminate Word and Publisher, because they are used for word processing and creating stylish posters respectively, which is definitely not what we need. Also, PowerPoint is used for presentations, and Front Page is used to make Web pages, so these are all unnecessary too. This leaves us with 3 generic Microsoft applications: Access, Excel & Works – all which are used to manage data.
Now, there is not much difference between Access & Works, Both are used for creating databases, but Works can only create flat file databases – It is a database management system, whereas Access is a Relational database management system. This is a huge disadvantage, as it would mean a lot of redundant data would be created, there are greater chances of errors on input, problems with modifying data and the file size of the database will be larger. This is also not practical, as the database will need to be split up into many tables, should that format be used, simply because things must be cross-referenced. There are also many categories that would need their own separate tables, for instance, Friends & Restaurants would both need to be placed into separate tables where their details would be recorded.
Therefore, this leaves us with two applications, Access and Excel. There is very little calculating going on, hardly any adding and subtracting, and nothing that would require a substantial amount of mathematics, therefore Excel is not practical. It would be a much better idea to store the information in a database, as this can easily be updated, for instance, it would be easy to create forms that William could fill in to submit his friends details, and it would be easy to create queries so he can find out who wants to come to ‘Burger King’ at 7pm.
Access is definitely the choice application to suit Mr. Smith’s requirements, because it is a Relational Database Management System. Still, there are a few other Relational database management systems available, and I should definitely consider these before going with Access.
Both PostgreSQL and MySQL are free databases, and much more secure than Microsoft Access. They offer more database features, but there are major disadvantages to them. For a start, they can only run on a Linux operating system, which William neither has, nor would have the ability to use, and although it is free, it is pointless to make the switch, as Linux is hardly user friendly. Also, the applications cannot create forms, which makes them even harder for Mr. Smith to use. Therefore there is little point in using these products.
The main rival to Access is OpenOffice. It provides a near drop-in replacement for Microsoft Office, and the software is available for both Windows & Linux. The OpenOffice database access sub-project, as it is so aptly titled, is a lot more versatile than Access, offering many different ways to access the data, and still maintaining the options to use forms on top of data. However, there is a limited number of database functions, and, this application is retail – It’s just not worth purchasing this when Access can do exactly the same thing. There are a few other similar alternatives such as Lotus Smart Suite, but the same situation applies – It is not worth investing when Access can do the job just fine.
Access itself has many advantages and disadvantages. To start with, it is easy to use. It provides tools that can be mastered by even the most inexperienced database users. Sorting, Querying, Filtering, Form & Report Creation are fairly simple tasks, especially when using the wizards and toolbars that Access provides. Also, Access definitely has the upper hand when it come to Data Migration. This means that it is definitely the best application to use if you’re going to be sharing and moving your data. It’s single file system makes it easy to upload, download, or copy and paste entire databases to other computers, and because Microsoft Access is the most popular PC database system in the world, chances are that most computers will support the .mdb file format, whether they have Access or not (And, of course, it is more likely that they will). As I will be developing this database on different computers (At school, and at home), Access will be ideal. The final advantage that access has, is that it is easy to make a backup of a database – Simply copy the file, because there is, after all, only one file that holds the entire database, instead of several.
By no means is Access perfect though – It has many disadvantages. For a start, it is limited to small databases, because Access was designed to efficiently manage relatively small numbers of database records. The file size limit is 2gb, but I don’t think the database that Mr. Smith will be using will ever reach that capacity. Also, because the database is stored in only one file, this means that it can be slow at bringing up results when many people are accessing it at the same time, via a network for example. Again, this won’t be a problem for Mr. Smith, as he will be the only user.
Access is definitely the relational database management system to use.
How will the data be sorted????
Start to produce ideas for your table.