Reference no: EM131796
Project Title: Computer Sales and Repair Store System - CSRSS
It is required to design a relational database system for a "realistic" application described below. This is followed by an implementation of the system in MySQL. The application is a two-tier system, which uses the Internet Explorer (IE) at the client side and http server with PHP parser at the server side. The system is expected to support all "representative" queries and transactions, and produce various desired reports. A schedule for the demos will be prepared and posted. The project report must be submitted at demo time.
Project Description
Use MySQL Database Management System to develop a miniature database application on Computer Sales and Repair Store. The application includes a collection of tables and a form-based user interface to insert, update, and retrieve information about various services of this store, which includes computer sales and upgrades/repairs (through replacing parts and/or installing various software). Examples includes selling laptops and desktop computers, changing screens, keyboards, OS, power unit, anti-virus, upgrading main memory, hard disk, etc. There are a number of personnel working in this store each of which has a code when they login and record their activities. For each service or part provided there is a default cost, which is recorded in the system but could also be over written by the clerk for complications that may arise during the service. Depending on their seniority and agreement with the company (who owns the store), there will be different percentage of commissions. For instance clerk 1 may have agreed to collect 50% of service fees, so if clerk 1 changes a hard disk, if the hard is $80 and replacing is $30, then clerk 1 gets 50% of $30 and the company gets $15+$80 (assuming all parts and software are provided by the company).
Requirements Specification
You are required to develop a database system that will hold at least the information about the following entities and relationships:
- Details on sales and services provided: Basic information on all computers, parts and software, the purchase date and amount, etc. The store manager can check details of activities of each employee in terms of different services he/she provided, the dates, amounts as well as store revenue and each technician's shares. For computers/laptops brought to the store for repair more than once, a history of previous service activities on the computer. ? Details on employees: Records of information on each employee, date of employment, his/her seniority, weekly, monthly, and annual payments.
- Inventory Details: The system is expected to contain complete and up-to-date information of computer and parts present or sold, with records of date, and amount purchased/sold.
- Details on Online Sale: The store is also involved in online computer and laptop sales, say through EBay. Extensive report of online sales, locations delivered (City, Province, Country) and revenues. When these sales are done through one of the employees, there is an x% commission for that employee calculated in his/her income. The percentage x is recorded in the system for each employee and the default value is 50%.
These are the minimum requirements in your database. It is expected to discuss this application among yourselves as well as talk to people knowledgeable in the domain to enrich the application and make it more realistic.
Implementation Details: Functions and Reports
Design and implement the user interface using HTML and PHP for the required queries alluded in the above description of the system and its requirements. Details on how to use PHP and HTML with MySQL will be provided by the lab instructors. Populate your tables with enough data to show the functionality of your system (10 to 20 tuples per table on
average.).
The system should support at least the following functionalities through its interface:
1 Search for a part/software using the item's name or code. This query can be submitted by the store manager and/or any employee.
2 Update personal information - Insert and/or update employees information.
3 Given an employee, list his service history from a given date to a given date, sorted by date. For each service the amount of commission paid to the technician.
4 Given a date, list all services provided by all technicians. This is useful to trace all services provided on a specific computer/laptop since the given date. The default date is the beginning of the year.
5 Generate the list of parts and softwares together with their frequency of use. This helps identify parts which are used less frequently, thus allowing to spend money on more frequently used items.
6 Details and total revenue through online sale and in-store services (sales and repairs). After sometime, the manager wants to know whether focusing on one of the two (online or in-store) activities would be more beneficial.
What you should hand in:
1. Develop an E/R diagram for the entity sets and relationships described above. Determine the attributes and the multiplicity of the relationships. The design should be as compact as possible without sacrificing the required objectives. Make sure you state clearly any reasonable assumption made in your design, which is not specified in the requirements specified above.
2. Convert your E/R diagram into a relational database schema. Make necessary refinements to the schema, if possible. Identify various integrity constraints such as primary keys, foreign keys, functional dependencies, and referential constraints. Make sure that your database schema is at least in 3NF.
3. Provide implementation details of your database system in MySQL with a suitable user interface using HTML and PHP. Your project must include details on:
- The design of the DB using an E/R data model.
- Its conversion into a relational model satisfying at least 3NF.
- The user-interface for each supported application and reports.
- A sample session for each application (user guide).
- An installation guide.
- All codes.