Professional Documents
Culture Documents
Unit 4 Database Design and Development 4
Unit 4 Database Design and Development 4
Anusha Asim
Pearson ID: RF64842
HND
Regent Middle East
Contents
UNIT 4 DATABASE DESIGN AND DEVELOPMENT.................................................................1
Activity 1.......................................................................................................................................3
Databases: Relational and Non-Relational...............................................................................3
Databases Across Different Sectors.........................................................................................7
Database System for Dubai Properties.....................................................................................8
Design Phase...............................................................................................................................9
User Requirements......................................................................................................................9
System Requirements.................................................................................................................9
Data Dictionary..........................................................................................................................10
Entity Relationship Diagrams (ERDs)......................................................................................11
Input and Output Design...........................................................................................................15
Evaluation of Design.................................................................................................................30
Overview of Object-Oriented Databases.................................................................................33
Database Development Phase.................................................................................................33
Considering and Choosing Database Platform......................................................................33
Developing Tables.....................................................................................................................34
Table Relationships...................................................................................................................54
Running Queries........................................................................................................................55
Assessing Queries....................................................................................................................68
Developing and Designing Forms...........................................................................................70
Screenshot.................................................................................................................................82
Developing and Designing Reports.........................................................................................86
Security and Maintenance Implementation.............................................................................89
Testing........................................................................................................................................91
Assessment of Testing.............................................................................................................98
Evaluation of the Database Solution.....................................................................................102
Documentation.........................................................................................................................106
Evaluation for Continuous Improvement and Effectiveness..............................................110
References...............................................................................................................................112
Student Declaration Form.......................................................................................................114
Activity 1
Relational Database
A relational database uses relational algebra to define relationships among elements stored in
the database.
The notion of the relational database has been proposed by E. F. Codd in 1970. In this type of
database, the data is stored within tables composed of rows and columns. Thus, all the factors
contribute to the final result of various data points.Hence, the name “relational”. The main
feature is the development of the relations between the tables. In turn, this helps to run a query
and also get access to edit data from any table. Transactions take place in relational databases
usually using the ACID criteria (Atomicity, Consistency, Isolation, Durability) to ensure that the
information is consistent and reliable. These data systems are managed using relational
database management systems (RDBMS) such as MySQL, PostgreSQL, and Microsoft SQL
Server.
Principles
1. Tabular Structure: Relational databases offer the ability to organize and arrange data in
the form of tables that can easily be searched through using rows and columns.
2. Data Integrity: Maintaining data integrity is also another vital notion of these databases.
The relations between their tables are keys-based, so achieving data integrity and
accuracy is possible.
3. ACID Properties: Dealings in the world of relational databases take place following
ACID principles (Atomicity, Consistency, Isolation and Durability). This hence is
presented as the thread that ties together reliable and secure systems for data
management.
Uses:
2. Financial Systems: Applications dealing with financial transactions can benefit from the
ACID properties of relational databases, since they need to ensure the accuracy and
reliability of the data they manage.
Relational databases are the optimal choice in scenarios where data relationships and integrity
are critical.
Non-Relational Database
A non-relational database, also referred to as NoSQL (Not Only SQL), is a dynamic data
storage system, diverging from the structured and tabular model of relational databases. NoSQL
databases are typically designed to handle large volumes of unstructured or semi-structured
data. The term "NoSQL" does not imply the absence of SQL queries but rather refers to a
departure from the traditional relational database model.
Principles:
1. Flexible Schema: Non-relational databases follow a dynamic and flexible approach for
data storage, allowing for the insertion of data without a predefined criteria.
3. Diverse Data Models: Non-relational databases support various data models. This
includes document-oriented, key-value pairs, column-family and graph databases. This
demonstrates the versatility that they provide for different types of data.
Non-relational databases are designed on the BASE (Basically available, Soft state,
Eventually consistent) principles. “Basically available” means that the system remains
operational, even in challenging situations. It prioritizes availability over accuracy, ensuring that
users can still access and interact with the system even if it's dealing with changes or updates.
“Soft state” refers to the flexibility of the system and as mentioned above, “Eventual
consistency” refers to the consistency model that allows for the data store to have high
availability.
Uses:
1. Big Data and Real-Time Applications: Non-relational databases are optimal for
applications that deal with massive datasets and require real-time processing, such as
analytics and social media platforms. For example, Instagram uses Cassandra, a non-
relational database.
2. Dynamic Data: Contexts where data structures are demonstrating their swiftly evolving
characteristics, subject to frequent changing, are ideal for the open-ended and flexible
structure of NoSQL databases. Content management systems are a great example of
this.
Many well-known companies use a hybrid of relational databases and relational databases. For
example, Instagram uses different relational and non-relational databases for its various
operations. This is useful due to the unique aspects of each database, making it well-suited for
specific purposes.
Data Structure Tabular structure with rows and Flexible and dynamic,
columns. supporting various models
Query Language Utilizes SQL (Structured Query May use various query
Language) languages or APIs(Access
Point Interfaces), and SQL
support can vary
Data Modeling Normalized data modeling is Denormalized and flexible
common to reduce redundancy data modeling
Use in Development Well-suited for projects with Ideal for agile development
stable and well-defined where data requirements
requirements, especially those evolve rapidly or are not well-
using the waterfall model. known initially.
1. Healthcare:
a. Patient Records: Storing and managing patient records.
2. Finance:
a. Transaction Processing: Real-time transaction processing.
3. Education:
a. Student Information Systems: Managing student records, grades, schedules, and
educational resources, as well as making administrative procedures much more
efficient.
4. Retail:
a. Inventory Management: Supporting inventory tracking, hence, make the
management of the supply chain more organized.
5. Manufacturing:
a. Supply Chain Management: Tacking materials and ensuring timely production.
7. Government:
a. Public Services: Government agencies rely on databases for managing citizen
information, issuing permits, and providing various public services.
b. Law Enforcement: Databases store and retrieve criminal records, making law
enforcement efforts smoother in investigations and crime prevention strategies.
As Dubai Properties grows, its operational scope increases, and this comes with an increase in
IT-related challenges. Hence, the introduction of an Information System for the help desk,
specifically a database system, is crucial. As the database developer, I will ensure that the
system is able to document and manage the IT queries being sent to the helpdesk. Ultimately,
this will improve the process of issue resolution.
The main objective is to design a relational database system that is suited for the systematic
logging and monitoring of each support request. By recording critical details such as caller
information, call timestamps, and serial numbers affiliated with different devices, the system will
enhance the efficiency of the support team. It will also give valuable insights into the overall
performance of the company's IT department.
The following user and system requirements are centered around this objective.
Design Phase
User Requirements
1. User-friendly Interface:
The system should provide a user-friendly interface for help desk operators to easily log
and manage IT queries.
3. Problem Categorization:
The system should let the help desk operators sort each problem deriving from the calls
into a distinct problem category, depending on its nature.
7. Specialist Performance:
Help desk operators should be able to view the open and closed cases of specialists,
including the number of problems that each specialist is working on and has worked on
(essentially, their full personal problem resolution history).
8. Resolution Recording:
Help desk operators must be given the privilege by the system to log the date, time, and
resolution details once a problem is resolved, ensuring a good record of issue resolution.
System Requirements
1. Relational Database System:
The system should be implemented on a relational database, where its data would be
structured and organized by having defined the data types and how they should relate,
thus, one can ensure a high level of overall data integrity.
2. Security Measures:
The system should be having defense mechanisms in place that will ensure that only
authorized users are allowed to access, edit and disclose the information in a system.
3. Scalability:
The system ought to be scalable to be capable of expanding to the growing company's
future requirements, as Dubai Properties' operations might be expanding in the future.
6. Compatibility:
The system must be compatible with the various hardware and software configurations
commonly used within the company.
8. Reliability:
The system must be reliable without any data discrepancies. Referential integrity and
data validations must be enforced.
Data Dictionary
A data dictionary serves as a reference guide, outlining the attributes, structure and
characteristics of the entities within a database system. The data dictionary below can be
viewed as a reference guide for the IT help desk of Dubai Properties.
Entity Relationship Diagrams (ERDs)
Entity-Relationship Diagrams (ERDs) are valuable tools in database design. They give a visual
depiction of the relationships between different elements within a system. Basically, ERDs show
how various entities (like people, objects, or concepts) are connected through different
relationships. For a relational database, this comes in very handy.
For designing a database that will be managing IT queries at Dubai Properties, an ERD is going
to act like a blueprint through mapping out all the entities that are involved (like callers,
specialists, problem details, etc.) and their relationships.
Simple ERD
This simple ERD gives a basic overview of all the entities present in the database and their
relationships with each other, as well as the primary keys of each entity However, this is vastly
oversimplified since the type of relationships is not depicted, and neither are the key details
about the data within the entities.
Logical ERD
A logical ERD is a bit more detailed in a comparative sense to the above version, due to its
entities interacting with each other through various relationships, as well as reflecting cardinality
(how many occurrences of an entity are related to the occurrence of another entity). Hence, this
gives a deeper look into the data architecture, becoming especially useful when designing
databases.
This logical ERD shows the various entities in the database, their primary keys, as well as the
data types they contain and field sizes for each one. Furthermore, the relationships between the
entities in the database are clearly depicted:
1. One-to-many relationship between the Caller Details table and the Problem ID table
since one caller can have multiple (i.e many) problems.
2. One-to-many relationship between the Caller Details and Employee details tables since
one employee can make several calls.
3. One-to-many relationship between the Equipment and Caller Details table since multiple
calls can be made regarding one piece of equipment.
4. One-to-many relationship between Caller Details and Specialist table since specialists
can be assigned to resolve the issues of multiple calls.
The set field sizes and data types depicted in this ERD will be justified in the data validation of
the report.
Input and Output Design
The input design in databases refers to creating an interface that is friendly to users for entry of
data. While output design on the other hand, is more in reference to reports, dashboards and
query results for users, to improve the readability and arrangement of database information.
Add new queries Enter details of The details get Only employees Enter incorrect
(calls) the call on a inserted into the can make calls employee name
form relevant table or ID to ensure
that it is rejected
Equipment Enter a piece of View all the key Equipment Enter serial
information identifying details of the information number to check
retrieval information of equipment entered on a that all key
the equipment form must match details of the
(like serial no.1) existing records equipment are
on a form to be valid displayed
accurately
Retrieve Enter specialist View all the Specialist names Enter a valid
specialist name problems they entered should specialist name:
problems are working on be validated Ensure that all
and have against existing problems the
worked on specialists in the specialist is
system. working on and
has worked on
are matching the
specialist table.
Interface Designs
The following interface designs show how the various tables, forms and queries will look like in
the database. In order to meet the Dubai Properties’ requirement of a user-friendly interface,
they will be designed with the aim of having a simple and easy-to-navigate layout including
visible fields, buttons, neatly arranged tables, etc.
For this purpose, Canva was used as a graphical user interface (GUI) tool despite mainly being
a graphic design platform. While it was not specifically designed for this purpose and its present
use deviates from that, Canva's intuitive interface and great variety of options was effective in
use for certain low-fidelity designs like the visualizations of data, proving to be a cost-effective
and simpler alternative to traditional GUI tools.
Tables
The key data and entities will enter the database will have the following layout:
Queries
For the sake of simplicity, it was opted for queries to have the same design and layout as tables
after the criteria had been applied.
Forms
The forms in the database will have the following interface:
1. Dubai Properties logo at the top, with relevant background to match branding.
2. Enable help desk operators to browse through records with ease
3. Linked with relevant tables and queries
4. Visually appealing
5. Any queries or tables that they depict must be easily scrollable
6. Enable help desk operators to easily add new records through the form
The “welcome” form is going to be the main form of the database, which will be linked to the
main caller details table, letting help desk operators easily browse through records and having
the ability to add new ones.
Additionally, it will also have a specialists subform so that help desk operators can quickly view
specialist details before assigning them to the problem being extracted from a call. Other forms
in the database will be having a similar design and layout, a little variation may occur depending
on the nature and purpose of the particular form but overall design and formatting will be the
same for consistency.
Furthermore, a main menu form is going to be included which will have buttons linked to
important tables, queries and forms for easy navigation by help desk operators.
Reports
The reports of the database will have the following interface:
1. Dubai Properties logo at the top, with relevant background to match branding.
2. Relevant report titles so that help desk operators can easily understand them.
3. Clearly organized
4. Data retrieved in tabular format for consistency
5. Linked with relevant queries and forms
6. Print button for easily getting print preview
Now that the design of the database interfaces is ready, the next step is going to be about
dealing with the raw data and preparing it to fit into the database, so that it matches with the
requirements. In order to achieve this, processes of data normalisation and validation will be
applied.
In order to meet this form, two repeating rows were identified and deleted.
The “Caller ID and Name” column was violating 1NF by having two attributes per cell so the two
attributes were split into separate columns.
Furthermore, some important primary keys were identified in this form:
1. CallID
2. EmployeeID
3. SpecialistID
After this, the requirements of the first normal form (1NF) were satisfied: No cell has more than
one attribute and data in all rows is unique (no repetitions).
Next, for normalisation into second normal form (2NF), tables were created based on the
identified primary keys with the columns that fully depended on them.
It was checked that each column depended on the primary key.
All the attributes in the employee details had some level of dependency on the primary key of
EmployeeID, showing personal details of the employees and their equipment.
Table 3: Specialists
All the attributes in the specialists table had some level of dependency on the primary key of
SpecialistID, showing personal details of the specialists and their problems.
Moving on to third normal form (3NF), it is required that all the attributes in a table are fully
dependent on the primary key, with the transitive (i.e. partial) dependencies being removed or
getting rearranged into their own separate table.The main caller details table is already in third
normal form with each of its attribute either directly originating from or being directly decided on
the bases the call ID, however the following two tables of Employee Details and Specialists are
presently violating third normal form. This is because not all of their data depends fully on the
primary key, there are some transitive dependencies which are going to be addressed.
Aside from showing the serial number of an assigned piece of equipment that the employee
gets access to based on their employee id, it doesn’t make sense to have all the other
equipment details i.e equipment ID, serial number, operating system, software installed and
valid license since these attributes are not directly dependent on the primary key of employee
ID. Instead, they are dependent on equipment ID. Hence, a new table will be created for
equipment with equipment ID as the primary key.
There is a similar issue in the specialists table that will now be dealt with: all of the attributes are
not depending fully on the primary key of Specialist ID. The column of problem type is directly
dependent on problem ID, not specialist ID, with which it has no direct dependency on. To
address this, a new table will be created for problems with the problem ID as the primary key.
This will also solve the issue of repeating “problem ID” columns that were overlooked before.
Due to this repetition, 1NF was also being violated in the specialist table.
Table 4: Problems
All of the data is now normalised to the third normal form (3NF).
Data Validation
Data validation is crucial since it guarantees that every piece of information in a database is
exactly according to the specified rules, and that the attributes of data are consistent, complete,
or accurate. This is done by strictly following the validation rules which can consequently bring
down the cases of errors, inconsistencies, and inaccuracies as a result, the system turns out to
be more reliable. Data validation is also needed to enforce referential integrity, which is the
concept of changes getting automatically updated and reflected in related records.
For the case of Dubai Properties’ database, the following rules are set for the data in each table.
1. CallID (Short Text, 3): Short text data type is suitable for unique identifiers, along with
the field size of 3 characters allowing for concise representation of unique identifiers,
preventing errors.
2. CallerID (Short Text, 3): Similar to CallID, this will also be a short text data type
containing a field size of 3 characters, which appears to be appropriate for the purpose
of storing caller identifiers.
3. CallerName (Short Text, 40): This must be kept a short text data type, containing a field
size of 40 characters which will be successfully accommodating most names , all while
minimizing storage space.
4. OperatorName (Short Text, 40): Similarly as CallerName, this must also be kept a
short text data type, having a field size of 40 characters which is going to be suitable for
storing operator names.
5. SerialNumber (Short Text, 5): This will also be a short text data type for the purpose of
storing serial numbers, containing a field size of 5 characters allowing for efficient
storage of alphanumeric serial numbers.
7. ProblemID (Short Text, 3): Short text data type is suitable for problem identifiers, and a
field size of 3 characters will allow for concise representation of the unique identifiers.
8. ProblemType (Short Text, 80): Just like most of the other columns, this is also a short
text data type, however its field size will be accommodating 80 characters in case longer
problem types need to be updated into the database in the future.
9. Description (Long Text, NA): This will be kept a long text data type, in order to prepare
it for successfully storing detailed problem descriptions, all without limiting the length of
text entries.
10. SpecialistName (Short Text, 50): This will be a short text data type with a field size of
50 characters, to allow it to store specialist names while at the same time. minimizing
storage space.
11. ProblemStatus (Short Text, 50): This is going to be a short text data type with a field
size of 50 characters, to make it suitable for recording problem statuses.
12. Resolved (Yes/No, NA): Yes/No data type is appropriate for the boolean values which
will be present in this attribute, indicating problem resolution status while occupying a
minimal storage space.
13. ResolutionTime (Date/Time, NA): The Date/Time data type will be accurately
recording the problem resolution times i.e what day, month and year they were resolved
on.
14. ResolutionDescription (Long Text, NA): This must be a long text data type, allowing
for the entry of descriptions of steps taken or the method used to resolve the problem
without limiting the length of text entries.
1. Serial Number (Short Text, 5): This will be a short text data type for the purpose of
storing serial numbers, containing a field size of 5 characters to allow for efficient
storage of alphanumeric serial numbers.
2. EquipmentID (Short Text, 5): This is going to be set as a short text data type with a
field size of 5 characters, making it appropriate to sufficiently store unique equipment
identifiers, all within minimal storage space.
3. OperatingSystem (Short Text, 50): This will be a short text data type, having a field
size of 50 characters, making it suitable for the purpose of storing the names of various
operating systems within a reasonable amount of storage space.
4. SoftwareInstalled (Long Text, NA): This will be kept as a long text data type, allowing
it to store the names of installed software without limiting the length, seeing that there is
no maximum software limit on Dubai Properties’ employee devices.
5. ValidLicense (Yes/No, NA): The data type set for this will be Yes/No, accurately
indicating whether the software licenses are valid or not.
1. SpecialistID (Short Text, 3): This is going to be set as a short text data type with a field
size of 3 characters, enabling it to store unique equipment identifiers, within the optimal
storage space.
2. SpecialistName (Short Text, 50): This is going to be a short text data type with a field
size of 50 characters, allowing it to store specialist names while at the same time,
minimizing storage space.
3. Department (Short Text, 50): Similarly to a few other nominal data types, this will be
having a short text format, containing a field size of 50 characters which lets it
accommodate various department names.
4. Specialization (Short Text, 25): This will be a short text data type with a field size of 25
characters, which will be suitable for the purpose of recording each specialist’s
specialization.
5. ProblemID (Short Text, 3): This will be set as a short text data type, making it suitable
for storing problem identifiers within its field size of 3 characters for concise
representation.
6. BackupSpecialist (Long Text, NA): This will be set as a long text data type for the
purpose of entering multiple backup specialists for one specialist, hence the limit is
removed.
1. ProblemID (Short Text, 3): Just like in the previous table, this will be set as a short text
data type, making it suitable for storing problem identifiers within its field size of 3
characters for concise representation.
2. ProblemType (Short Text, 80): This will also be a short text length field, but as a matter
of added precaution, the size of the field should be increased to 80 characters in regard
to the case where in future a longer problem type is needed to be entered into the
database.
3. Specialist (Short Text, 50): This will be a short text data type with a field size of 50
characters, allowing it to store specialist names while at the same time, minimizing
storage space.
Data Types and Field Sizes for the Employees Details Table
1. EmployeeID (Short Text, 3): This must also be a short text data type containing a field
size of 3 characters, which appears to be appropriate for the purpose of storing each
employee’s unique identifier that is used to distinguish them.
2. EmployeeName (Short Text, 40): This will be kept as a short text data type, containing
a field size of 40 characters which will be successfully accommodating most names, all
while minimizing storage space.
3. DateOfBirth (Short Text, 30): This will be stored as a short text data type since the birth
date is mainly for display purposes, and storing it as short text instead of date/time
allows for easier data validation. Additionally, the field size of 30 characters will be giving
sufficient storage for date information, while taking up minimal storage space.
4. Department (Short Text, 50): This will be having a short text format, containing a field
size of 50 characters which serves the purpose of letting it store various department
names.
5. Serial Number (Short Text, 5): This is going to be a short text data type for the purpose
of storing serial numbers of the employees’ devices, containing a field size of 5
characters to allow for optimal storage of the alphanumeric serial numbers.
6. JobTitle (Short Text, 50): This will be set as a short text data type, having a field size of
50 characters for the purpose of storing relevant job titles.
7. LicenseNumber (Long Text, NA): This will be a long text data type, appropriate for the
purpose of storing different kinds of license numbers without limiting the length of text
entries. This is because due to Dubai Properties evolving nature as a company, new
departments and licenses may be required in the future, making it best to avoid this
constraint in the database.
Evaluation of Design
Advantages:
● Application to Requirements: The ERDs reveal entities and their relationships that is as
per Dubai Properties user and system expectations. The ERD could, for example, show
the roles that callers, specialists, problems, and equipment play in the issue and
resolution process, which would meet the requirement to track call center queries and
allocate resources properly.
● Enhanced Collaboration: The ERDs are designed in a way that makes them visually
understandable to everybody that is involved in the database development for instance,
the developers, and other stakeholders. Hence, it is very important for good
communication and coordination in the design and implementation of the strategy.
Disadvantage:
● Oversimplification: Whereas ERDs heighten the level of understanding, they can lack
details with regard to complexities among attributes. Unfortunately, this may result in a
lack of clarity or missing some details.
Overall Evaluation:
● Although ERDs have limitations, they provide a clear mapping of data relationships and
a basic guide for database design, which fits the “documentation and training” system
requirement of Dubai Properties.
Advantages:
● Alignment with Requirements: The process normalizes data to be reliable (since it
removes inconsistencies) and makes it easily manageable, aligning with the user
requirement that the logging is to be done with ease and effectively done.
● Scalability: Normalizing the data helps in making it scalable, which will be key in
enabling smoother adjustments and updates with any future expansion that may happen
within Dubai Properties.
● Disadvantages:
Complexity: Ironically, normalization might have the potential to make the database
more complex, since it increases the number of tables and relationships.
Speed: It may also be slowing down query execution and the time taken to seek data
because one needs to join more tables and lookups to collect the required data.
● Overall Evaluation:
Despite potential challenges, normalization satisfactorily meets the requirements of
Dubai Properties; it provides the structure that ensures integrity of the data, all while
helping with potential scalability.
3. Data Validation:
● Advantages:
Adherence to Requirements: Data validation helps keep the database up-to-date and
accurate, and it satisfies the user requirement of the orderly logging of call query activity
and issue categorization.
Data Integrity: Validation rules are executed when the user tries to enter data into a table
and set the referential integrity rule for the database. Therefore, data validation enables
full faith in the database.
● Disadvantages:
Implementation Overhead: The deployment of data validation rules will face the
additional processing requirement making the development of the system to be slow.
● Overall Evaluation:
Despite the concerns of data validation, it ensures that the data remains accurate and
the system keeps being reliable, which is what the users and system of Dubai Properties
require.
4. Interface Designs:
Advantages:
● User-Friendly Interface: This feature under the input and output designs highlight
a rather easy to use interface with clear titles, functions etc. This is basically
seeking to respond to Dubai Properties that the system should be user-friendly
and be navigated effortlessly.
● Enhanced Usability: A variety of forms, reports, queries, and tables designed in
Canva are elements with some of the components of a visually appealing page,
which are top of the class and provide better usability to help desk operators.
Disadvantages:
● Learning Curve: Even though the newly designed user interface seems to be
simple to use and compatible with most devices, it might take some time for the
new help desk operators to get used to it and to learn all the functions it has.
There are also imperfections within the accessibility options such as the absence
of alt text.
● Overall Evaluation:
Despite the disadvantage, user requirements are still met since the designs
seem to be serving the purpose of helping help desk operators navigate the
pages with ease through their user-friendliness. They also have visually pleasant
layouts, thus, giving a good user experience.
2. Email Form in Report: A placement of an email button in one of the relevant reports will
improve the communication between help desk operators and their supervisor.
3. Linking Main Menu to External Documentation: By placing links outside of the menu,
to places containing more instruction in regard to the database functionality, it would be
straightforward for the new help desk operators in getting to know how to use and
navigate the database.
5. Improving Data Validation: Some of the unique identifiers like employee IDs, serial
numbers and equipment IDs start with certain key letters. The validation rules can
enforce these key letters and disable any erroneous entries where the key letters are
missing or typed out wrong.
Overview of Object-Oriented Databases
An object-oriented database is a complete paradigm shift from the traditional relational
databases in terms of organization: the object, and not the table, is the building block. In
OODBs, the objects inwardly encapsulate data, with each one building up attributes (data fields)
and methods (functions or operations). This model bridges principles of object-oriented
programming (OOP) and squarely fits with database systems and application code.
Designing tools come along with a wide range of characteristics, which include: Object-
Relational Mapping (ORM) Tools, Object-Oriented Design Patterns, and Graphical User
Interface (GUI) Tools.
2. Ease of Use: Access has a simple interface with handy design tools, which are capable
of being used by non-technical users such as the help desk operator. By borrowing all
the familiar look and feel of the other Office applications, this reduces the learning curve
and facilitates quick adoption and implementation within the organization.
4. Scalability: Although Access may not be as great in terms of its handling of vast
databases when compared to SQL Server, it still provides a great scalability level to
meet the database needs of Dubai Properties. This means that the database can be
scaled up or moved to SQL Server or any other leading DBMS solutions when the
organization grows,thus, keeping the database scalable and flexible for the future.
Despite the constraint posed by the use of Access in the handling of massive databases, the
system still caters to the demands of the business at the moment of data handling while offering
room for future increase and transitions.
Developing Tables
The tables were developed in accordance with the interface designs, Dubai Properties’
requirements and the suggestions made in the evaluation. The data which had been normalized
to third normal form (3NF) was inputted into each table, along with clearly named columns and
table titles to make sure that help desk operators are going to be able navigate them easily in
case any changes are to be directly made to the tables, or if any cross-checking is to be done.
Additionally, pastel backgrounds were added to each table to match the theme of Dubai
Properties. After developing each table, its validation rules were enforced through design view.
Based on the suggestion made in the evaluation, an extra validation rule was added for unique
identifiers through design view. All call IDs will start with “C”, caller and employee IDs will start
with “A”, serial numbers will start with “SN”, problem IDs will start with “P”, license numbers will
start with “LN”, equipment IDs will start with “E” and specialist IDs will start with “SP”.
CallerDetails.ProblemStatus="Closed": Filters the data to include only those records, where the
"ProblemStatus" field from the "CallerDetails" table occurs as an equal "Closed" value.
SELECT: This specifies the fields that are going to be retrieved from the tables.
EmployeeDetails.EmployeeID,
EmployeeDetails.EmployeeName: Fields chosen to be from the table "EmployeeDetails".
Equipment.SerialNumber, Equipment.EquipmentID, Equipment.OperatingSystem,
Equipment.SoftwareInstalled, Equipment.[Valid License]: "Equipment” table - fields chosen from
it. FROM: Specify what tables will be the sources of the data.
(Equipment INNER JOIN EmployeeDetails ON Equipment.SerialNumber =
EmployeeDetails.SerialNumber) INNER JOIN CallerDetails ON (Equipment.SerialNumber =
CallerDetails.SerialNumber) AND (EmployeeDetails.EmployeeID = CallerDetails.CallerID):
Specifies the join conditions as, where:
The data from "EmployeeDetails" table is cross-matched with data from "Equipment" table
based on their same "SerialNumber" keys.
Records belonging to the "Equipment" table are matched with records belonging to the
"CallerDetails" table, where the condition for a "SerialNumber" attached to each of the records is
met. In the "EmployeeDetails" table, the records are matched to the records from "CallerDetails"
table, based on their "EmployeeID" and "CallerID" fields.
Query 1: Closed Problems Help desk operators need to The query retrieves relevant
track closed problems for columns from the problems
reporting and analysis. and caller details tables,
filtering problems with a
"closed" status. It effectively
provides information on
resolved issues, enabling
analysis of resolution times
and methods.
Query 2: Devices with Help desk operators need to This query fetches data from
Problems identify equipment affected by the problems, equipment, and
problems to give access to caller details tables, allowing
specialists. operators to view affected
equipment and associated
problems. It facilitates
efficient problem resolution
by providing visibility into
affected devices.
Query 3: Employee Help desk operators require key By joining the equipment,
Device Details details about each employee's employee details, and caller
device for support purposes. details tables, this query
retrieves essential
information about employee
devices. It enables operators
to access device details
quickly, enhancing support
efficiency.
Query 4: Employee Help desk operators need a list This basic query fetches
Names of employee names for reference employee names from the
and communication. employee details table,
providing operators with a
quick reference list. It
simplifies communication and
facilitates personalized
support.
Query 5: Expired Licenses Help desk operators need to The query retrieves data on
identify expired software licenses expired licenses and
for renewal and compliance. associated equipment and
employees, enabling
operators to issue update
notices. It supports license
management and ensures
compliance with software
agreements.
Query 6: Help Desk Help desk operators need to This query retrieves
Department identify members of the help employee details for those
desk department for assigned to the help desk
collaboration and coordination. department, facilitating
collaboration among team
members. It ensures efficient
communication within the
help desk team.
Query 7: Open Problems Help desk operators need to Similar to Query 1, this query
track open problems for retrieves relevant columns
prioritization and resolution. from the caller details table,
filtering problems with an
"open" status. It provides
visibility into unresolved
issues, aiding in prioritization
and timely resolution.
Query 9: Specialty of Help desk operators need to This query retrieves data
Specialist assign specialists based on their from the specialist table,
expertise for efficient problem providing information on each
resolution. specialist's specialization. It
assists operators in assigning
specialists with relevant
expertise to address specific
problems.
Overall Assessment
The implemented queries appear to be extracting meaningful data from the database, each
serving an information management purpose for Dubai Properties. They enable help desk
operators to track, analyze, and resolve IT queries efficiently, ultimately improving overall user
experience, as well as operations.
Areas of Improvement
Although the queries seem to satisfy information management purposes, there are some
improvements that can be made.
1. Irrelevant rows can be excluded. For instance, how the “Devices with Problems” doesn’t
give criteria to only show devices with problems which means that even though this
query can be successfully used to track problematic devices, irrelevant records of
devices without problems will still be displayed.
2. Most of the queries are “Select” queries i.e they are mainly doing data retrieval.
Efficiency can be increased through using other queries, like action queries, which are
used to add or update data in the database. For example, an action query can be
created to add new devices in equipment and to delete ones that are not in use
anymore.
Adding Buttons
For the “Add new” button, the command box was dropped down from the tools in design view,
following with formatting to match the theme and then a macro was embedded to take the user
to the last page on the form, where they can enter a new record based on new calls.
Similar steps were taken for the “Next” and “Previous” buttons.
Additionally, it was determined that a “search problem type” dropdown menu would make it
faster and more reliable to filter problems. This would also prevent errors that could potentially
occur while typing it in a search box. This is why this was also added through the combo box
from design view tools.
Buttons were added in a similar manner throughout all of the forms in the database. To avoid
redundancy, the descriptions won’t be repeated, as well as screenshots of identical “next” and
“previous” buttons but screenshots of each unique button will be attached.
Form 2: Specialists
This form was created for the purpose of allowing help desk operators to review the information
of each specialist i.e essentially get a profile of their key attributes and problems they are
working on or have worked on. An “Email” button is also included so a pdf of open specialist
cases can be shared with a supervisor or with the specialist themselves if they want to track
their own performance.
The “Email” button extracts data from the “Open Problems” query.
Email Report Button
Form 3: Resolved Problems
Based on the closed problems query, this form will let help desk operators easily view specialist
problems which have been resolved.
Form 4: Problems by Employee:
Based on the Problems by Employees query and Problems subform, this form lets help desk
operators view the problems that each individual employee is dealing with.
To ensure that the form automatically opens when the database is launched, it was set as the
“display form” of the database.
The linking of the buttons has been done through hyperlinks and embedded macros.
Similarly, the rest of the buttons were linked to their relevant pages or files.
Form 6: Equipment with Problems
Based on the “Devices with Problems” query, this form was created for the purpose of allowing
help desk operators to easily browse through the devices with logged problems that are in need
of specialist attention.
Additionally, enforcing access restriction to the database also complies with the principle of least
privilege whereby one is granted access level as per the requirements for their roles and
responsibility. Such a step raises data integrity and confidentiality level as well as the
compliance with the regulatory requirements (concerning access level and data protection).
In essence, securely encrypting the database itself with a strong password, then limiting its
visibility to those who should be able to access it, is a good security measure for the exclusive
custody of sensitive information as well as the upholding of Dubai Properties security needs.
Maintenance
Maintenance of the database is important for the future when Dubai Properties scales up and
expands, as well as in the present for the purpose of avoiding data loss or corruption.
Since the backups are saved with dates, it can be made a policy to save weekly backups of the
database.
Back-ups at this frequency will guarantee that when there is a hardware failure or any other
unforeseen circumstances, the most recent version of the database will be available for
recovery. This provides the safety net for a situation where data loss or corruption might occur.
Additionally, this maintenance approach might also help Dubai Properties for documentation
purposes of their internal processes.
Testing
Test Plan
Now that the database solution has been developed and designed, it will be put to the test
through the test plan that has been designed below, covering some of Dubai Properties' user
and system requirements.
Tests Execution
Screenshots of each test being carried out are attached below. Each outcome and result will be
added to the test plan table.
Assessment of Testing
Out of the six tests, two passed and four failed, which shows that the database system is
reliable but also has notable areas for improvements. Now, each test will be assessed
individually, going over its strength, weakness, overall evaluation and an explanation of the test
data that was used.
1. Strength: The test was successful in verifying the expected behavior of the interface
(namely the main menu), showing that users will be able to navigate from the main menu
to the resolved problems form easily.
2. Weakness: Although the test appears to be valid, it can be said that it isn’t
comprehensive enough. More similar interface tests can be added.
3. Overall Assessment: The test was effective in validating Dubai Properties’ user-friendly
interface requirement, showing that the help desk operators are going to be having an
overall positive user experience.
4. Explanation of Test Data Used: The test used typical user behavior, simulating the
action of a user clicking on a button on the main menu form, for the purpose of
accessing a relevant form. This matches with the user requirement of an interface that is
user-friendly and easy to navigate, proving a good level of accessibility.
1. Strength: The test has success in confirming that new IT queries are being logged
effectively in the database through the main caller details form, serving its primary
purpose.
2. Weakness: The scope of this test case was a bit limited since the test case only
included problem details without a resolution update. In future testing, resolution updates
will also be tested in the main caller details form.
3. Overall Assessment: The test successfully verified the functioning of query logging
through the main caller details form, making sure that IT queries are accurately recorded
in the database, being reflected in the relevant table after being added through the form.
4. Explanation of Test Data Used: The test involved inputting sample IT query data into
the caller details form which was the following: relevant ID numbers (short text), names
of problem-affected employee, help desk operator and assigned specialist (short text),
time of call (date/time), problem type (short text) and problem description (long text).
This is successful in mimicking real-world scenarios of query logging and satisfying
Dubai Properties’ user requirement of efficiency in IT queries logging.
1. Strength: This test showed that the problem categories just added are present in the
problem selection dropdown menu, thus, improving how well the problems are being
categorized and maintaining a comprehensive list of problem types.
2. Weakness: Other preexisting problem categories were not tested in terms of how
effectively they filtered problem cases.
3. Overall Assessment: The verification of this feature of quickly categorizing and filtering
problem types, has led to the fact that the help desk team stays unburdened, being able
manage problems easily, as well as satisfying Dubai Properties’ user requirement of
problem categorization.
4. Explanation of Test Data Used: The test data consisted of the introduction of a new
problem category (short text) and then trying to pick it from a drop down box, which is a
common step in typical problem classifications.
Test 4: Reliability
1. Strength: The test which was conducted to check the accuracy of the system did this by
simulating the problem of an invalid input in the serial number column of the equipment
table. It successfully contributed to finding out that due to the flawed validation rule “Like
SN*” , there are no restrictions on characters displayed after “SN”, for example,
containing a combination of letters and symbols instead of the required numeric digits.
2. Weakness: A single invalid input has a huge limitation. A broader data set that will
include more examples should be implemented.
3. Overall Assessment: The test spotted a data validation error that resulted from the
presence of a flaw in the system's validation rules. In this way, Dubai Properties’ system
requirement of reliability was addressed.
4. Explanation of Test Data Used: The test involved inputting an incorrect serial number,
containing letters following the “SN” code instead of numeric digits, representing
common cases where users may make mistakes while entering data.
Test 5: Security
1. Strength: The test allowed to verify the correctness of the security function which was
implemented for the purpose of blocking unauthorized access.
2. Weakness: The strength of the password itself was not tested, or how quickly it can be
cracked through a simple brute force attack.
3. Overall Assessment: Through this test, the security system underwent a verification
process that ultimately confirmed that the database could only be accessed by
authorized users holding the required encryption key. This addresses Dubai Properties’
system requirement of security, showing how the current database is successful in
meeting it.
4. Explanation of Test Data Used: The test involved putting in an incorrect password, one
that is as not "#Real2024", simulating a situation that could be loosely connected to a
security breach.
1. Strength: The test was designed to check the system's capability of finding all key caller
details just through the Call ID number, successfully showing a system defect through its
failure during the attempt to execute it.
2. Weakness: Other ways for caller information to be viewed like simply browsing through
the caller details form (which already contains all caller information) is not considered,
casting a significant doubt on the accuracy of this test, and whether it truly is valid.
3. Overall Assessment: Overall, the test has highlighted the absence of a caller
information retrieval feature, indicating a need for further development of a relevant form
and button which lets the help desk operators quickly look up caller details through
entering or selecting the call ID. This is one of Dubai Properties’ user requirements.
However, it can be argued that this requirement is already being fulfilled due to how the
main caller form shows all caller details. Perhaps, the call ID filtration is redundant in
relation to the user requirement.
4. Explanation of Test Data Used: The test involved trying to search for caller information
using a known ID number (short text), representing a common user action in a help desk
scenario. However, no site to input this data was found, highlighting the system flaw.
The six tests executed can be sorted into the white box and black box categories depending on
the scope and considerations of their testing.
It can be observed that most of the tests are black box, mainly involving surface level
interactions and input-output-exchange. More white box tests for the help desk specialist can
be added. However for the help desk operator, the testing seems sufficient.
1. User-Friendly Interface:
Advantages:
The interface design is easy to use and understand, closely resembling other Microsoft Office
applications, thus, making the learning curve much smaller for users.
The handy design tools and clear navigation options enhance usability and make it far easier to
be used by the help desk operator.
Disadvantages:
While the interface is user-friendly, some operators might still require training to fully use all
features. Although, they will have support from the specialist at the help desk. It is possible that
this slight disadvantage will be compensated for by Dubai Properties’ organizational setup.
There is also some inconsistency in design elements like font types and sizes, even though the
colors, logo and overall theme remains consistent.
Advantages:
The Welcome Form of the database is serving the purpose of quickly logging new IT queries,
and making it more effective for help desk operators to enter data into the database.
As for common actions, buttons have been added faster to make it easier to log IT queries, and
to see various related tables and queries.
Disadvantages:
The limited validation rules make it possible for help desk operators to make errors while they
are entering data, thus, risking the accuracy and reliability of the system.
3. Problem Categorization:
Advantages:
Having a dropdown menu for filtering different types of problems improves browsing the speed
of looking up relevant information, since it is now able to be accessed just based on a single
click, thus, increasing both speed and time efficiency. It also prevents errors that could occur
while help desk operators are typing in a search box for problem types, so opting for a
dropdown menu is a far better choice.
Disadvantages:
There is limited flexibility. Additionally, it hasn’t been tested if the problem type drop menus can
filter multiple problems belonging to the same category, raising concerns of only having limited
functionality, as it may not be able to display multiple problems belonging to the same problem
category.
Advantages:
Through the main caller details form, help desk operators can browse through information about
all of the callers.
Disadvantages:
There isn’t a way to search up a specific caller by name, requiring the help desk operators to do
needless clicking and scrolling until they get to the right person. Even though the form (and the
query it depends on) have made the data easily viewable in one location, the actions required to
get to it can be reduced through adding search-based filtration.
Advantages:
Through the forms and queries displaying the data of equipment with problems, as well
separate ones for each piece of equipment, help desk operators will be able to easily retrieve
information about equipment, which will speed up the troubleshooting process.
Disadvantages:
Relying on accurate data entry for equipment details may introduce errors if they are not
properly validated, like how previous testing uncovered insufficient data validation for serial
numbers of equipment.
6. Problem Referral System:
Advantages:
When help desk operators are logging new IT queries and assigning specialists to problems,
they will be doing this through the main caller form, which also includes a subform of specialists
and depicts their areas of specialty. This makes it much easier to assign problems to a specific
specialist, depending on the nature of the problem that a particular caller is dealing with and
reporting.
Disadvantages:
Manually assigning specialists can create human errors and also may cause an unequal
distribution of workload, burdening some specialists.
7. Specialist Performance:
Advantages:
Specialist cases viewed through various types of forms and queries, as well as monthly
performance reports help help desk agents to share this information with their supervisors,
allowing specialists’ performance to be evaluated properly.
Disadvantages:
A measure for callers feedback can be added since only assessing specialist efficiency based
on the open and close cases can not be comprehensive enough. Fundamentally, caller
satisfaction and effective problem resolution are the most significant metrics.
8. Resolution Recording:
Advantages:
Detailed accounting of resolution processes particularly the date helps with easy recording of
the data for accuracy and future reference.
Disadvantages:
Just recording the day of resolution is not enough, resolution timestamps can be added as well.
9. Security
Advantages:
Encryption i.e access restrictions of the database through a strong password containing
numbers, letters and symbols, provides a good level of security and ensures conformance to
regulatory requirements among others.
Disadvantages:
A single password can be broken or used improperly by an unscrupulous attacker through
password breaches or unauthorized access.
10. Scalability
Advantages:
The scalability of the database allows the system to add more elements as and when required
and to increase the volume of the associated queries.
Disadvantages:
Being restricted in scalability compared to enterprise level DBMS solutions may become a
problem when data volume tends to grow, requiring the change to another database
management system.
11. Reliability
Advantages:
Referential integrity is enforced in records and even though the data validation rules can be
made stricter, they still are currently enforced and limit erroneous data entry to an extent. When
one record is added or updated through a single form, query or table, the changes are reflected
in all records throughout the database.
Disadvantages:
As mentioned before, the data validation can be significantly improved.
Overall Evaluation
The database produced for Dubai Properties has advantages including user friendly layout,
effective logging query feature, quick categorization of the problem, among many others. It
mainly meets the given requirements but some gaps can be filled, like the security measures
need to be advanced and data validation rules must be made stricter. Scalability is something
that should also be monitored well. In the end, though successful, increasing amounts of these
improvements are still required for total effectiveness.
Improvement Suggestions
2. User-Based Permissions: Set up tiered access that will serve to block the disclosure
of confidential data, while, at the same time, the overall features and functions are being
controlled.
3. Action Queries: Develop actions queries which point to where the information needed
to manipulate the data is stored. This will speed up processes by a large margin.
4. Enhanced Error Handling: Currently, only error messages for invalid data entry exist
in the database. More error handling mechanisms can be added which guide the users
how they can move around to find a solution when they get stuck.
Documentation
Documentation is of vital importance since it gives a deeper look into the database, recording its
back-end and front-end processes, which will be essential for help desk operators and for the
help desk specialist to consult while they are getting used to the developed database. They will
also be required to maintain its upkeep for future help desk team members.
User Documentation
By offering instructions for using the database and completing activities quickly, user
documentation lowers the need for help and increases user satisfaction. The help desk operator
will find this useful.
1. Flowchart
This gives a brief, step-by-step overview of navigating from the main menu to important queries
and forms.
2. Video Tutorial
This video tutorial acts as the pathway through which the database interface is explored, and
users are given instructions on how to operate its critical functions (video attached in the
documentation folder, linked on the main menu form).
Technical Documentation
Technical documentation assists administrators in the creation and management of the
database infrastructure, performing routine maintenance tasks and the troubleshooting of
equipment problems. This will be especially helpful for the help desk specialist.
1. Data Dictionary
This database data dictionary shows the data structures within the database, their organization
(in terms of primary and foreign keys), the definitions of each element, making it easier for
operational duties regarding data management to be performed.
Backend Processes:
1. Data Storage: Gives the information back in tables by using Microsoft Access.
2. Query Processing: Handles getting data and modifying it using SQL queries.
3. Validation and Enforcement: Drives data integrity by means of data validation and
referential integrity.
Frontend Processes:
1. User Interface: Provides a framework to be implemented by users.
2. Data Entry and Retrieval: It provides an interface that enables its user to enter and
retrieve data conveniently.
3. Query Execution: Users can execute a system coming with prepared queries to acquire
desired details.
4. Navigation and Workflow: Provides users with simple and clear tasks and tasks flows.
This will, in turn, avoid data corruption and make sure that compacting and repairing are
done frequently on the database. Scheduling of the jobs and regular monitoring,
however, is one thing that should be put in place for one to have the best output from the
feature.
References
2. Codd, E.F. (1970) ‘A relational model of data for large shared data banks’,
9_80674.
4. Ganti, V., Gehrke, J. and Ramakrishnan, R. (1999) ‘A framework for measuring changes
5. Linton, M.A. (1983) Queries and views of programs using a relational database system
[Preprint]. doi:10.21236/ada603469.
6. Verhofstad, J.S. (1978) ‘Recovery techniques for database systems’, ACM Computing
Addison-Wesley Publishing Co. 1975.’, ACM SIGMOD Record, 7(3–4), pp. 53–54.
doi:10.1145/984403.984407.
doi:10.1007/978-1-4419-8834-8_15.
9. ‘Database control’ (2010) Distributed Database Management Systems, pp. 83–109.
doi:10.1002/9780470602379.ch3.
[Preprint]. doi:10.1201/9780203505168.ch1.