Fill This Form To Receive Instant Help
Homework answers / question archive / Project Guidelines and Past Exams Database Project Guidelines As part of the FETAC Level 5 Database Methods module (awarded by QQI) you are required to complete a database project
Project Guidelines and Past Exams
As part of the FETAC Level 5 Database Methods module (awarded by QQI) you are required to complete a database project. The project tests if you can apply what you have learned about databases to a fictitious problem and then design and create a database to solve the problem. The problem may be in a business context, such as the need to computerise the stock control system of a small business, or it may be in relation to an interest or hobby, such as creating a database to manage the administration of membership in a local club.
The Database Project should be completed in three distinct phases:
Phase 1: Design
Phase 2: Implementation
Phase 3: Proposed Modifications
The project must be completed in this order. You must design your database on paper before you set it up in Access.
Describe the Aims of Your Project
1. Provide some background information to set the scene for your project.
Riverstown Karate Club was established in 1998. Since the club was formed, all information about the club and its members has been kept in a paper-based filing system. This is very cumbersome and takes up valuable space. Mistakes have been made from time to time when locating and retrieving information. Not only does it take time to find a member’s application form or progress sheet, but it is difficult and time-consuming to keep records up to date. The aim of this project is to create a database to store the information relevant to the running of the club. The database will reduce the amount of time required for administration work and make it easier for the instructors to run the club.
2. Identify problems that exist in the system you have decided to computerise using a database. For each problem that you identify, describe in detail how the database will solve the problem.
Problem
Gradings occur twice yearly. To prepare for the gradings, the instructors draw up lists of members in each Belt Ranking Category, e.g. black belt, brown belt, etc. This is very timeconsuming and sometimes members are unintentionally omitted from the lists. Producing lists of members in alphabetical order is very difficult because the lists are created using Microsoft Word. If new members join the club prior to a grading, these have to be added to the list of members to be graded by inserting their names in separate word processing documents.
Solution
In the Database system, a Report will be created to group members according to their current belt ranking. Within each group, members will be sorted in alphabetical order of surname. A Report function will count the number of members in each belt ranking category so the instructors know exactly how many students to expect at each grading. If new members join prior to the grading, they will be picked up automatically by the Report and listed in alphabetical order once they have been entered in the Database.
Specify Table Structure
1. Identify where the data that will be stored in your database exists in the current system.
The data relating to members is taken from the club’s paper files, i.e. the old system of keeping records. Information on black-belt club members is taken directly from instructors, as is the data on all of the club members due to be graded for their black belt.
2. Specify fields included in the Table. For each field, indicate the data type, field size in bytes and give an example of data that will be stored in the field. Identify which field is the Primary Key.
Field Name |
Data Type |
Field Size |
Example |
Membership No |
Number |
Integer (2) |
298 |
First Name |
Text |
25 |
Richard |
Surname |
Text |
25 |
Butler |
Gender |
Text |
7 |
Male |
Address1 |
Text |
35 |
1 Riverstown Wood |
Address2 |
Text |
25 |
Clonmel |
Address3 |
Text |
25 |
Co. Tipperary |
Age |
Number |
Byte (1) |
16 |
Current Belt |
Text |
10 |
Yellow |
Membership Fee |
Currency |
8 |
€360 |
Date of Last Fee Renewal |
Date/Time |
8 |
15/05/2011 |
Paid |
Yes/No |
1 |
Yes |
Table 11.1
Membership No is the Primary Key field.
Design a Data Capture Form
A Data Capture Form is a printed form used to collect data before it is entered in a database.
It should be designed to capture all of the input data. We have all filled in Data Capture Forms at one time or another: club membership forms, an application form for a bank account or the CAO form. It is a good idea to look at how Data Capture Forms are designed in practice before you create your own. A well-designed Data Capture Form will:
The Data Capture Form must include all of the fields that you have specified for your Table. A sample Data Capture Form is shown below.
Specify Queries and Reports
1. Specify Query structure
The database project must include two or more appropriate queries. At least one Query must have an and/or condition. The queries should solve problems identified earlier in the project. Each Query should be specified using the following headings:
Query Name: Members eligible for Black Belt grading.
Purpose of Query: To find all members who currently hold a Brown Belt and who have paid their membership fee.
Tables linked to: Membership
Fields in Query: Membership No, First Name, Surname, Age, Current Belt, Paid
Field Name |
Current Belt |
Paid |
Criteria |
“Brown” |
“Yes” |
Table 11.2
2. Specify Report Structure
The project must include at least four appropriate Reports. Each Report must be sorted or grouped or both. (A mail merge can be used as a Report.) Labels must be produced by one of the Reports. Report functions should be used where appropriate. The Reports should solve problems identified earlier in the project. Each Report should be specified using the following headings: • Report Title
Report Title: Current Members’ Belt Rankings
Purpose of Report: This Report will display all members’ names and their belt rankings. It will allow instructors to determine which members are in a specific belt ranking category. The Report will be grouped by Current Belt.
Linked to: Membership Table
Fields in Report: Current Belt, Membership No, First Name, Surname
Sort and Grouping: The Report will be grouped by Current Belt and sorted in ascending alphabetical order of Surname within each group.
Report Functions: The function =count([Membership No]) will be included in the Current Belt Footer to calculate the number of members in each belt ranking category.
Your Table should include a minimum of 25 records and 5 fields and must have at least one numeric field. Try to include as many different field data types (Text, Number, Date/Time, Currency, Yes/No, Autonumber, Memo) as possible in the Table – you will learn more from your project as a result. The data should be inputted using a Form that is linked to the Table. Marks will be deducted for spelling errors, as a single data entry error can affect multiple Queries and Reports. When you have finished inputting the data, proofread it and correct any errors.
Sorting should be implemented using Reports. Reports must be either sorted or grouped or both. In the case of the Riverstown Karate Club database, a Report displaying members in ascending alphabetical order of Surname could be created. A Grouped Report could be created, splitting members into male and female with a function to calculate the total number of male and female members.
The overall formatting of the Reports should be attractive and should be consistent across all Reports. Data should be aligned under field headings in each Report. Headings should be spaced evenly across the page. Appropriate functions, i.e. Sum, Avg, Count, Max or Min must be used in either the Report Header, Report Footer or the Group Footer. Calculated fields may also be used, where appropriate. Check the result returned by each function by doing the calculations manually.
In most cases the Label Wizard is used to create name and address labels. It can also be used to produce labels for other purposes, such as price tags and product identification labels or membership cards. Whatever purpose your labels serve, they will be stored in a Report linked to either a Table or a Query. If you create name and address labels, these could be used in conjunction with a mail merge letter created in Word.
When printing Queries and Reports, select an appropriate page orientation for each printout. If there are a lot of fields in a particular Query or Report, set the page orientation to Landscape. Reduce paper wastage by checking your queries and reports in print preview and making necessary adjustments before printing.
Given more time, there are modifications that would have been quite relevant and useful to include in my project. One such modification relates to the Query that finds club members who are under 18. A point to note regarding this Query is that a member’s age is not constant. As time passes members get older, but this is not reflected in the database because their ages are recorded as fixed numbers. So, for example, running the under 18s Query today may find 25 members. Running this Query exactly one year from now should find less than 25 members because some members will no longer be under 18.
With the current database design, the Under 18s Query will always find the same number of members unless their ages are updated each year. Because of the way I set up my Table, the under 18s Query will become more and more inaccurate as time progresses unless each member’s age is adjusted on their birthday. With more and more members joining the club, this method is guaranteed to lead to errors. Given that the main purpose of the database is to reduce the administration work of instructors, this design flaw would be unacceptable in a real-life database.
To solve this problem, I would first need a Date of Birth field in the Membership Table. I would then have to, in some way, calculate a member’s age by subtracting their date of birth from today’s date. In this way their age would always be up to date because it would advance with each passing day. This calculation could then be incorporated in the Under 18s Query so that it always finds only those members who are under 18 on a particular date. Possible Database Project Topics
Create a database to store details of members in a local club. Create queries to find members who qualify for competitions – under 12s, under 15s, under 18s, etc. Create a mail merge to inform members of club events. Use the Label Wizard to create membership cards. Create reports detailing competition lists and competition results.
Store details of patients attending a doctor’s surgery in a database. Create queries to identify private patients and those on medical cards. Use reports to calculate the total receipts over a given time period. Create a mail merge to inform patients of upcoming appointments and to create reminders for those whose bill is overdue.
Create a database to store details of PCs repaired by Technical Support. Create Queries to analyse the different problems that occurred and who fixed them. Create a Report to display the number of PCs fixed per week and the average cost of fixing a PC. Create a Report that shows which brand of PC gives the most problems.
Set up a database to store details of your personal music collection. Create parameter queries to find tracks by artist, category or title. Create a report that groups tracks by category and that calculates the total value of the collection.
Create a database to store details of stock in a shop or small company. Create queries to find products with low stock levels and products past their sell-by dates. Create reports detailing stock movements, the total value of stock by product and the average stock level.
Set up a database to store details of a dating agency’s clients. Record clients’ hobbies and interests and then create queries to match up clients. Use the Label Wizard to create a membership card. Create a mail merge to inform clients of upcoming dates. Analyse weekly and monthly receipts using a Report.
Store details of cars for sale in a database. Create a Parameter Query that allows a customer to specify their preferences (model, engine size, colour) and that finds records matching their requirements. Create a Report detailing cars for sale grouped by manufacturer. Create labels that display the registration number, model and colour.
For more ideas, have a look through the examples and database assignments in Step by Step Databases. The above are only suggestions. The list of possible database projects is endless. What works best is if you can do your database project on a topic that interests you, e.g. a hobby or an area that you have worked in before.
Michael O’Brien runs a retail outlet in Nenagh, Co. Tipperary. He specialises in a broad range of adhesive and sealing compounds. Recently he has started to record details of the various products that he stocks. Michael wishes to set up a database to record these details and to enable him to retrieve information easily from the data stored.
1.1 Create a database named Stock Control. o Create a Table named Current Stock to store the data extracted from the records of Michael O’Brien (refer to Table 11.3).
Rec No |
Product |
Agent |
Qty (kg) |
Price |
Location |
Life (wks) |
3201 |
Impact Adhesive |
Doyle Bros |
5.0 |
€56.45 |
Stores |
14 |
3202 |
Impact Adhesive |
Doyle Bros |
2.5 |
€28.50 |
Shop |
12 |
4215 |
Sealing Compound |
JJ Williams |
4.5 |
€24.80 |
Stores |
28 |
5247 |
Roof Sealer |
Geo Ryan |
5.5 |
€56.50 |
Stores |
24 |
5248 |
Roof Sealer |
Geo Ryan |
2.5 |
€28.00 |
Shop |
20 |
6480 |
General Adhesive |
Geo Ryan |
10.0 |
€120.00 |
Warehouse |
13 |
6481 |
General Adhesive |
Geo Ryan |
5.0 |
€65.00 |
Stores |
10 |
6482 |
General Adhesive |
Geo Ryan |
2.5 |
€38.50 |
Shop |
8 |
7246 |
Jointing Cement |
JJ Williams |
25.0 |
€85.00 |
Warehouse |
6 |
7247 |
Jointing Cement |
JJ Williams |
12.5 |
€50.00 |
Stores |
5 |
7248 |
Jointing Cement |
JJ Williams |
6.0 |
€27.50 |
Stores |
4 |
Table 11.3
1.2 Complete the Database Structure Form provided to show field names, data types and field sizes (refer to Table 11.6 on p. 13).
2.1 Design and create a Form to allow the data entry operator to enter the data shown in Table 11.3. The format of the Form should be as follows:
|
Field Name |
1 |
Rec No |
2 |
Product |
3 |
Agent |
4 |
Qty (kg) |
5 |
Price |
6 |
Location |
7 |
Life (wks) |
Table 11.4
Save the Form as Stock Registration.
Print the Stock Registration Form (either now or later) or call the specialist teacher at the end of the examination to award marks to your Form.
2.2 Input the data shown in Table 11.3 using the Stock Registration Form.
Create Queries for each set of criteria listed below. N.B. Print each Query as you complete it.
3.1 Select and Print all the records for products where the agent is Doyle Bros.
3.2 Select and Print all the records for Adhesive products. Use a wild card to select the required records.
3.3 Select and Print all records that are located in the Stores and where the Qty is less than
12.
3.4 Select and Print all the records for products where the Agent is Geo Ryan, where the Price is between €25 and €90 inclusive, and the Life (wks) is greater than 12.
3.5 Create a parameter query that can find records of stock in each of the three locations.
The query should display the message ‘Enter stock location’ when it is run.
3.6 Create a Totals Query that calculates the total quantity of stock in each location and the total value of stock in each location. Save this Query as Stock levels.
4.1 Add a new field to the Current Stock Table as follows: Field Name – Toxic
Data Type –Yes/No
Add the details of the Toxic field to the Database Structure Form (Table 11.6 on p. 13).
4.2 Add the Toxic field to the Stock Registration Form and enter data as follows:
All the Adhesive products are toxic.
All other products are not toxic.
4.3 Delete the record with Rec No 7247.
4.4 Edit the Product combo box, then input the records displayed in Table 11.5 using the Stock Registration Form.
Rec No |
Product |
Agent |
Qty (kg) |
Price |
Location |
Life (wks) |
Toxic |
8324 |
Quick Adhesive |
Doyle Bros |
0.5 |
€6.40 |
Shop |
11 |
Yes |
8325 |
Bonding Cement |
JJ Williams |
3.5 |
€18.60 |
Stores |
9 |
No |
Table 11.5
5.1 Generate a Report from the Current Stock Table including all fields. Sort the Report with the Product field in ascending order (primary sort) and the Life (wks) field in descending order (secondary sort). The Report title is Current Stock List. Print the Report (in landscape orientation) either now or after the exam has finished. Ensure that data is aligned under each heading and that each text box and label is wide enough to display all data.
5.2 Generate a Report from the Current Stock Table, to include all of the following:
Save this Report as List of Products. Print the Report (in portrait orientation) either now or after the exam has finished.
6.1 Produce a set of labels for all products except for roof sealer and sealing compound. The labels should have the following format:
Rec No Product
Agent
Price
Location
Save these labels as Stock Control Labels.
6.2 Print the Stock Control Labels either now or after the exam has finished.
Generate a report from the Current Stock Table, to include all of the following:
Save this report as Products by Location. Print the report (in landscape orientation) either now or after the exam has finished.
Field Name |
Data Type |
Field Size |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 11.6
Paddy Watts is a bookmaker’s chain with outlets in most towns in Ireland. At the Head Office in Galway, a database is required to keep track of bets placed in its various outlets. For this purpose, copies of all dockets are sent electronically to head office. Details are then inserted into the database.
1.1 Create a database named Paddy Watts Betting.
Docket No |
Branch |
Received Date |
Stake |
Payout |
Type of Bet |
101001 |
Harbour Road, Arklow |
06/08/2015 |
€5.00 |
€105.00 |
Treble |
101020 |
Arklow Road, Wicklow |
09/08/2015 |
€100.00 |
€150.00 |
Single |
101067 |
Shop Street, Galway |
07/08/2015 |
€20.00 |
€75.00 |
Double |
101102 |
Main Street, Arklow |
06/08/2015 |
€40.00 |
€120.00 |
Single |
101143 |
Shop Street, Galway |
08/08/2015 |
€200.00 |
€300.00 |
Single |
101147 |
Shop Street, Galway |
08/08/2015 |
€500.00 |
€1,500.00 |
Single |
101154 |
Bridge Street, Waterford |
10/08/2015 |
€15.00 |
€195.00 |
Yankee |
101211 |
Harbour Road, Arklow |
11/08/2015 |
€50.00 |
€3,000.00 |
Yankee |
101244 |
Shop Street, Galway |
13/08/2015 |
€50.00 |
€400.00 |
Double |
101261 |
Main Street, Arklow |
13/08/2015 |
€10.00 |
€90.00 |
Single |
Table 11.7
1.2 Complete the Database Structure Form provided to show field names, data types and field sizes (refer to Table 11.11 on p. 18).
2.1 Design and create a Form to allow the operator to enter the data shown in Table 11.7 in the Betting Details Table.
|
Field Name |
1 |
Docket No |
2 |
Branch |
3 |
Received |
4 |
Stake |
5 |
Payout |
6 |
Type of Bet |
Table 11.8
Save the Form as Posting Details.
Print the Posting Details Form (either now or later) or call the specialist teacher at the end of the examination to award marks to your Form.
2.2 Input the data shown in Table 11.7 using the Posting Details Form.
Create queries for each set of criteria listed below. N.B. Print each Query as you complete it.
3.1 Select and print all records for bets at the Harbour Road, Arklow branch.
3.2 Select and print all records for bets placed in either of the Arklow Branches (use a wild card).
3.3 Select and print all records for bets at the Shop Street, Galway branch where the Stake was greater than €50.00.
Payout was between €100.00 and €1,000.00 inclusive, and where the Type of Bet was Single. o Sort the Query in descending order of Payout. o Save the Query as Single bets in Galway and Wicklow.
3.6 Create a Totals Query that calculates the total payout by branch. Save this Query as Payout by Branch.
4.1 Add a new field to the Betting Details Table as follows:
Field Name – Win
Data Type – Yes/No
Add the details of the Win field to the Database Structure Form (Table 11.11 on page 18).
4.2 Add the Win field to the Posting Details Form and enter the data shown in Table 11.9.
Docket No |
Win |
101001 |
Yes |
101020 |
Yes |
101067 |
No |
101102 |
No |
101143 |
No |
101147 |
No |
101154 |
No |
101211 |
Yes |
101244 |
Yes |
101261 |
No |
Table 11.9
4.3. Input the records displayed in Table 11.10 using the Posting Details Form.
Docket No |
Branch |
Received Date |
Stake |
Payout |
Type of Bet |
Win |
101265 |
Bridge Street, Waterford |
15/08/2015 |
€25.00 |
€40.00 |
Single |
Yes |
101272 |
Arklow Road, Wicklow |
18/08/2015 |
€75.00 |
€600.00 |
Double |
No |
Table 11.10
5.1 Generate a Report from the Betting Details Table to include all of the following:
Save this report as Summary of August Bets. Print the Report (in portrait orientation) either now or after the exam has finished.
5.2 Generate a Report from the Betting Details Table, to include all of the following:
Save this Report as Betting Details by Branch. Print the Report (in portrait orientation) either now or after the exam has finished.
Produce a set of mailing labels for all dockets, except those from the Waterford branch. The mailing labels should have the following format:
DOCKET NO RECEIVED DATE
BRANCH
TYPE OF BET WIN
Save these labels as Betting Labels.
Generate a report from the Betting Details Table, to include all of the following:
Save this report as Analysis of Betting Results. Print the report (in landscape orientation) either now or after the exam has finished.
Field Name |
Data Type |
Field Size |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 11.11