6.2 Data Integrity
AS Level · 22 questions found
What this topic covers
Section titled “What this topic covers”- How validation and verification protect data integrity
- Validation methods: range, format, length, presence, existence, limit check, check digit
- Verification during data entry: visual check, double entry
- Verification during data transfer: parity check (byte and block), checksum
Past paper questions
Section titled “Past paper questions”Draw one line from each verification method to indicate whether it is used during data transfer or data entry.
Verification Method
Parity byte check
Checksum
Visual check
Parity block check
Show mark scheme
1 [2 marks]
1 mark for 2 or 3 correctly connected verification method boxes, 2 marks for all 4 correct Verification Method Use Parity byte check Checksum Data transfer Visual check Data entry Parity block check
(a) Complete the table by describing each term. 2 marks 4 marks
Use
Data transfer
Data entry
| Term | Description |
|---|---|
| Copyright | ______ |
| Open Source (Initiative) |
______ |
| Shareware | ______ |
| Software Licence | ______ |
(b) Describe the purpose of a code of conduct. 2 marks
Show mark scheme
2(a) [4 marks]
1 mark for each correct row, max 4 marks Term Description Copyright Gives the holder the legal right of ownership of intellectual property Open Source Software can be freely copied, distributed or (Initiative) adapted Shareware Gives the user a trial period / limited functionality before a payment/sign up may be required Software A (legal) agreement that defines the rights and Licence terms of usage for the software
2(b) [2 marks]
1 mark per bullet point, max 2 marks e.g. • to create a safe, respectable and professional working environment for all employees • to ensure that employees understand the expectations • ... and the consequences of their actions • to provide a clear outline of what is considered good practice • so there are clear rules to follow in certain situations • to protect the reputation of the organisation // maintain public trust
Students are learning about a simple check digit method for data validation. In this method, a single check digit is appended to the end of an original number to give a new number.
The students are studying a method which:
calculates the sum of all the digits in the original number
uses integer division to calculate the remainder when the sum is divided by 10
uses the remainder as the check digit
appends the check digit to the original number, creating the new number.
For example:
| original number | 4162 |
|---|---|
| sum of all digits | 4 + 1 + 6 + 2 = 13 |
| remainder when the sum is divided by 10 using integer division | 3 |
| new number | 41623 |
The method described can be used to detect single-digit errors. For example, if the new number is incorrectly input as 41633, then the check digit does not match and the input will be rejected.
(a) An incorrect attempt was made to enter 41623. The first two digits were entered incorrectly; the last three digits were entered correctly. 2 marks
When this number was tested, the check digit was found to be correct and the input was accepted.
Identify an example of the incorrect attempt to enter 41623 and explain why this number would not be rejected.
Number
Explanation
(b) A module Generate() will take an integer value representing an original number and return an integer value representing a new number which includes the check digit. 7 marks
The original number is always at least three digits in length.
Write pseudocode for the module Generate()
Assume that the parameter is valid.
Show mark scheme
6(a) [2 marks]
Number: Any number where the first two digits sum to 5 / 15 and the last three digits are 623 Explanation: The remainder is the same / 3 // The sum of the (first four) digits is the same / 13
6(b)
Example Solution – no conversion to string FUNCTION Generate(Number : INTEGER) RETURNS INTEGER DECLARE Total, CheckDigit, Remainder, Num: INTEGER Num Number Total 0 WHILE Num > 0 Remainder Num MOD 10 Num Num DIV 10 Total Total + Remainder ENDWHILE CheckDigit Total MOD 10 Number Number * 10 + CheckDigit RETURN Number ENDFUNCTION Mark as follows: 1 Function heading, parameters return type and ending 2 Initialise Total 3 Loop while Num > 0 4 attempt to use MOD and DIV to sum successive digits in Number 5 completely correct sum of digits 6 Calculate CheckDigit 7 Add to original number and return number CheckDigit
Students are learning about a simple check digit method for data validation. In this method, a single check digit is appended to the end of an original number to give a new number.
The students are studying a method which:
calculates the sum of all the digits in the original number
uses integer division to calculate the remainder when the sum is divided by 10
uses the remainder as the check digit
appends the check digit to the original number, creating the new number.
For example:
| original number | 4162 |
|---|---|
| sum of all digits | 4 + 1 + 6 + 2 = 13 |
| remainder when the sum is divided by 10 using integer division | 3 |
| new number | 41623 |
The original number is always at least three digits in length.
When the new number is input, the check digit is used to validate the new number.
(a) A function Generate() is written to take an original number as a parameter and to return the check digit. 2 marks
Outline a test plan that could be used to fully test function Generate()
Assume that the parameter is valid.
(b) A function CheckNumber() will take an integer value and return the Boolean value TRUE if the check digit is correct, otherwise return FALSE Write pseudocode for the function CheckNumber() 7 marks
Assume that the parameter is valid.
Show mark scheme
6(a) [2 marks]
One mark per point: 1 Create a list of numbers that should generate all of the possible check digit values 2 and check that each / the / a generated value is as expected
6(b)
Example solution – numeric version FUNCTION CheckNumber(Number : INTEGER) RETURNS BOOLEAN DECLARE Sum, CheckDigit, Remainder: INTEGER Remainder Number MOD 10 Number Number DIV 10 CheckDigit Remainder Sum 0 WHILE Nummer > 0 Remainder Number MOD 10 Number Number DIV 10 Total Total + Remainder ENDWHILE IF Total MOD 10 <> CheckDigit THEN RETURN FALSE ENDIF RETURN TRUE ENDFUNCTION 1 Function Header including Identifier, parameters and return type 2 Initialise Sum 3 Set to least significant digit in Number CheckDigit 4 Loop while
0 Number 5 attempt to use MOD and DIV to sum successive digits in in loop Number 6 completely correct sum of all digits in apart from least significant Number digit in loop 7 Calculate check digit from sum 8 Compare with and return appropriate Boolean value CheckDigit Max 7
A banker stores personal data on their work computer.
(a) The banker needs to transfer confidential data across the internet. 3 marks
Identify and describe one method of restricting the risks posed by an unauthorised person intercepting the data whilst it is being transferred across the internet.
Method
Description
(b) The banker receives confidential data across the internet. The data includes a digital signature. 5 marks
Explain how a digital signature can make sure the data has not been changed during transmission.
(c) The data that is transferred can also be verified using a checksum. 3 marks
Explain how data can be verified using a checksum.
Show mark scheme
7(a) [3 marks]
1 mark for a correct method: 1 mark each to max 2 for a corresponding description Method: Encryption Description: • Data is encoded/scrambled using a key to create cipher text • if intercepted it cannot be understood • without being decrypted using a key
7(b) [5 marks]
1 mark each to max 5 • The sender hashes the document / message • to produce a digest • The sender encrypts the digest to create the digital signature • The message and the signature are sent to the banker / receiver • The receiver decrypts the signature to reproduce the digest • The receiver uses the same hashing algorithm on the document received to produce a second digest • The receiver compares this digest with the one from the digital signature • If both of the receiver’s digests are the same the document has not changed
7(c) [3 marks]
1 mark each to max 3 • The data is put through an algorithm to create a checksum value • The data and checksum are sent to the receiver • The receiver performs the same algorithm on the data • if both checksums match the data is verified
A module Parity() takes a string as a parameter. The parameter has the identifier BitString and it represents a binary value.
The module will concatenate a single character to the end of BitString by applying one of the two rules:
'0' if Bitstring contains an even number of 1s
'1' if Bitstring contains an odd number of 1s.
The modified value of BitString is then returned.
For example:
| Parameter | String returned | Explanation |
|---|---|---|
| "0010010110" | "00100101100" | there are an even number of 1s in the string passed to Parity() so a '0' is concatenated to the end of BitString |
| "101010" | "1010101" | there are an odd number of 1s in the string passed to Parity() so a '1' is concatenated to the end of BitString |
Write pseudocode for the module Parity()
Assume the parameter BitString can only contain the characters '0' and '1' 8 marks
Show mark scheme
5 [8 marks]
Example solution: FUNCTION Parity(BitString : STRING) RETURNS STRING DECLARE Index, Count: INTEGER Count 0 FOR Index 1 TO LENGTH(BitString) IF MID(BitString, Index, 1) = '1' THEN Count Count + 1 ENDIF NEXT Index IF Count MOD 2 = 1 THEN BitString BitString & '1' ELSE BitString BitString & '0' ENDIF RETURN BitString ENDFUNCTION MP1 Function heading and ending and parameter ( ) and return STRING type STRING MP2 Loop for length of BitString MP3 Extract current character in a loop MP4 Compare current character to or in a loop '1' '0' MP5 Increment count and was Initialised earlier in a loop MP6 Check if even/odd number of 1s MP7 Append or as appropriate '1' '0' MP8 Return amended BitString
A bank allows customers to access their accounts using an application that they can download onto a device such as a smartphone.
(a) The system that allows customers to access their accounts using the application is a client-server model. 4 marks
Describe the roles of the different devices in this model.
(b) The bank wants to protect the integrity of its data while transferring the data to other banks. 5 marks
Parity check is one example of data verification.
Complete the description of parity check when Computer A is transmitting data to Computer B.
Computer A and Computer B agree on whether to use
parity. Computer A divides the data into groups of ______ . The
number of 1s in each group is counted. If the agreed parity is
and the group has an even number of 1s, a parity bit of 1 is appended, otherwise a parity bit
of 0 is appended.
In a parity ______ check the bytes are grouped together, for
example in a grid. The number of 1s in each column (bit position) is counted. A bit is assigned
to each column to make the column match the parity. These parity bits are transmitted with
the data as a parity ______ .
(c) The bank also needs to keep its customers’ data private and secure.
(i) The bank’s network has a firewall. 3 marks
Explain how a firewall can help protect the customers’ data.
(ii) Customers need to use biometric authentication to access their accounts. 4 marks
One biometric authentication method is facial recognition.
Facial recognition uses Artificial Intelligence (AI).
Describe how AI is used in facial recognition.
Show mark scheme
5(a) [4 marks]
1 mark each: Identification of server in the bank scenario Description e.g. Receives requests, processes the requests Identification of client in bank scenario Description e.g. Sends request to the server, waits and outputs the response
5(b) [5 marks]
1 mark for each correctly completed term: odd or even 7-bits odd block byte Computer A and Computer B agree on whether to use odd or even parity. Computer A divides the data into groups of 7-bits . The number of 1s in each group is counted. If the agreed parity is odd and the group has an even number of 1s a parity bit of 1 is appended, otherwise a parity bit of 0 is appended. In a parity block check the bytes are grouped together, for example in a grid. The number of 1s in each column (bit position) is counted. A bit is assigned to each column to make the column match the parity. These parity bits are transmitted with the data as a parity byte .
5(c)(i) [3 marks]
1 mark each to max 3 : Compares all incoming and outgoing transmissions ... against set criteria/whitelist/blacklist Blocks all transmissions that do not meet rules Blocks data entering from specific ports Blocks unauthorised/unknown internal software transmitting data
5(c)(ii) [4 marks]
1 mark each to max 4 : e.g. Captures an image of the face Uses image recognition Trained to identify the features of a face in an image … using a large number of images Analyse images for facial features Uses the probability of a match
Robots are used to serve food and drink to customers at a restaurant.
(a) A robot navigates through the restaurant to the table it is serving. 2 marks
Complete the table by identifying two sensors that can be included in the robot and the purpose of each sensor in the navigation system.

| Sensor | Purpose of sensor in navigation system |
|---|---|
(b) The robot uses Artificial Intelligence (AI) to communicate with the customers. The customers speak to the robot to order their food and drinks. 3 marks
Explain how AI will be used in this part of the robot.
(c) The navigation system can be considered an example of a control system. 2 marks
Describe how feedback is used in a control system.
(d) The robot includes a touchscreen for the customer to make their payment. 4 marks
Describe the principal operation of a touchscreen.
(e) Program libraries were used when writing the robot’s software.
(i) State what is meant by a program library . 1 mark
(ii) Some program libraries include Dynamic Link Library (DLL) files. 4 marks
Describe the benefits of a programmer using a library with DLL files instead of using a library that does not include DLL files.
(f) The data from the robots is transmitted to a central computer using a wireless connection.
(i) Complete the table by identifying and describing two methods of data verification that can be used during data transfer. 4 marks
| Method | Description | |
|---|---|---|
| 1 | ||
| 2 |
(ii) Explain how encryption can protect the security of data during transmission. 2 marks
Show mark scheme
7(a) [2 marks]
1 mark for sensor and matching purpose to max 2 : Sensor Purpose of sensor in navigation system Pressure To detect if a table or other obstacle has been hit // to detect when food is put on/taken off the tray so it can move on Infra-red To detect if there is an obstacle in the way // to indicate that it has reached the desired table Sound To detect if someone is speaking so that it can use AI to decipher the speech and whether the robot is required to stop
7(b) [2 marks]
1 mark each to max 3 : e.g. Voice/speech recognition is used ... to identify if someone speaking The sound is recorded and analysed The audio recordings are compared to a database of words/sound waves ... to identify the word that has the highest probability of being said Natural language recognition is used Words are combined and compared to known sentences … programmed action(s) for matching sentence(s) are performed
7(c)
1 mark each to max 2 : Feedback ensures that a system operates within set criteria / constraints ... by enabling system output to affect subsequent system input ... thus allowing conditions to be automatically adjusted
7(d) [1 mark]
1 mark each to max 4 : Resistive: The space between the conductive layers is removed/the layers touch and a circuit is completed Capacitive: The electrical charge changes where the user pressed The point of contact is identified ... from the change in electrical field The software/microprocessor calculates the coordinates
7(e)(i)
1 mark for: Pre-written code/functions/routines that can be imported/called in another program
7(e)(ii) [4 marks]
1 mark each to max 4 : Maintenance not needed to be done by the programmer ... because the DLL is separate from program The calling program does not need recompilation by the programmer when a DLL file changes ... because the DLL file can be updated independently of the calling program … updates will apply to all programs that use the DLL file
7(f)(i) [4 marks]
1 mark for each correct method and 1 mark for corresponding description to max 4 : Method Description Parity byte An additional bit is added to make the number of 1s in the byte odd or even to match the parity. If a byte with an odd number of 1 bits is received when even parity is used, there is an error. Parity block Parity is calculated horizontally and vertically. A parity byte is created from the bits produced by the vertical parity check. This is sent with the data. The parity is re-checked when received and the position of an incorrect bit can be determined. Checksum A calculation is made from the data and the result transmitted with the data. The receiver repeats the calculation and compares the result with the value received. If the two are different, there is an error.
7(f)(ii) [2 marks]
1 mark each to max 2 : Encodes/scrambles data ... so if it is intercepted it cannot be understood Algorithm /key is required to decode the data
(a) State the meaning of privacy of data . 1 mark
(b) State the meaning of integrity of data . 1 mark
(c) Describe the following threats to a computer system. 4 marks
Phishing email
Spyware
Show mark scheme
5(a) [1 mark]
1 mark for: Either • Ensuring data can only be accessed by / disclosed to authorised persons Or • Ensuring data cannot be accessed by / disclosed to unauthorised persons
5(b) [1 mark]
1 mark for each bullet point ( max 1 ) • Ensuring the accuracy / completeness / consistency of data (during / after processing) • Ensuring the data is up to date
5(c) [4 marks]
1 mark for each bullet point. Phishing email ( max 2 ) • The email pretends to be from an official body • ... persuading individuals to disclose private information // by example such as bank details • ... or requesting authentication by redirecting to an unofficial/unauthorised website // inviting a user to click a link Spyware ( max 2 ) • Malware downloaded without the user’s knowledge • ... which secretly records the user’s actions / keystrokes on the computer • ... and sends logs of the actions to a third party
(a) Data verification is one method of protecting the integrity of data. 2 marks
Describe one other method of protecting the integrity of data.
(b) State one difference and one similarity between pharming and phishing. 2 marks
Difference
Similarity
(c) Explain how the data security risks of malware can be restricted. 3 marks
Show mark scheme
8(a) [2 marks]
1 mark for each bullet point ( max 2 ) • Validation // a validation method named or described • …protects the data by ensuring that the data is reasonable / sensible and within specified bounds
8(b) [2 marks]
1 mark for difference 1 mark for similarity Difference: • Pharming is malicious code that redirects to a fake website . Phishing uses an email to prompt user action. • Pharming is automatic . Phishing requires user action . Similarity: • Both try to obtain financial or personal information • Both are a false representation of an official organisation, e.g. a bank • Both make use of fake websites
8(c) [3 marks]
1 mark for each bullet point ( max 3 ). • Download programs from reputable websites / sources • …as these are less likely to contain malware • Backup / archive computer systems • …so they can be restored in case of data loss from malware program installation • Install and run anti-malware program • …so that regular scans can be made for known malware • …and if malware is found it can be quarantined / removed • …and computer’s anti-malware definitions are regularly updated • Using a firewall to block unused ports • …so that malware cannot enter the computer system • Deny administrator privileges to everyday users • …so that malware cannot be downloaded by everyday users • Avoid the use of / access to removable devices • …so that malware cannot be installed from these devices
An organisation uses a database to store data about the types of bird that people have seen.
(a) The database is managed using a Database Management System (DBMS).
(i) State what is meant by a data dictionary and give one example of an item typically found in a data dictionary. 2 marks
Definition
Example
(ii) State what is meant by data integrity and give one example of how this is implemented in a database. 2 marks
Definition
Example
Show mark scheme
2(a)(i)
1 mark for definition: Data about the data in the database // data about the structure of the database // metadata for a database 1 mark for a suitable example Examples: table names data types field names
2(a)(ii) [2 marks]
1 mark for definition Methods of making sure the data is consistent 1 mark for example Examples: Enforcing referential integrity If data in one table is deleted/edited all tables are updated // cascading update/delete Validation/verification rules
2(b)(i) [2 marks]
1 mark for each field name and table Foreign key Database table BirdID BIRD_SEEN PersonID BIRD_SEEN
2(b)(ii) [1 mark]
1 mark for all 3 correct lines Normal Form Definition First Normal Form All fields are fully (1NF) dependent on the primary key. Second Normal There are no repeating Form (2NF) groups of attributes. Third Normal Form There are no partial (3NF) dependencies.
2(b)(iii) [5 marks]
1 mark each CREATE TABLE start and end bracket Bird ID as CHAR/VARCHAR Name and size as VARCHAR/CHAR Bird ID as primary key Example answer: CREATE TABLE BIRD_TYPE( BirdID CHAR(4) NOT NULL, Name VARCHAR(9), Size VARCHAR(6), PRIMARY KEY (BirdID) );
2(b)(iv)
1 mark for each correctly completed space SELECT BIRD_TYPE.Size, COUNT (BIRD_TYPE.BirdID) AS NumberOfBirds FROM BIRD_TYPE, BIRD _ SEEN WHERE BIRD _ SEEN.PersonID = "J_123" AND BIRD_TYPE.BirdID = BIRD _ SEEN.BirdID GROUP BY BIRD_TYPE.Size;
A horse riding school uses a database, Lessons, to store data about lesson bookings.
This database is created and managed using a Database Management System (DBMS).
(a) The table contains names and descriptions of DBMS features and tools. 4 marks
Complete the table by writing down the missing names and descriptions.
| Name | Description |
|---|---|
| Data dictionary | ______ |
| Query processor | ______ |
| A model of a database that is not specific to one DBMS. | |
| A software tool that allows the user to create items such as tables, forms and reports. |
(b) Explain the reasons why referential integrity is important in a database. 3 marks
Show mark scheme
2(a) [4 marks]
1 mark for each correct feature or description Feature Description Data dictionary Data about the data in the database // data about the structure of the database // metadata for a database Query processor Software that allows the user to enter criteria, then finds and returns the appropriate result // software that processes and executes queries written in SQL Logical schema A model of a database that is not specific to one DBMS Developer interface A software tool that allows the user to create items such as tables, forms and reports
2(b) [3 marks]
1 mark each to max 3 Referential Integrity makes sure data is consistent Referential Integrity makes sure all data is up-to-date Referential integrity ensures that every foreign key has a corresponding primary key Referential Integrity prevents records from being added / deleted / modified incorrectly Referential Integrity makes sure that if data is changed in one place the change is reflected in all related records Referential Integrity makes sure any queries return accurate and complete results
2(c)(i) [2 marks]
1 mark each to max 2 Presence check to make sure that the (rider level) is entered Look-up / Existence check to make sure the rider level is only Beginner, Intermediate or Advanced Length check to make sure the rider level entered is either 8 or 12 characters Type check to make sure the rider level is alphanumeric
2(c)(ii) [4 marks]
1 mark each SELECT field Name FROM table HORSE WHERE with Intermediate / Beginner OR with Beginner / Intermediate Example answer: SELECT Name FROM HORSE WHERE HorseLevel = "Intermediate" OR HorseLevel = "Beginner";
2(c)(iii) [4 marks]
1 mark each SUM should be COUNT // SELECT COUNT(STUDENT.RiderLevel) The WHERE statement needs the table names before each field name // WHERE STUDENT.StudentID = LESSON.StudentID The OR should be AND // AND Date = #09/09/2023# Beginner is missing the speech marks // STUDENT.RiderLevel = "Beginner";
A shop rents cars to customers. The shop uses a relational database to store information about the rentals.
(a) Describe two ways in which a relational database addresses the limitations of a file-based approach. 4 marks
1
2
(b) Complete the table by writing the missing term or description for each database feature. 4 marks
| Term | Description |
|---|---|
| An object that data is stored about. | |
| Tuple | ______ |
| Secondary key | ______ |
| A field in one table that is linked to a primary key in another table. |
(c) The car rental database is not normalised. The current database design is: 4 marks
BOOKING(CarRegistration, StartDate, EndDate,
CarModel, CarColour, CustomerFirstName)
CUSTOMER(CustomerFirstName, CustomerLastName, EmailAddress,
TelephoneNumber)
Write a normalised database design for this database.
All tables must be in Third Normal Form (3NF).
Use the field names given and underline the primary key fields.
(d) The data is validated and verified when it is entered into the database.
(i) The car registration number must be: 1 letter, followed by 3 numbers, followed by 2 letters. 2 marks
For example, A123AA is valid but A12AA is invalid.
One way that a registration number can be validated is by using a presence check to make sure the registration number has been entered.
Describe two other ways that the car registration number can be validated.
1
2
(ii) Describe two ways that the car registration number can be verified when it is entered into the database. 2 marks
1
2
(iii) State why the car registration number might be incorrect even after it has been validated and verified. 1 mark
Show mark scheme
4(a)
1 mark for each bullet point. Mark in pairs. Max 2 for each description. Reduces data redundancy ... because linked tables mean that each data item is stored only once Reduces program-data dependency ... because the data is separate from the software so changes to the data do not require programs to be re-written Reduces data inconsistency // improves data integrity ... because by only storing data once it only needs to be updated once // changes in one table will automatically update in another // linked data cannot be entered differently in two tables Complex queries are easier to run Can provide different views ….so users can only see specific aspects of the database
4(b) [4 marks]
1 mark each Term Description Entity An object that data is stored about. Tuple A row of data in a table about one instance of an object. Secondary key An additional/alternative key used as well as the primary key to locate specific data // a candidate key that has not been chosen as a primary key. Foreign key A field in one table that is linked to a primary key in another table.
4(c) [4 marks]
1 mark each Only 3 tables with appropriate identifiers (i.e. one table for customer, one for booking and one for car) Appropriate Primary key in each table underlined Booking table includes Primary key from car and Primary key from customer as Foreign keys All original fields are in correct tables Example answer: BOOKING(BookingID, CarRegistration, CustomerID, StartDate, EndDate) CAR(CarRegistration, CarModel, CarColour) CUSTOMER(CustomerID, CustomerFirstName, CustomerLastName, EmailAddress, TelephoneNumber)
4(d)(i) [2 marks]
1 mark each to max 2 Length check: the registration number must be 6 characters long Format check: the registration number must be in the format letter- digit-digit-digit-letter-letter Type check: the registration number must be alphanumeric
4(d)(ii) [2 marks]
1 mark each Visual check: Manually compare the registration number entered with the source document Double entry: Enter the registration number twice and the computer compares to check they are the same
4(d)(iii) [2 marks]
The registration number on the original document might be in the correct format but may be the incorrect registration number for that car.
(a) State the difference between data verification and data validation . 1 mark
(b) A checksum can be used to detect errors during data transmission. 3 marks
Describe how a checksum is used.
(c) One validation method is a presence check. 2 marks
Describe two other validation methods that can be used to validate non-numeric data.
1
2
Show mark scheme
4(a) [1 mark]
data verification is checking if input data is the same as the original whereas data validation is checking that the data is reasonable / sensible
4(b) [3 marks]
1 mark for each bullet point (max 3) : • checksum value is calculated from the data before transmission // correct description of a checksum algorithm • ... this calculated value is transmitted with the data • receiving computer recalculates the checksum from the received data • if the checksum received and calculated match, no error has occurred // if the checksum received and calculated do not match, an error has occurred
4(c) [2 marks]
1 mark for each bullet point (max 2) . For example: • to make sure data is in the required format // only expected characters allowed • to make sure the data is already present in the system • to make sure the data contains the correct number of characters • to ensure that non-numeric data is entered
(a) A Central Processing Unit (CPU) contains several special purpose registers and other components.
(i) State the roles of the following registers. 2 marks
Memory Address Register (MAR)
Memory Data Register (MDR)
(ii) State when interrupts are detected during the Fetch-Execute (F-E) cycle. 1 mark
(b) A computer system contains a system clock. 2 marks
Describe the purpose of the system clock.
(c) Upgrading secondary storage to solid state typically improves the performance of computer systems. 2 marks
Identify one other upgrade to the hardware and explain why it improves the performance of a computer system.
Upgrade
Explanation
Show mark scheme
4(a)(i) [2 marks]
1 mark for each register: MAR: • holds address in memory from which data will be read / to which data will be written MDR: • holds the data/instructions which has been read from or is to be written to the address in the MAR
4(a)(ii) [1 mark]
after completion of the execute stage // before the cycle begins
4(b) [2 marks]
1 mark for each bullet point ( max 2 ): • synchronise operations • ... by creating timing signals • to keep track of the date and time / timestamp files • to process operations in the correct order / sequence
4(c) [2 marks]
1 mark for identification of a correct upgrade: 1 mark for a corresponding explanation: Examples: • increase quantity of RAM • ... so allowing more applications to reside in memory at the same time, saving disk access times • increase the size of cache memory • ... so that the CPU can continue working without waiting for data • increase clock speed • ... so that more instructions are performed in a time period • increase the number of processors / cores • ... so that more instructions are performed in parallel
A teacher uses a relational database, MARKS, to store data about students and their test marks.
The database has the following structure:
STUDENT(StudentID, FirstName, LastName)
TEST(TestID, Description, TotalMarks)
STUDENT_TEST(StudentID, TestID, Mark)
(a) Describe the advantages of using a relational database compared to a file-based approach. 4 marks
(b) Give the highest level of Normal Form (NF) the database MARKS is in and justify your choice. 3 marks
Normal Form
Justification
(c) (i) Sample data to be stored in the table STUDENT_TEST is shown. 5 marks
| StudentID | TestID | Mark |
|---|---|---|
12 |
A1 |
50 |
12 |
P10 |
100 |
13 |
A1 |
75 |
14 |
P10 |
60 |
Write a Structured Query Language (SQL) script to create the table STUDENT_TEST .
(ii) Write a Structured Query Language (SQL) script to find the average mark of students in test A7. 3 marks
(d) The mark a student is awarded in a test will be entered into the database. This mark needs to be a whole number between 0 and the maximum number of marks for that test (inclusive). 4 marks
Explain how data validation and data verification can be used when a mark is entered.
Show mark scheme
4(a)
1 mark per bullet point to max 4 e.g. Reduced data redundancy // less repeated data …because each item of data is only stored once Maintains data consistency // improves data integrity …changes in one table will automatically update in another ... linked data cannot be entered differently in two tables Program-data independence …changes to the data do not require programs to be re-written Complex queries are easier to run Can provide different views ….so users can only see specific aspects of the database
4(b) [5 marks]
1 mark for 3NF 1 mark per bullet for justification to max 2 There are no repeated attributes // it is already in 2NF Each field is fully dependent on the corresponding primary key // no partial dependencies No transitive dependencies
4(c)(i)
1 mark per bullet point Create table, table name, opening and closing brackets and as integer StudentID Mark as Varchar TestID Primary key correctly set up Foreign keys correctly set up e.g. CREATE TABLE STUDENT_TEST ( StudentId INTEGER, TestID VARCHAR, Mark INTEGER, PRIMARY KEY(StudentID,TestID), FOREIGN KEY(TestID) REFERENCES TEST(TestID), FOREIGN KEY(StudentID) REFERENCES STUDENT(StudentID) );
4(c)(ii) [3 marks]
1 mark for each point AVG(Mark) SELECT and FROM STUDENT_TEST WHERE clause e.g. SELECT AVG(Mark) FROM STUDENT_TEST WHERE TestID = "A7";
4(d) [4 marks]
1 mark per bullet point to max 3 for validation e.g. range check to make sure it is between 0 and max marks presence check to make sure a mark is entered type check to make sure an integer value is entered 1 mark per bullet point to max 2 for verification e.g. double entry - enter the mark twice and the computer compares them visual check – manually compare the mark entered with the mark on the input document
A company wants to store data about its employees in a computer system. The owner of the company wants to ensure the security and integrity of the data.
(a) (i) State why data needs to be kept secure. 1 mark
(ii) One way the data stored in a computer can be kept secure is by using back-up software. 2 marks
Give two other ways the data stored in a computer can be kept secure.
1
2
(b) The data about the employees is currently stored on paper. The data needs to be transferred into the computer system.
Data validation and verification are used to help maintain the integrity of the data.
(i) Identify and describe one method of data verification that can be used when transferring the data from paper to the computer. 2 marks
Method
Description
(ii) The company needs to transfer the date of birth of each employee into the computer system. 3 marks
Give one example of how each of the following data validation rules can be used to validate the date of birth when it is entered into the system.
Range check
Presence check
Length check
(iii) Explain why the data in the system may not be correct even after validating and verifying the data. 2 marks
Show mark scheme
5(a)(i) [1 mark]
1 mark from To stop the data being lost / corrupted / amended To make sure it can be recovered To prevent unauthorised access
5(a)(ii) [2 marks]
1 mark each e.g. Install / run a firewall Up to date Anti-virus / anti-malware (Username and ) ( strong) password Encryption Access rights
5(b)(i) [2 marks]
1 mark each Visual check Manually compare the data entered with the original (document) Double entry Enter the data twice and the system compares them to see if they are the same
5(b)(ii) [2 marks]
1 mark each e.g. Range check: Make sure it is after and before a specific date // e.g. between 1900 and today's date // check month is between 1 and 12 // check day is between 1 and month end Presence check: Make sure the date of birth has been entered Length check: Make sure there are at least 1 for day, 1 for month, 2/4 for year // must be 8 characters 1 mark per bullet point to max 2 Validation checks data is reasonable/within bounds it does not check that accurate data has been entered Verification checks if the data matches the data given it does not check if the original data is accurate
Xanthe wants to maintain the integrity and security of data stored on her computer.
(a) Explain the difference between data security and data integrity. 2 marks
(b) Xanthe uses both data validation and data verification when entering data on her computer.
(i) Describe how data validation helps to protect the integrity of the data. Give an example in your answer. 2 marks
Description
Example
(ii) Describe how data verification helps to protect the integrity of the data. Give an example in your answer. 2 marks
Description
Example
(c) Two malware threats are spyware and viruses. 3 marks
Give two similarities and one difference between spyware and a virus.
Similarity 1
Similarity 2
Difference
Show mark scheme
2(a) [2 marks]
1 mark per bullet point security is protecting data from loss / corruption • integrity is ensuring the consistency / accuracy of the data •
2(b)(i)
1 mark per bullet point validation checks that data is reasonable / sensible • example e.g. checking data is the right number / type of characters •
2(b)(ii) [3 marks]
1 mark per bullet point verification checks that data is the same as the original • by example e.g. double entry •
2(c) [3 marks]
1 mark per similarity to max 2 Both are pieces of malicious software • Both are downloaded / installed/run without the user's knowledge • Both can pretend to be / are embedded in other legitimate software when • downloaded // both try to avoid the firewall Both run in the background • 1 mark for difference Virus can damage computer data; spyware only records / accesses data • Virus does not send data out of the computer; spyware sends recorded • data to third party Virus replicates itself; spyware does not replicate itself •
When designing computer systems, it is important to consider the security, integrity and privacy of the data.
Draw one line from each measure to indicate whether it keeps data secure or protects the integrity of data.
Measure
Firewall
Double entry
Data Security
Presence check
Data Integrity
Access rights
Password 2 marks
Show mark scheme
1 [2 marks]
1 mark for 3 correct lines only from Data Security 1 mark for 2 correct lines only from Data Integrity Firewall Double entry Data Security Presence check Access rights Data Integrity Password
Xanthe wants to maintain the integrity and security of data stored on her computer.
(a) Explain the difference between data security and data integrity. 2 marks
(b) Xanthe uses both data validation and data verification when entering data on her computer.
(i) Describe how data validation helps to protect the integrity of the data. Give an example in your answer. 2 marks
Description
Example
(ii) Describe how data verification helps to protect the integrity of the data. Give an example in your answer. 2 marks
Description
Example
(c) Two malware threats are spyware and viruses. 3 marks
Give two similarities and one difference between spyware and a virus.
Similarity 1
Similarity 2
Difference
Show mark scheme
2(a) [2 marks]
1 mark per bullet point security is protecting data from loss / corruption • integrity is ensuring the consistency / accuracy of the data •
2(b)(i)
1 mark per bullet point validation checks that data is reasonable / sensible • example e.g. checking data is the right number / type of characters •
2(b)(ii) [3 marks]
1 mark per bullet point verification checks that data is the same as the original • by example e.g. double entry •
2(c) [3 marks]
1 mark per similarity to max 2 Both are pieces of malicious software • Both are downloaded / installed/run without the user's knowledge • Both can pretend to be / are embedded in other legitimate software when • downloaded // both try to avoid the firewall Both run in the background • 1 mark for difference Virus can damage computer data; spyware only records / accesses data • Virus does not send data out of the computer; spyware sends recorded • data to third party Virus replicates itself; spyware does not replicate itself •
Each of the following algorithms performs data validation.
State the type of validation check that each of the algorithms performs.
(a) ``` INPUT x IF x < 0 OR x > 10 THEN OUTPUT "Invalid" ENDIF 1 mark
### (b) ``` INPUT x IF x = "" THEN OUTPUT "Invalid" ENDIF <span class="part-marks">1 mark</span>
(c) ``` INPUT x IF NOT(x = "Red" OR x = "Yellow" OR x = "Blue") THEN OUTPUT "Invalid" ENDIF 1 mark
Show mark scheme
6(a) [1 mark]
Range (check)
6(b) [1 mark]
Presence (check)
6(c) [1 mark]
Existence (check)
Each of the following algorithms performs data validation.
State the type of validation check that each of the algorithms performs.
(a) ``` INPUT x IF x < 0 OR x > 10 THEN OUTPUT "Invalid" ENDIF 1 mark
### (b) ``` INPUT x IF x = "" THEN OUTPUT "Invalid" ENDIF <span class="part-marks">1 mark</span>
(c) ``` INPUT x IF NOT(x = "Red" OR x = "Yellow" OR x = "Blue") THEN OUTPUT "Invalid" ENDIF 1 mark
Show mark scheme
6(a) [1 mark]
Range (check)
6(b) [1 mark]
Presence (check)
6(c) [1 mark]
Existence (check)