1. WJEC
ICT A2
IT4 Coursework
2011
NOREEN KAY
1
CHIEF EXAMINER ICT A LEVEL
2. Unit IT 4 Relational Databases
Coursework
• 40% of marks
• Time approx 50 hours
• Does not have to be real it can be realistic but
recommended a real organisation be used. Something
you either know about or can get information about.
• Each project must be individual and all of the candidates
own work
• Marked out of 100
2
3. Can use
Access or similar package
or
Visual basic
Or some combination of both
3
4. • Database projects should be in 4 distinct
sections.
– User requirements and design
– Implementation
– Testing
– User documentation and Evaluation
4
8. Title Page
Name of candidate
Candidate No
Title of project
Centre name and No
8
9. Background to the organisation
1 mark:
• What is it? where is it? 6 sentences
1 mark:
• What it does - must do data processing related to the
database you are going to do unless you justify
difference. Half a page
This must include what the organization does or intends to
do. It is no good saying I am going to create a stock
management database if there is no stock management
involved.
This link must follow throughout the project.
9
10. Background
• Ysgol Dafydd Jones is a large, modern Comprehensive School, situated somewhere in North
Wales. With a pupil population of nearly 1000, there is a high demand for the daily stuff of
education – pencils, pens etc and, more recently with the advances in technology; computer
discs, CD-Rs and memory sticks etc.
• At the moment this need is served by a school shop, run by a member of the ancillary staff with
the aid of a group of Sixth Formers. In the past, because it is a relatively small-scale operation,
there has been little need for a computerisation of its stock-take or financial management
systems.
• The range of stock carried by the shop is narrow, and since it is mostly of an ‘educational’ nature,
the stock is supplied almost entirely by only a handful of different suppliers. The system of stock
management is very simple, with the ‘shop keeper’ noticing when any particular item is about to
run out, and writing out an order whenever convenient. This has usually been done at the end of
the month, when typically several orders could be processed at the same time, making the task
more time-efficient At some times of the year, for example just before the examinations, certain
items become suddenly in higher demand. Writing out additional orders then becomes an added
nuisance. To keep things simple, the shop has a ‘standard order’ for each of its items, and will
reorder that number each time the stock runs low. For example, it carries a stock of twenty
scientific calculators and will re-order another twenty when only three or four are left on the
shelves. This has led to oversights and disappointments in the past (especially at exam times!)
• In order to check that stock is not ‘disappearing’ and to monitor sales, as each item is sold a tally
is kept in an exercise book, and at the end of the day this is totalled. This also gives warning that
some items may need to be reordered. Once a month, there is a stock take of all the items in the
store. This should be equal to the level of stock at the last stock take, minus the tally of items
sold since then. Quite often, due to the pressure of sales at peak times (morning break) a sale
may not be recorded in the tally book. This leads to awkward questions being asked at the end
of the year when the finances of the shop are reviewed.
• What the shop needs is a better way to record and monitor levels of stock, and to make
the process of reordering easier and quicker. The answer to this is to build a database
management system that will reorder ‘automatically’ when stocks get low. The ability to
order goods manually (i.e. not in set quantities) should also be retained in the system.
10
11. User Requirements
4 marks
• Data capture and inputs
• Processes including security, queries, calculations,
sorts, etc
• Reports and any other outputs
• Ethos and house style
2 marks
• Quality and depth of analysis
• ‘To gain full marks everything they go on to do
should have been requested by the user in general
terms’
Aim for approx. minimum of 3 pages long
11
12. User requirements / Expected outcomes / aims and objectives
Aim for approx minimum of 3 pages long
• Data capture and inputs 1
• Processes including security queries
calculations sorts etc 1
• Reports and any other outputs 1
• Ethos and/ or house style 1
• Quality and depth of analysis 2
•‘To gain full marks everything they go on to do should have been
requested by the user in general terms’
Some of the problems we saw last year were less evident but some centres
still award high marks for
• a retrospective list of what the candidate did
or
• a brief very outline of what the system is required to do.
12
13. Wrong!
My client wants ( I did a ) a multiple table search using
search criteriaTables to include Customers + booking +
rooms. Search to include Booking data= 12/08/2012
AND Room=Teifi
They have clearly copied and pasted from design
Right!
Mrs Jones often has enquiries about the
function rooms. Many people often ask either
to check an existing booking or check if a
certain function room is available for booking
on a certain date. Therefore she would like the
system to be able to produce this information
quickly. She would like to be able to type in
the name of the function room ad date into a
form on the screen and a list of bookings to
13
appear
14. User Interface requirements
1 mark
• Details of specific user interface requirements of the
system and how this reflects the ethos of the
organisation.
• What in general should the user interface look like
and what presentation style, colour schemes, logos,
corporate identity.
• This could relate to startup splash screens,
switchboards or menu type form. Navigation buttons
leading to data entry forms/ buttons to control common
procesess e.g print reports
• Health and safety considerations red/ green / easy to
read fonts no garish colour that could call eye strain
14
15. Hardware
1 mark
• Details of the minimum hardware
requirements for the system to function.
• Must be sensible to chosen topic and
can be just a list, it can be what the
user already has or a new system to
run the new database.
15
16. HARDWARE = NO MARKS!
• Dual-core AMD Athlon™ II X2 245
processor
• Genuine Windows® 7 Home Premium 64
bit
• Memory: 2GB
• Hard drive: 500GB
16
17. PROCESSOR
AMD Athlon II X2 Processor 245
- 2.9 GHz
- 2.0 GHz HT
- 2 x 1 MB L2 cache
- Dual CoreOperating System
Genuine Windows® 7 Home Premium 64-bitRAM2 GB DDR3
2DIMMGraphics cardATI Radeon 3000
Up to 891 MB shared graphics memory
OUTPUT DEVICE
• Screen type None NO PRINTER NO MARK
BACKUP Medium
• Hard drive 500 GB SATA 3G 7200 rpm
External BACKUP Medium
• Optical disk drive DVD writer
• SATA DVD RAM with LightScribe technology
Create silkscreen-quality disc labels directly from your
• PCMemory card reader6-in-1 memory card reader
• USB6 x USB 2.0 ports
• 1 external optical drive bay/ 1 internal HDD bay
*FireWireNoModem/EthernetEthernet 10/100BT integrated network
interface
• WiFiNoBluetoothNoVideo interfaceVGAAudio interfaceAnalogue audio
Microphone and headphone inputsTV outputNoExpansion card slot2 PCI-
Express x1SoundHigh Definition Audio 5.1WebcamNo
INPUT DEVICES
• Keyboard & Mouse USB optical mouse USB keyboard
17
18. Entity relationships
• 1 mark for basic One to ONE, ONE TO
MANY UNLINKED diagram
• Second mark for more complex system
• (showing all linking between entities)
• If errors, incorrect or unrealistic give
no marks.
• NB OK if this appears later on in the
design section.
18
19. Different ways of showing entity relationships
Doctor
Patients Hospital
Customer Order Stock
Supplier
19
20. Departments Supervisors
DepartmentID (PK) SupervisorID (PK)
1 1
Assigned Run
n n
Officers Cases
OfficerID (PK) CaseID (PK)
1 1
Officers_Cases __
n OfficerID (PK) (FK) n
Work On CaseID (PK) (FK) Work On
20
21. Not acceptable as ERD
Screenshot of the
implemented system
Copy of above or from design of tables showing primary and foreign keys
21
22. GET THE DESIGN RIGHT !
22
AND EVERYTHING ELSE WILL FOLLOW THROUGH
23. Data structure table showing
Fieldname + data type
1 mark for each table x 3
1 mark for design of
format of the data in each
table
Data dictionary
of at least 3
tables
Must have
fieldname, data
type and format
23
24. Normalisation
1 mark for normalised form of tables
• Diagram / tables showing normalised
tables
• Note that the tables can be designed
directly in normalised form, There is no
need to show the stages but you can
do so if you want to
24
25. The simple three table structure
Borrowers Loans Books
1 BookID PK
PupilID PK LoanID PK 1 If we were to
Surname ∞ PupilID FK
∞ ISBN FK develop the
Forename BookID FK Cost database further
FormGroup DateIssued Title ISBN would be
ReturnedY/N Genre
in a different table
Borrower Loans Books
25
26. The more complex third normal form
structure would be this but needs more
tables
Borrowers Loans Books
1 BookID PK ISBN
PupilID PK LoanID PK 1
∞ PupilID FK ISBN FK
∞1 ISBN PK
Surname
∞∞
Forename BookID FK SupplierID Title
FormGroup DateIssued Cost
∞ PublisherID FK
ReturnedY/N Author
Publishers
PublisherID PK
1
Reqd.
Suppliers
1 Details……
SupplierID PK
Reqd.
However we only need Details……
to produce a three table
solution and need not go
to fully third stage 26
normalisation
27. This might be our simple three table
structure
Borrowers Loans Books
1 BookID PK
PupilID PK LoanID PK 1
Surname ∞ PupilID FK
∞
Forename BookID FK Cost
FormGroup DateIssued Title
ReturnedY/N Genre
Borrower Loans Books
27
28. Normalisation: 1 mark for identifying primary key and foreign keys
Must show links and identify Primary and Foreign keys
PK PK PK
FK
FK
28
29. DATA VALIDATION
• 2 DIFFERENT TYPES
NOT 2 RANGE CHECKS
NOT LIST BOXES/COMBO BOXES
DO NOT use input mask wizards provided by the
software e.g. postcode masks in Access
29
30. Validation techniques
• Use Range checks
• Use own ORIGINAL design of input mask
• Use OR techniques
• LENGTH CHECKS
However candidates lose marks by not fully designing the
validation
e.g. ‘I will put a range check on an ID number’ is not
sufficient.
Candidates should fully explain e.g. “I will put a range check
on and ID number which states it is Between 1 and 9999
Remember you have to test for extreme data so advise using one range check
30
somewhere in the design will help you later on.
31. Common Problems
• Candidate does not design two different
types of validation they may only design 2
range checks.
• All candidates in the Centres design the
exact same two types of validations e.g.
all do range check on date of delivery and
all do length check on telephone
no????????
31
32. PROBLEMS
• Candidates do a range check on length of
telephone no.
• NOT data type checks
• Presence checks!!!
32
35. Design of security
1 mark
This could be using software own security locking
system or original code.
•It could be a flowchart (but not an identical one if used in
Code section)
•It could be a bullet point sequence
•It could be a paragraph describing what will happen
35
36. Example of security statement
The system must be secure in order to prevent unauthorised access
and possible deletion/corruption of data.
• For this reason, access to the system will be via a password.
• Editing of the data tables will not be possible directly, and all
changes must be made through separate data entry forms.
• There must be access for an administrator to edit the data
tables directly in case of mistakes (order cancelled) but only
through an administrator page with separate password access.
• There must be a procedure for backing up daily changes, and a
regular
• routine for making backups of the whole system
36
38. User interface
1 mark
• Design of user-friendly, menu driven, front
end interface (Hand drawn or DTP design)
• It should reflect the house style required by
the user
• Could be main menu system
• Could be switchboard
• Note this is pre implementation so no
screenshots of forms can be counted as
design
38
39. VERY POOR design of switchboard/menus ?????
NO DATA in it just boxes and fonts
39
42. Design of 2 data entry forms 1
form with a sub form
• (Hand drawn or DTP design)
• 1 mark design of at least two forms;
• 1 mark for design of form with a sub form
• 1 mark is for quality and detail-names of all fields and some of
the following;
– sample data in each of the three forms
– special features on each of the three forms e.g. command
buttons
– adherence to house style shown on each of the three forms
Note this is pre implementation so no screenshots of
forms can be counted as design
42
43. No Detail
Employees Details
Employee ID
First Name
Last Name
Internal Extension
43
44. Logo
•Layout
•House style
(font names and size
and logo)
•Fieldnames
•Features
command buttons
•Example data X
(should be added)
44
45. DETAILED Design of forms and forms with a subform
•Layout
•House style
•Fieldnames
•Features
•Example data
45
46. DETAILED DESIGN OF QUERIES
Query type
• Single table query with search criteria x 2 (NOT SORTS)
• Multiple table query with search criteria
• Multiple table query without search criteria
• Parameter query
• Action Query : either an append; delete or update query
Detailed design
• Fieldname logical operator and criteria to be used;
• tables to be used
• and any other relevant point e.g. fields/calculations/test data
• Realistic reason why you need this data.
NOT a description of what the query outputs e.g.
‘The manager wants a list of all the female soccer
players’ is a description of the output.
WHY THE MANAGER WANTS A LIST OF ALL THE FEMALE
SOCCER PLAYERS .... IS THE REASON
46
47. • Although reasons have improved in some
centres they are still descriptions of what the
query does.
Centres should note;
• Reasons for queries could be strengthened and
could include fieldnames and operators and
criteria where required.
• Where candidates do a similar topic e.g. hotels,
candidates should be encouraged to design
different queries.
47
48. Query types
• 2 Single table queries with search criteria x2
Both use one table and both have criteria and each has a realistic reason
Do Not do a sort
• Multiple table query with search criteria x1
1 query which uses linked tables and which has criteria and a realistic reason
• Multiple table query without search criteria x1
1 query which uses linked tables and which has NO criteria and a realistic reason
(The most common use of this could be to select only certain fields for a report or another
common use is to sort data and the third most common use is to produce a calculation).
• Parameter query
This query has search criteria and could be on a single or linked tables depending upon the
reason.
• 1 Action Query : either an append; delete or update query
All of these queries should have:
• Fieldname logical operator and criteria to be used; tables and any other relevant point
• Realistic reason why you need this data to be produce / what will it be used for?
48
50. No marks; there must be criteria
and the justification is the reason
but have not designed how to get
the data from the database
X
X
No marks; justification is the
reason but have not designed how
to get the data from the database
No marks; justification is the
reason but have not identified what
tables or fields are required X
No marks; justification is the
reason but have not designed how
to get the data from the database
X
No marks Query not fully designed
X
X
No marks Query not fully designed.
What data will be used?
50
52. DETAILED DESIGN OF REPORTS
• There must be a realistic reason why your organisation
wants these reports. In addition to reasons, report design
must
1 mark
• Clearly display fields and contain reasonable detail
• Details of the data/tables or queries required
• Allow for suitable original headers and footers
• Have sorted and grouped data
• 1 mark
• design of a calculations, totals or other statistical fields
(Now must also be on a report as well as form or query )
52
53. POOR DESIGN OF A REPORT
Details of the data/tables
or queries required X
This is a space for the company logo that will be pre-printed
onto the paper. Allow for suitable original
headers and original
footers X
Customer’s Address User’s Address
Have sorted data and
grouped data X
Order Quantity Description Include detailed
No i.e. material and size
Price (the lot or per 1,000) cost of calculations, or other
Items
VAT 17. 5% cost of statistical fields X
VAT
Total
Clearly display fields
(Cost of (messy) and data X
Items +
VAT)
53
55. Design and explanation of a
calculation in a report
Calculation in the report should be different to
that in the query or form.
Many candidates use the same formulas and this
should be discouraged.
=Date() is not acceptable as a calculation in a
report.
=Now() is not a formula and is not acceptable as a
calculation in a form.
55
56. Design a calculation in a query or form
• Design at least one calculated field using
facilities provided by the software.
• Example;
• To work out the field cost with the VAT
• COSTincVAT =[COST] * 1.175
• A second needed if mark already awarded for
this in design of Multiple tables queries with
no criteria
• One calculation cannot be awarded more
than 1 mark
56
57. Calculations in a query or form
• WRONG
• My calculation will add up the total cost of
the invoice
• CORRECT
My calculation will add up the total cost of
the invoice
=SUM[Item1]+[Item2]+[Item3]
57
59. Design of Calculation in Form
• Purpose of calculation: to display on the order form an amount equivalent
to the grand total of all the individual items ordered on the subform.
• Note that a calculation has already been designed for the subform which will
work out the total cost of each individual item ordered. This is achieved with
the expression
• =[quantity_ordered]*[purchase_price] and is given the label Expr1.
• The second calculation will be in the form of
• = sum ([quantity_ordered]*[purchase_price]) (or alternatively = sum
(Expr1)
• The text box which will hold the (= sum) calculation has to be placed in the
subform footer. For the calculation to appear on the main form, I have to
create a second text box on the main form itself, and the control for this text
box has to point to the (= sum) calculation in the subform footer.
59
61. A note about Calculated fields
It is possible to get 4 marks here but only if there are
4 separate and different calculations.
• 1 mark if one calculated field is on a form or query
• 1 for the calculation in a report
• 1 mark if you use visual basic to produce a calculation
• 1 mark if there is a calculated field in a multiple table designed to
produce this calculation.
• NB Marks cannot be awarded twice for the same calculation
• Calculations on reports / forms / queries / vb must all be
different calculations
61
62. Automated routines using
programming code
2 marks
• Design at least 2 different simple Visual Basic / code procedures.
• A screenshot or printout of implemented code is not acceptable as design.
• Code: pseudo code or flowcharts or where applicable hand drawn designs are
acceptable methods of design.
• Examples could be:
– initial start up splash screens
– code for own validation procedures
– calendar controls
– toggle buttons to hide data
– username and password routines code (Candidates should not use the same
flowchart as in security section)
– own calculation routines written in VB and different from that below
– automatic data entry into fields based on a choice in another field
• NOT MACRO wizards in Access
• NOT simple things like putting =Now() in a text box / msgbox only
• DO NOT COUNT CALCULATIONS AND VALIDATIONS, etc TWICE
62
64. Do NOT put implemented systems in the design section
64
65. Clearly copied and pasted back
from implemented section so not
design
• Private Sub Option4_Click()
• Dim strInput As String
• Dim strMsg As String
• Beep
• strMsg=”this form is for administration only.” &vbCrLf & vbLf & “please key in
the admin password to allow access”
• strInput=InputBox(prompt:=strMsg, title:=”WARNING”)
• If strInput = “PASSWORD” Then ‘password is correct
• DoCmd.OpenForm “frmAdmin”
• DoCmd.Close acForm, Me.Name
• Else
‘password is incorrect
• MsgBox “incorrect password!” & vbCrLf & vbLf & “you are not allowed access
to this section”, vbCritical, “Invalid Password”
• End If
• Exit Sub
• End Sub
65
70. NOT ACCEPTABLE as presence
check as selected a wizard.
Candidate has not done anything
Required = YES
70
71. • =IsNull([UnitPrice])Returns True, if the UnitPrice field
does not contain a value.
• =IsNull("")Returns False, because a zero-length string is
not a null value.
• =IIf(IsNull([Region]),[City]&" "& [PostalCode],[City]&"
"&[Region]&" "& [PostalCode])Displays the values of the
City and PostalCode fields if Region is Null
• Null: A value you can enter in a field or use in
expressions or queries to indicate missing or
unknown data.
• In Visual Basic, the Null keyword indicates a Null
value.
• otherwise, it displays the values of the City, Region, and
PostalCode fields, separated by spaces.You can use
these expressions in a calculated field in a query.
71
73. Create Macros
NOT Wizards e.g. COMMAND BUTTONS ON FORMS
• Create two macros
• Must be different types
• For example:
– Navigation controls from User Interface and forms.
– Other macros you have used to enhance your solution. e.g.
AutoExec, Print report , email macro, etc.
Note you can only have one navigation macro the other
macro must have a different purpose.
(Screenshot evidence of construction required)
73
74. Correct macro use Incorrect macro using command
button wizards
Once you have created your own macro
you can of course assign it to a command
button event.
74
76. Create 2 forms for data entry
and create a form with a subform
76
77. Two Single table queries with criteria
Query finds all stock items which are
below the minimum stock level. This
query used as basis for automatic
ordering system.
(Note also calculated expression to find
cost of ordering fixed replenishment
amount of each item)
77
78. Implementation of queries
Multiple table query with criteria
Correct because we can
see the criteria and it
matches the query that
was designed
Multiple table query without criteria
78
80. Action query - Update
Evidence of construction of update queries.:
This one is used to update the stock list
(tblStock) when new stock arrives. The new
stock is added to the form frmNewStock and
a button on the form runs this update query.
When the ‘run’ is clicked in design view,
nothing happens on-screen, but a check on
the table tblStock confirms that the amounts
of stock have been updated by the amounts
shown.
Updated = quantities of new stock added
to the existing quantities of those stock
items.
80
81. CREATE A REPORT(S)
ORIGINAL Headers and
ORIGINAL footers
NOT the default =now()
Sorted and grouped data
Not just sorted data must have
both
Calculated field
81
82. What do we mean by
sorted grouping?
Date Customer (Grouped) Booking Ref
(Sorted)
Evans A 1243
12/08/08
Evans A 4545
Davies G 7455
Smith R 3213
Smith R 7979
Evans A 8986
13/08/08
Peters B 7444
Peters B 8524
Richards T 3546
If you haven’t got more than one record for a
customer then the grouping will not work !
Remember that when entering data 82
83. SORTED AND GROUPED
NB If you have not entered suitable data this will not 83
produce the required evidence
84. Implementation of calculation in a
report
•Calculated fields in the report should total up data
• from more than one record.
84
85. Problem
report
Original header but no
original footer
Data not suitable to
show sorted grouping
worked even though
technique was shown
No calculated field
shown
0 marks out of 3 85
86. Single record reports
Single record reports do
not show sorted grouping.
Will need a second report 86
to show this aspect.
89. Testing
•There must be a systematic test plan.
•Tests plan should include:
–Expected and actual outcomes
–Reasons for processes such as sorts
and searches (if not provided earlier)
•Evidence of all tests either in the form of
printouts or readable screenshots
89
91. Testing user
interface
Teachers should sign to say they
saw all routes through the system
working
91
92. Show
Testing validation
screenshots
Valid No error message
Show screenshot of
valid data
Invalid 1 Show screenshot of
error message
Invalid 2 Show screenshot of
error message
Extreme No error message
Range check Show screenshot of
Format e.g. must contain 15 extreme but valid data
characters 92
94. Testing security
• There is 1 mark for:
Testing security e.g. test with wrong user name and password and
get an error message
If the candidates has not used their own code for this this might be
testing e.g. the Access database security password tool they have
set up.
Candidates may not have done any security routines for their vb
code but these would have to be tested as prescribed in the test
plan
If however they did write their own username and password
code:
• They would get
Testing security: There is 1 mark for testing security measure e.g. test
own code with wrong user name and password and get an error message
Testing first automated routine: They would provide a second test e.g.
testing own code with correct username and password
94
95. Test queries
• RUN them
• Watch out for testing parameter queries!!
How could this have
produced this output??? 95
97. Test report
• Print it out
NOT Screenshot them
Need to test they actually printout with
professional formatting
97
98. Testing automated routines
• If they created username password they
would test it. ( first code test)
• If they created 2 other different automated
routines using code they would test them
both now
98
100. User documentation
• Details of where to find the database
(directories) and how to open the database
• Details of how to enter passwords or other
security procedures
• Details of how to navigate the user interface
100
101. • Details of how to
- add, delete, edit, (Must show whole process not
just say press this button…..)
- print and save data
- in records via examples given in screenshots of
data entry forms
• Examples of two different ORIGINAL (not default)
validation text to support different validation
procedures
• Instructions about using (So no screenshots in
design view which is creating them) different types
of queries (1mark =2 queries)
• Instructions about how to print one report (Often not
there)
101
102. • Instructions about disaster recovery
techniques
NOT just how to back up. How do we
restore the database to the hard drive if
the original gets destroyed - must have
some specific detail relating to their own
database not a general description.
BACKUP + RECOVERY and re-installation
102
103. Sorting out the As from the Bs
•An A grade evaluation would be 6 or more pages long
•NOT a running commentary of what you did
•Evaluation what is good about your database system including data capture and
user documentation and saying why it adds value to the organisation
•Be critical and say its weak points and why
•Suggest concrete future developments not general ones such as “I could more
data”, “I could change the colour scheme’. 103
104. Evaluation
•There is an attempt to relate to what the user wanted not just a copy
and paste of user requirements. Not just a running commentary of what
you did
•There is an attempt to say what improvements the new system has
brought and how this has added value to the system
•There is no criticism of his solution
•There are no future developments suggested 104