They argued long and hard over the name of their new shoe shop, but Lucinda eventually agreed with Spike that SPIKES was the best name. She would have preferred to feature her own name, but SPIKES was not only Spike’s name – it had sporting connotations that fitted their desired image of a modern, forward-thinking, alternative shop.
After opening in Derby’s Cathedral Quarter, Spike and Lucinda decided they would benefit from an on-line presence and began thinking about how it should work. Obviously, shoppers would be allowed to browse stock on-line. The debate about what information would be stored, how shoes should be classified and how they would be presented was never fully resolved, but they agreed that browsers would want to search under either men’s shoes or women’s shoes; children’s shoes were not yet stocked. Within these gender divisions there were likely to be further sub-categories such as casual, dress, athletic and sandals.
Once a shopper had selected his or her shoes, he or she would be offered the choice of paying by credit/debit card or PayPal. If the financial transaction was successfully verified, an official order would be generated and receipts printed for both the shop records and for issue with the dispatched goods.
Customers would need to register on-line before placing their first order. Records of their details and their purchasing activities would be kept for future marketing purposes. Lucinda was keen to build up profiles of their customers in order to better target future sales campaigns.
So Lucinda hired a Web designer known for creating stunningly artistic static “Web presence” sites. Unfortunately, he isn’t known for creating database-driven dynamic Web sites. While she is confident in the designer’s abilities to produce a cutting-edge look, she knows it isn’t reasonable for him to create a static Web page for every one of the 250 or so shoe styles available, let alone update it every time their suppliers produce a new style.
An off-the-shelf electronic shopping and catalogue package could – in theory – be used, but the Web designer evaluated a number of them and recommends a completely custom-built site, as it will allow him to create a far more impressive site than is possible with pre-built e-commerce Web site packages. He convinces Lucinda that a relational database of some kind should be developed – by someone else – to underpin the Web site...
... And that is where you come in. You’ve been hired as the database designer and developer, and are required to do the following:
You must produce a professional business-style report (including a table-of-contents, an introduction, a conclusion, appropriate chapters, and headings, etc.) which includes at least the following:
Produce a logical design for the database, illustrated using an E-R diagram backed up with textual descriptions of, and justifications for, the required entities and their attributes.
Briefly evaluate a wide selection of popular database management system product options, and select two for detailed evaluation. Provide a justification for the two you have selected. If you are only using the university computers, Oracle, Microsoft SQL Server, PostgreSQL and MySQL are available for detailed evaluation.
You may not use the DBMS built into Microsoft Access (aka the Jet database engine), as it is primarily intended for single-user applications.
If you are doing this assignment on your home system or notebook computer, there are a number of DBMSes available to you, such as Oracle (free download from http://www.oracle.com), PostgreSQL (http://www.postgresql.org), MySQL (http://www.mysql.com), Microsoft SQL Server (available free to students via ELMS), Ingres (http://www.ingres.com), Ocelot (http://www.ocelot.ca), Firebird (http://www.firebirdsql.org/), DB2 (http://www-306.ibm.com/software/data/db2/9/download.html), Apache Derby (http://db.apache.org/derby/), HSQLDB (http://hsqldb.org/), and many others.
At least one of the DBMSes must use SQL. Both may use SQL. If you’re particularly ambitious, you may use a non-SQL DBMS for one of the systems, such as Rel (http://dbappbuilder.sourceforge.net/) or Dataphor (http://dataphor.org/)
Implement your database design on your chosen two database management systems. The printed, commented source code (typically SQL) for both implementations must be included in your report and must be included on a CDROM. Your databases should implement all appropriate constraints, such as CHECK constraints, foreign key constraints, primary key constraints, and so on.
Produce a detailed, rational, unbiased, evaluative comparison of the two database management systems, with emphasis on development ease, functionality, reliability, maintainability, performance, scalability, cost, and any other factors you feel may be relevant. You must base your evaluation on both your personal experience and on referenced sources from industry or academia. Include this as a chapter or section in your report.
Using a database application development environment of your choice, implement a simple database application for one of your two databases. You may wish to use Microsoft Access for this. If you’re using the university systems, ODBC drivers are available to use Microsoft Access as a front-end for Oracle, MySQL, PostgreSQL and SQL Server. You may, however, use C#, PHP, ASP.NET, Java, or any other tool you like.
The purpose of the application is strictly to demonstrate that your database works; it need not be pretty, graphical, or fancy, but it should work well. It is intended to be a testing framework that a database administrator or Web designer can use to verify the correct operation of the database and its constraints. It is not intended to be a polished application for delivery to end-users. Creating one data-entry form per database table is fine, and you need not create any reports. It must, however, provide the following:
Based on the preceding sections, recommend a suitable database management system for SPIKES. Provide a detailed justification for this recommendation. Include this as a chapter or section in your report.
Any justification, comparison or evaluation should be backed up with personal experience and/or suitable academic and/or industry sources. These must be referenced using Harvard Referencing Style.