INF3707
EXAM PACK
, UNIVERSITY EXAMINATIONS
Supplementary
JAN/FEB 2026
INF3707
DATABASE DESIGN AND IMPLEMENTATION
Welcome to the INF3707 exam.
Examiner name: Dr. B Chipangura
Internal moderator name: Prof. L Motsi
External moderator name: DR. N. Zhakata
This paper consists of 10 pages
Total marks: 100
Instructions:
• Download the Answer sheet template
• This is a closed-book exam.
• Answer all questions.
• The marks for each question are given in brackets next to the question.
• Answer the questions in order. If you want to answer a question later, leave a
blank space.
• You are not allowed to use mobile devices, calculators, the Internet, or Oracle XE
during this exam.
• Pledge that you have not given or received aid on this examination (You must
respond to this pledge when submitting your assignment.)
• Students are required to use the IRIS invigilator.
Additional student instructions
1. Students must upload their answer scripts in a single PDF file (answer scripts must
not be password protected or uploaded as “read only” files)
2. Incorrect file format and uncollated answer scripts will not be considered.
3. Email scripts will not be accepted.
4. Students are advised to preview submissions (answer scripts) to ensure legibility
and that the correct answer script file has been uploaded.
5. Incorrect answer scripts and/or submissions made on unofficial examination
platforms (including the invigilator cell phone application) will not be marked and
no opportunity will be granted for resubmission. Only the last answer file uploaded
within the stipulated submission duration period will be marked.
6. The mark awarded for incomplete submission will be the student’s final mark. No
opportunity for resubmission will be granted.
7. The mark awarded for illegible scanned submission will be the student’s final mark.
No opportunity for resubmission will be granted.
8. Submissions will only be accepted from registered student accounts.
9. Students who have not used the proctoring tool will be deemed to have
transgressed the Unisa examination rules and will have their marks withheld. If a
Open Rubric
,Question 1 40 marks
• Choose the correct answer.
• Write down the correct answer next to the question number (for example: 1.1. D) in your
examination book. Download the answer sheet template provided on the exam’s portal.
• It is compulsory to use the answer book.
Question 1.1
When you run a script that contains a coding error, the error message that MySQL Workbench
displays do not include. (2 marks)
A. an error code
B. brief description of the error
C. the likely cause of the error
D. which statement caused the error
Question 1.2
Which of the following expressions does not compute 10% of the balance due, where balance due is
the invoice total minus the credit total minus the payment total? (3 marks)
A. invoice_total - credit_total - payment_total / 10
B. (invoice_total - payment_total - credit_total) / 10
C. (invoice_total - (payment_total + credit_total)) * 0.10
D. ((invoice_total - payment_total) - credit_total) / 10
Question 1.3
When this query is executed, the number_of_invoices column for each row will show which number?
(3 marks)
SELECT vendor_name, COUNT(*) AS number_of_invoices,
MAX(invoice_total - payment_total - credit_total) AS balance_due
FROM vendors v JOIN invoices i ON v.vendor_id = i.vendor_id
WHERE invoice_total - payment_total - credit_total >
(SELECT AVG(invoice_total - payment_total - credit_total) FROM
invoices)
GROUP BY vendor_name
ORDER BY balance_due DESC;
A. number 1
B. number of invoices in the Invoices table
C. number of invoices for each vendor
D number of invoices for each vendor that has a larger balance due than the average balance due
for all invoices
3
, Question 1.4
Examine the structure of the CUSTOMER table created below:
Create table customer (
Customer# number primary key,
First_name varchar2(25),
Last_name varchar2(25))
Which one of the following insert statements is valid? (2 marks)
A. Insert into customer values (null, john, ‘smith’);
B. Insert into customer values (customer#, first_name, last_name)
values (‘john’, ‘smith’);
C. Insert into customer (first_name, last_name, customer#) values
(1000, ‘john’,’smith’);
D. Insert into customer values (1000, ‘john’, ‘smith’);
Question 1.5
What is the result of this function? REGEXP_SUBSTR('TR1-268-468R', '[1-9]-[1-
9]*[A-Z]'). (2 marks)
A. 268-468R
B. 1-268-
C. 8-468R
D. 1-268-468R
Question 1.6
Which of the following statements best describes what this UPDATE statement does? (3 marks)
UPDATE invoices
SET credit_total = invoice_total - payment_total
WHERE vendor_id = 10
AND invoice_total - payment_total - credit_total > 0
A. Updates the credit_total column for all invoices with a balance due so they don’t have a
balance due.
B. Updates the credit_total column for the first invoice with 10 in the vendor_id column and a
balance so it doesn’t have a balance due.
C. Updates the credit_total column for all invoices with 10 in the vendor_id column and a
balance due so they don’t have a balance due.
D. Updates the credit_total column for the first 10 invoices with a balance due so they don’t have
a balance due.
4
EXAM PACK
, UNIVERSITY EXAMINATIONS
Supplementary
JAN/FEB 2026
INF3707
DATABASE DESIGN AND IMPLEMENTATION
Welcome to the INF3707 exam.
Examiner name: Dr. B Chipangura
Internal moderator name: Prof. L Motsi
External moderator name: DR. N. Zhakata
This paper consists of 10 pages
Total marks: 100
Instructions:
• Download the Answer sheet template
• This is a closed-book exam.
• Answer all questions.
• The marks for each question are given in brackets next to the question.
• Answer the questions in order. If you want to answer a question later, leave a
blank space.
• You are not allowed to use mobile devices, calculators, the Internet, or Oracle XE
during this exam.
• Pledge that you have not given or received aid on this examination (You must
respond to this pledge when submitting your assignment.)
• Students are required to use the IRIS invigilator.
Additional student instructions
1. Students must upload their answer scripts in a single PDF file (answer scripts must
not be password protected or uploaded as “read only” files)
2. Incorrect file format and uncollated answer scripts will not be considered.
3. Email scripts will not be accepted.
4. Students are advised to preview submissions (answer scripts) to ensure legibility
and that the correct answer script file has been uploaded.
5. Incorrect answer scripts and/or submissions made on unofficial examination
platforms (including the invigilator cell phone application) will not be marked and
no opportunity will be granted for resubmission. Only the last answer file uploaded
within the stipulated submission duration period will be marked.
6. The mark awarded for incomplete submission will be the student’s final mark. No
opportunity for resubmission will be granted.
7. The mark awarded for illegible scanned submission will be the student’s final mark.
No opportunity for resubmission will be granted.
8. Submissions will only be accepted from registered student accounts.
9. Students who have not used the proctoring tool will be deemed to have
transgressed the Unisa examination rules and will have their marks withheld. If a
Open Rubric
,Question 1 40 marks
• Choose the correct answer.
• Write down the correct answer next to the question number (for example: 1.1. D) in your
examination book. Download the answer sheet template provided on the exam’s portal.
• It is compulsory to use the answer book.
Question 1.1
When you run a script that contains a coding error, the error message that MySQL Workbench
displays do not include. (2 marks)
A. an error code
B. brief description of the error
C. the likely cause of the error
D. which statement caused the error
Question 1.2
Which of the following expressions does not compute 10% of the balance due, where balance due is
the invoice total minus the credit total minus the payment total? (3 marks)
A. invoice_total - credit_total - payment_total / 10
B. (invoice_total - payment_total - credit_total) / 10
C. (invoice_total - (payment_total + credit_total)) * 0.10
D. ((invoice_total - payment_total) - credit_total) / 10
Question 1.3
When this query is executed, the number_of_invoices column for each row will show which number?
(3 marks)
SELECT vendor_name, COUNT(*) AS number_of_invoices,
MAX(invoice_total - payment_total - credit_total) AS balance_due
FROM vendors v JOIN invoices i ON v.vendor_id = i.vendor_id
WHERE invoice_total - payment_total - credit_total >
(SELECT AVG(invoice_total - payment_total - credit_total) FROM
invoices)
GROUP BY vendor_name
ORDER BY balance_due DESC;
A. number 1
B. number of invoices in the Invoices table
C. number of invoices for each vendor
D number of invoices for each vendor that has a larger balance due than the average balance due
for all invoices
3
, Question 1.4
Examine the structure of the CUSTOMER table created below:
Create table customer (
Customer# number primary key,
First_name varchar2(25),
Last_name varchar2(25))
Which one of the following insert statements is valid? (2 marks)
A. Insert into customer values (null, john, ‘smith’);
B. Insert into customer values (customer#, first_name, last_name)
values (‘john’, ‘smith’);
C. Insert into customer (first_name, last_name, customer#) values
(1000, ‘john’,’smith’);
D. Insert into customer values (1000, ‘john’, ‘smith’);
Question 1.5
What is the result of this function? REGEXP_SUBSTR('TR1-268-468R', '[1-9]-[1-
9]*[A-Z]'). (2 marks)
A. 268-468R
B. 1-268-
C. 8-468R
D. 1-268-468R
Question 1.6
Which of the following statements best describes what this UPDATE statement does? (3 marks)
UPDATE invoices
SET credit_total = invoice_total - payment_total
WHERE vendor_id = 10
AND invoice_total - payment_total - credit_total > 0
A. Updates the credit_total column for all invoices with a balance due so they don’t have a
balance due.
B. Updates the credit_total column for the first invoice with 10 in the vendor_id column and a
balance so it doesn’t have a balance due.
C. Updates the credit_total column for all invoices with 10 in the vendor_id column and a
balance due so they don’t have a balance due.
D. Updates the credit_total column for the first 10 invoices with a balance due so they don’t have
a balance due.
4