ICT330 Database Management Systems Tutor-Marked Assignment Questions 2026, Singapore

University Singapore University of Social Science (SUSS)
Subject ICT330: Database Management Systems

ICT330  Tutor-Marked Assignment January 2026 Presentation

This assignment is worth 18% of the final mark for ICT330, Database Management Systems.

The cut- off date for this assignment is Monday, 02 March 2026, 2355 hours.

Note to Students:

You are to include the following particulars in your submission: Course Code, Title of the TMA, SUSS PI No., Your Name, and Submission Date.

Answer All Questions. (Total 100 marks)

Please note that Questions 1, 2 and 3 are unrelated although they have the same domain. Each question can be worked on independently of the other questions.

Question 1 (33 marks)

It is envisioned that all citizens can use a portal to make and/or cancel appointments for public health practitioner, categorised as general practitioners, specialists, physiotherapists etc.

The portal will allow citizens to describe medical conditions that they wish to see a health practitioner for. Citizens first choose from a standard list of medical conditions that best match their conditions. The standard list includes medical conditions, each medical condition has a unique code, a name and a description. After choosing the relevant medical conditions from the standard list, citizens enter a detailed description for each of those medical conditions selected. Each detailed description is timestamped.

Next, citizens make an appointment request. They select those medical conditions they have described earlier or for previous requests, that they wish to seek consultation for. A request id is generated with a request date and time. If the described conditions for the appointment request are newly entered, the system selects a general practitioner based on the earliest availability. It is a policy that appointment for newly described medical conditions are first seen by a general practitioner who will apply judgement to determine whether referrals for specialised consultations are required.

Note that the system records also a field of specialty, e.g., sports physiotherapy or internal medicine, for each medical condition in the standard list where applicable. Similarly, a field of specialty can be recorded for each health practitioner if applicable.

If the medical conditions selected for the current request are all those that have been previously seen by a health practitioner, then a health practitioner from the same specialty is selected. For example, if the citizen saw a sports physiotherapist previously for those conditions, then a sports physiotherapist (rather than a general practitioner) is selected for the new appointment request, again based on the earliest availability. It is necessary to record which slots for each health practitioner have been taken to allow the system to select earliest available suitable health practitioner. A field of specialty has a unique specialty code, a name and a description.

A consultation by any health practitioner may result in referral to other specialists or therapists or may result in a follow up consultation. For each referral or follow- up consultation, the system generates new appointment request. Hence, an appointment request may be initiated by a citizen or through a referral or for a follow- up consultation for the citizen. For appointment request for a follow up consultation, the same category of health practitioner will be assigned to the new request. Not all consultations initiate new appointment requests if it is assessed that is possible that a citizen’s medical condition is resolvable with the current consultation. Furthermore, not all appointment requests end with a consultation as some citizens may miss their appointment.

Currently, a consultation is either a medical consultation or a therapy session, e.g., physiotherapy. The health practitioner handling the consultation will record one or more consultation notes for each medical condition the consultation is for.

For a therapy session, the therapist records the duration of the session and the treatments provided e.g., manipulation, strengthening exercise. The therapist chooses from a standard list of possible therapy treatments. Each treatment has a unique code, a name and a description. The therapist then records details of the treatment performed e.g., neck rotation and extension for strengthening exercise.

For a medical consultation, the health practitioner may request for investigations to be carried out, e.g., blood test or ultrasound scan. The health practitioner chooses also from a standard list of possible investigations. Each investigation has a unique code, a name and a description. The results of the investigation should be recorded in the system once available.

A medical consultation can also result in a prescription for medication. The health practitioner chooses from a standard list of drugs. Each drug has a unique code, a name and one or more contraindications e.g., pregnancy. The health practitioner has to ensure that citizens are not allergic to prescribed drugs, as well as those drugs chosen do not interact negatively with each other. The health practitioner also indicates the dosage, duration and instruction for each prescribed drug in the system.

Without adding any attribute/identifier not described in the question, construct a conceptual entity relationship (ER) model from the statements of requirements to represent the data model, showing the data requirements in one diagram.

  • entities, with entities name, relevant attributes and identifier, (16 marks)
  • relationships with maximum and minimum cardinalities and relationship name (17 marks)

State your assumption(s) for only data requirements that are not specified. Show your model as ONE diagram.

Question 2 (32 marks)

You are given the table:

Prescription(prescriptionId, deliveryDatetime, patientId, name, address, drugCode, drugName, dosage, instruction, contraindication)

This table is used by a pharmacy to deliver prescribed drugs if a patient request for home delivery.

A prescription is identified by a prescription id. Each prescription contains one or more drugs, each with its required dosage. A drug is identified by a drug code, has a drug name and comes with one or more instructions e.g., after food and no alcohol, and one or more contraindications e.g., pregnant women and diabetic persons. A patient is identified by patient id.

Each prescription is assigned a delivery date and time and a patient to deliver to.

Question 2a

Formulate and list the functional and multi- valued dependencies (MVD). Do not introduce any new columns not in the given table. State your assumption(s) for only data requirements that are not specified. (7 marks)

Question 2b

Draw dependency graph and propose candidate key(s) for the table. Show composite keys in brackets. (4 marks)

Question 2c

(i) Explain whether the MVDs in your answer to Q2(a) are subsumed or not subsumed.

(ii) Apply the BCNF approach to normalise the table to Boyce Codd Normal Form (BCNF) and to Fourth Normal Form (4NF).

Show how you apply the steps for all FDs and unsubsumed MVDs. For each pair of two tables resulting from an iteration, state whether each of them is in BCNF or in 4NF or otherwise and explain why. (10 marks)

Question 2d

Assemble your BCNF and 4NF tables and constraints clearly by giving each table and the referential integrity constraint(s), if any, in the forms described below:

Tables in this form:
TABLE- NAME(col- name1, col- name2, …, col- name n)
indicate (PK) against the primary key and indicate (FK) against the foreign keys, if any.

Referential integrity constraint(s), if any, together with the child table in this form:
TABLE- NAMEx.col- namex1 …col- namexn must exist in
TABLE- NAMEy.col- namey1…col- nameyn

Note that there is no need to show the derivation steps or explain them for this question part. Simply provide the final tables, the primary keys, the foreign keys and the foreign key constraints. (11 marks)

Question 3 (35 marks)

All SQL statements for this question (create, insert and select statements) MUST be in text format.

You MUST also paste the screenshots of the result of executing all your SQL statements.

Question 3a

(i) Transform the ERD in Figure Q3(a)(i) into a logical model.

ICT330 Database Management Systems Tutor-Marked Assignment Questions 2026

Figure Q3(a)(i)

Show the tables in the logical model in the form:

TABLE- NAME(col- name1, col- name2, …, col- name n)
indicate (PK) against the primary key, indicate (FK) against the foreign keys, if any, including integrity constraints in the form: TABLE- NAMEx.col- namex1 …col- namexn must exist in TABLE- NAMEy.col- namey1…col- nameyn

(ii) Refer to the description of the columns for the column definition, and then code using SQL statements to implement all tables derived from the ERD in Figure Q3(a)(i).

All columns are required except for the column comments.

List your SQL create statements in the order that they should be executed.

1CT330

patientId An integer, auto generated with starting value 1 and increment 1.
name (of patient) At most 60 characters in length
dob Date and value must not be later than the current datetime
address At most 100 characters in length
consultDatetime Datetime
issue At most 1024 characters in length
diagnosis At most 512 characters.
cost A decimal number with 5 digits of which 2 digits are after the decimal point. Cost is between $80 and $320, with default value $120.
doctorId Exactly 5 characters in length, starts and ends with a letter with digits in between.
name (of specialist) At most 60 characters in length
specialty Exactly 20 characters in length, with a value either paediatrics, dermatology, rheumatology, urology, gastroenterology, geriatric, cardiology, respiratory, renal.
reviewDatetime Datetime with default current date and time.
Note that
1. (patientId, reviewDatetime) is an alternate key.
2. reviewDatetime must be at least 3 hours after consultDatetime
comments At most 1024 characters in length
rating A number from 1 to 5

Constraints for the relationships in Figure Q3(a)(i):

has delete and update are disallowed
attendsTo delete and update are disallowed
isGiven delete and update cascaded

(iii) Populate the tables you created in Question 3(a)(ii). You must identify the relevant data rows from the view shown in Table Q3(a)(ii) to populate the tables created for Question 3(a)(ii).

List your SQL insert statements in the order that they should be executed.

ICT330 Database Management Systems Tutor-Marked Assignment Questions 2026 ICT330 Database Management Systems Tutor-Marked Assignment Questions 2026 ICT330 Database Management Systems Tutor-Marked Assignment Questions 2026

Figure Q3(a)(ii)

Enlarged version of the data rows is shown in 3 vertical table cells, in Table

doctorid name specialty patientId name dateOfBirth address consultDateTime
2 C001S Samuel cardiology 1 Patrick 16/1/1955 12 Bedok Road 2/2/2026 9:30
3 C001S Samuel cardiology 2 Peter 15/2/1990 15 Clementi Road 2/2/2026 15:30
4 C001S Samuel cardiology 3 Philemon 18/3/1960 18 Dunman Road 4/2/2026 14:30
5 C012S Sarah cardiology NULL NULL NULL NULL NULL
6 D002S Sebastian dermatology 5 Paul 28/5/2010 28 Grange Road 2/2/2026 9:00
7 D002S Sebastian dermatology 5 Paul 28/5/2010 28 Grange Road 17/2/2026 11:30
8 G004S Simon gastroenterology NULL NULL NULL NULL NULL
9 G005S Sophie geriatric 1 Patrick 16/1/1955 12 Bedok Road 15/1/2026 11:30
10 G005S Sophie geriatric 1 Patrick 16/1/1955 12 Bedok Road 16/1/2026 11:30
11 G005S Sophie geriatric 3 Philemon 18/3/1960 18 Dunman Road 2/2/2026 10:30
12 P003S Silas paediatrics 4 Phoebe 22/4/2015 22 Frankel Road 4/2/2026 10:30
13 P009S Samantha paediatrics 4 Phoebe 22/4/2015 22 Frankel Road 9/2/2026 10:30
14 P010S Steven paediatrics NULL NULL NULL NULL NULL
15 R006S Spencer renal NULL NULL NULL NULL NULL
16 R007S Stella respiratory 3 Philemon 18/3/1960 18 Dunman Road 21/1/2026 14:30
17 R008S Susan rheumatology 5 Paul 28/5/2010 28 Grange Road 10/2/2026 10:30
18 R011S Sabrina respiratory NULL NULL NULL NULL NULL
issue diagnosis cost reviewDateTime
2 Irregular heart rhythm that is not steady arrhythmia 120 2/2/2026 12:52
3 Breathlessness climbing stairs, intermittent chest pain septal defects 240 NULL
4 slow and skipped heartbeat with chest pain arrhythmia 120 NULL
5 NULL NULL NULL NULL
6 dry and itching scalp psoriasis flare-up 120 NULL
7 scaly front of neck psoriasis flare-up 120 NULL
8 NULL NULL NULL NULL
9 Insomnia for the past 3 weeks, feeling a sense of loss anxiety 80 15/1/2026 17:30
10 Inflammation and pain in the finger joints arthritis 80 29/1/2026 14:33
11 Inflammation and pain in the knee joints arthritis 80 2/2/2026 13:35
12 flu with loud wheezing asthma attack 120 4/2/2026 14:15
13 fever, headache, stiff neck, photophobia and confused meningitis 120 12/2/2026 8:35
14 NULL NULL NULL NULL
15 NULL NULL NULL NULL
16 breathlessness with chest tightness and pain asthma 120 NULL
17 swollen and painful with psoriasis flare-up drug-induced psoriasis 100 11/2/2026 8:30
18 NULL NULL NULL NULL
comment rating
2 The examination was quite rushed 4
3 NULL NULL
4 NULL NULL
5 NULL NULL
6 NULL NULL
7 NULL NULL
8 NULL NULL
9 Doctor was patient and understood my burden 5
10 Doctor was careful in my physical examination 5
11 Doctor saw me 2 hours later than appointed time 1
12 The treatment provided some relief 5
13 Doctor was accurate in diagnosis and helped alleviate the pain 5
14 NULL NULL
15 NULL NULL
16 NULL NULL
17 NULL NULL
18 NULL NULL

Q3(a)(ii) Enlarged Version.

Question 3b

This question is based on the tables implemented from the ERD in Figure Q3(a).

You must NOT create views using the Create View statement, but you can use inline views in your query formulation. You MUST copy your SQL statements into your solution document in TEXT format. You MUST provide comments on each of your SQL statements. You MUST provide a screenshot of your output you get when you execute your SQL statement.

Marks are given to solutions that adhere to the above instructions.

Formulate SQL queries to perform the following tasks:

(i) List the afternoon (2 pm and later) consultations for pain and where the cost is at least $100$

patientId consultDateTime issue diagnosis cost doctorId
1 2026-02-02 15:30:00 Breathlessness climbing stairs, intermittent chest pain septal defects 240.00 C001S
2 2026-01-21 14:30:00 breathlessness with chest tightness and pain asthma 120.00 R007S
3 2026-02-04 14:30:00 slow and skipped heartbeat with chest pain arrhythmia 120.00 C001S

(ii) List the ages of the patients at the time of visits. You may take 1 year to be 8766 hours or \(3651 / 4\) days.

patientId name dateOfBirth address AgeYears consultDateTime issue diagnosis cost
1 Patrick 1955-01-16 12 Bedok Road 70 2026-01-15 11:30:00 Insomnia for the past 3 weeks, feeling a sense of loss anxiety 80
2 Patrick 1955-01-16 12 Bedok Road 71 2026-01-16 11:30:00 Inflammation and pain in the finger joints arthritis 80
3 Patrick 1955-01-16 12 Bedok Road 71 2026-02-02 09:30:00 Irregular heart rhythm that is not steady arrhythmia 120
4 Peter 1990-02-15 15 Clementi Road 35 2026-02-15 15:30:00 Breathlessness climbing stairs, intermittent chest pain septal defects 240
5 Philemon 1960-03-18 18 Dunman Road 65 2026-01-21 14:30:00 breathlessness with chest tightness and pain asthma 120
6 Philemon 1960-03-18 18 Dunman Road 65 2026-02-02 10:30:00 Inflammation and pain in the knee joints arthritis 80
7 Philemon 1960-03-18 18 Dunman Road 65 2026-02-04 14:30:00 slow and skipped heartbeat with chest pain arrhythmia 120
8 Phoebe 2015-04-22 22 Frankel Road 10 2026-02-04 10:30:00 flu with loud wheezing asthma attack 120
9 Phoebe 2015-04-22 22 Frankel Road 10 2026-02-09 10:30:00 fever, headache, stiff neck, photophobia and confused meningitis 120
10 Paul 2010-05-28 28 Grange Road 15 2026-02-02 09:00:00 dry and itching scalp psoriasis flare-up 120
11 Paul 2010-05-28 28 Grange Road 15 2026-02-10 10:30:00 swollen and painful with psoriasis flare-up drug-induced psoriasis 100
12 Paul 2010-05-28 28 Grange Road 15 2026-02-17 11:30:00 scaly front of neck psoriasis flare-up 120

(iii) List specialists without a consultation in January 2026.

doctorId name specialty
1 C001S Samuel
2 C012S Sarah
3 D002S Sebastian
4 G004S Simon
5 P003S Silas
6 P009S Samantha
7 P010S Steven
8 R006S Spencer
9 R008S Susan
10 R011S Sabrina

iv) List the number of specialists in each specialty, and the number with and without a consultation.

specialty Number of Specialists Number of Specialists With Consult Number of Specialists Without Consult
1 cardiology 2 1 2
2 dermatology 1 1 3
3 gastroenterology 1 0 4
4 geriatric 1 1 5
5 paediatrics 3 2 6
6 renal 1 0 7
7 respiratory 2 1 8
8 rheumatology 1 1 9

(v) For each patient, count the number of specialists consulted, the number of consultations and total cost paid per specialty. List according to patient id and specialty in alphabetical order.

patientId name specialty Number of Specialists consulted Number of Consult Total Cost
1 Patrick cardiology 1 1 21
2 Patrick geriatric 1 2 3
3 Peter cardiology 1 1 4
4 Philemon cardiology 1 1 5
5 Philemon geriatric 1 1 6
6 Philemon respiratory 1 1 7
7 Phoebe paediatrics 2 2 8
8 Paul dermatology 1 2 9
9 Paul rheumatology 1 1 1

(vi) List patients who see specialists from more than one specialty. List in descending order of number of specialties and ascending order of patient id.

patientId name Number of Specialty
1 3 Philomen
2 1 Patrick
3 5 Paul

(vii) List patients who see specialists from dermatology as well as those from rheumatology.

patientId name dateOfBirth address
1 5 Paul 2010-05-28

(viii) List patients who see specialists from cardiology but not from geriatric.

patientId name dateOfBirth address
1 2 Peter 1990-02-15

(ix) List specialists with the highest number of consultations.

doctorId name specialty
1 C001S Samuel
2 G005S Sophie

(x) List specialists with the most number of patients.

doctorId name specialty
1 C001S Samuel

xi) List specialists with the number of consultations they have, the number of reviews and their average rating (display with one digit after the decimal point). Specialists without reviews will have zero (display as a whole number) as their average rating.

doctorl name specialty Number of consult Number of Reviews Average rating
1 C001S Samuel cardiology 3 1 4.0
2 C012S Sarah cardiology 0 0 0
3 D002S Sebastian dermatology 2 0 0
4 G004S Simon gastroenterology 0 0 0
5 G005S Sophie geriatric 3 3 3.7
6 P003S Silas paediatrics 1 1 5.0
7 P009S Samantha paediatrics 1 1 5.0
8 P010S Steven paediatrics 0 0 0
9 R006S Spencer renal 0 0 0
10 R007S Stella respiratory 1 0 0
11 R008S Susan rheumatology 1 1 4.0
12 R011S Sabrina respiratory 0 0 0

(25 marks)

END OF ASSIGNMENT

Need Expert Help with ICT330 Database Management Systems TMA?

Native Singapore Writers Team

  • 100% Plagiarism-Free Essay
  • Highest Satisfaction Rate
  • Free Revision
  • On-Time Delivery

Get Help By Expert

Many students find ICT330 Database Management Systems challenging because it requires constructing a detailed conceptual ER model, analysing functional and multivalued dependencies, applying BCNF/4NF normalisation, and writing complex SQL queries with constraints. That’s why students choose Singapore Assignment Help, where experts provide database management assignment help aligned with university marking criteria. You can confidently use our assignment help for customised support. For assurance, explore our ICT330 assignment sample to see the quality we provide.

Answer

Looking for Plagiarism free Answers for your college/ university Assignments.

Ask Your Homework Today!

We have over 1000 academic writers ready and waiting to help you achieve academic success