Functional requirements
Functional requirements should relate to the tasks that the database system will perform, usually in the form of searching and sorting (queries).
Functional requirements may also provide detail around the data that must be held in the database.
In the example of the doctor's surgery, the functional requirements could include the following:
A table should exist storing basic patient details including fields for:
- patient ID
- first name
- surname
- date of birth
- address
- contact number
- next appointment time
- next appointment date
The basic patient data table should be linked to a medical records table.
The medical records table should include the following:
- Patient ID
- Medical record ID
- Diagnosed illness
- Medication
- Blood type
Simple and complex queries should exist to allow for searching and sorting on both tables.
Sorts should be generated to quickly sort data in both tables.
Forms will need to exist to allow both user groups to add or amend records.
In reality the example above would involve a much more complex database than this.
What is shown above is just an illustration to highlight how the end user and functional requirements may be determined.
Actual implementation would likely involve more than two tables to avoid anomalies. However, at National 5 level, only two tables need to be implemented and understood.