Database
Database
FACULTY OF COMPUTING
STUDENT DETAILS
STUDENT ID [email protected]
ESTIMATED 5505
WORD LENGTH
SUBMISSION
HAND IN DATE
DECLERATION AND ACKNOWLEDGEMENT
When submitting assignments, each student must sign a declaration confirming
that the work is their own.
I declare that:
this assignment is entirely my own work, except where I have included fully-
documented references to the work of others,
the material contained in this assignment has not previously been submitted for
any other subject at the University or any other educational institution, except as
otherwise permitted,
no part of this assignment or product has been submitted by me in another
(previous or current) assessment, except where appropriately referenced, and with prior
permission from the Lecturer / Tutor / Unit Coordinator for this unit.
I acknowledge that:
if required to do so, I will provide an electronic copy of this assignment to the
assessor;
the assessor of this assignment may, for the purpose of assessing this assignment:
reproduce this assignment and provide a copy to another member of academic
staff;
communicate a copy of this assignment to a plagiarism checking service such as
Plagiarism Check (which may then retain a copy of this assignment on its database for
the purpose of future plagiarism checking).
I am aware of and understand that any breaches to the Academic Code of Conduct
will be investigated and sanctioned in accordance with the College Policy.
Contents
List of Figures..................................................................................................................................1
List of Table.....................................................................................................................................1
List of abbreviation..........................................................................................................................2
Introduction......................................................................................................................................3
Database...........................................................................................................................................3
User Requirements...........................................................................................................................4
System Requirements......................................................................................................................4
Database Administration tools:........................................................................................................4
Relational Database management system........................................................................................4
Entity Relationship Diagram...........................................................................................................5
Normalization..................................................................................................................................6
Data Validation................................................................................................................................6
Output Design..................................................................................................................................7
Interface Diagram............................................................................................................................7
System Design.................................................................................................................................7
Entity Relationship Diagrams (ERDs).............................................................................................7
Schema Diagram............................................................................................................................10
Data Dictionary..............................................................................................................................11
Help Desk Table............................................................................................................................11
Caller Table...................................................................................................................................11
Department Table..........................................................................................................................12
Problem Table................................................................................................................................13
Specialist Table..............................................................................................................................13
Software Table...............................................................................................................................14
System Requirements....................................................................................................................14
Conclusion.....................................................................................................................................14
Introduction....................................................................................................................................15
Integrated Development Environment...........................................................................................15
User Interface (UI).........................................................................................................................15
Login page.....................................................................................................................................15
Home Page.....................................................................................................................................17
Caller Details.................................................................................................................................20
For Add......................................................................................................................................20
For View........................................................................................................................................22
For search button...........................................................................................................................23
Problem Details.............................................................................................................................24
For Add button...........................................................................................................................25
For Search Button..........................................................................................................................28
For View....................................................................................................................................29
Software.....................................................................................................................................29
For Add......................................................................................................................................29
For view.....................................................................................................................................32
For Search..................................................................................................................................33
For Print.....................................................................................................................................34
For Specialist.................................................................................................................................35
For Add......................................................................................................................................35
For view.....................................................................................................................................36
For Search..................................................................................................................................37
For print.....................................................................................................................................38
Implementing RDBMS into the query language...........................................................................38
Data Definition Language (DDL...............................................................................................38
Data Manipulation Language (DML)........................................................................................38
Data Control Language (DCL)..................................................................................................39
Caller Details.................................................................................................................................39
Create Table...............................................................................................................................39
Insert Values in Table................................................................................................................39
Update Data...............................................................................................................................40
Delete Data................................................................................................................................40
Problem Details.............................................................................................................................41
Create Table...............................................................................................................................41
Insert Values in Table................................................................................................................41
Update Data...............................................................................................................................41
Delete Data....................................................................................................................................42
Software Details.............................................................................................................................43
Create table................................................................................................................................43
Insert Values in Table................................................................................................................43
Update Data...............................................................................................................................43
Delete Data................................................................................................................................44
Specialist........................................................................................................................................45
Create table....................................................................................................................................45
Insert Values in table.................................................................................................................45
Update Data...............................................................................................................................45
Delete Data................................................................................................................................46
Testing...........................................................................................................................................47
Types of Testing............................................................................................................................47
Functional Testing.....................................................................................................................47
Unit Testing...............................................................................................................................47
Integration Testing.....................................................................................................................47
Stress Testing.............................................................................................................................48
White Box Testing.....................................................................................................................48
Black Box Testing.....................................................................................................................48
Black Box Testing in Login Form.................................................................................................49
White box Testing in Login Form.................................................................................................51
Technical Documentation..............................................................................................................52
Data Dictionary of my application................................................................................................52
ER Diagram of my application......................................................................................................55
Schema Diagram............................................................................................................................56
Algorithm of my application.........................................................................................................57
Conclusion.....................................................................................................................................71
References......................................................................................................................................72
Database
List of Figures
Figure 1 Database............................................................................................................................3
Figure 2 Data Validation.................................................................................................................7
Figure 3 ER Diagram.......................................................................................................................8
Figure 4 Schema Diagram.............................................................................................................10
List of Table
Table 1 Help Desk table................................................................................................................11
Table 2 Caller Table......................................................................................................................12
Table 3 Department Table.............................................................................................................12
Table 4 Problem Table...................................................................................................................13
Table 5 Specialist Table.................................................................................................................13
Table 6 Software Table..................................................................................................................14
List of abbreviation
ER diagram:
IDE:
Introduction
United Limited is a well-established real estate company that provides a wide extend of
proficient administrations, counting improvement of raw land, property administration,
brokerages, loaning, and other administrations. As the company proceeds to extend, it has
distinguished to build up an IT Helpdesk to handle equipment and computer program issues
concerning the IT frameworks. The Helpdesk will be responsible for logging and following
inquiries and guaranteeing that helpdesk pros are adequately resourced to illuminate issues in a
satisfactory time. The aim of this proposal is to create a completely useful plan of the social
database for the IT helpdesk framework, counting client framework necessities, ERDs,
normalization, data validation, output designs, and interface diagrams.
Database
A database is an organized collection of data that can be maintained, accessed, modified and
updated with the help of a database management system (DBMS). A DBMS allows users to
generate and control a database, and it facilitates users in performing operations like creating,
reading, updating, and deleting data within the database. It grants physical and logical
independence from data, controls and restricts access to the database, and offers varying
perspectives of the data to meet the needs of different users. Databases are classified according to
how data is stored and retrieved (Olawanle, 2023).
Figure 1 Database
User Requirements
All employees should be able to operate easily with the IT helpdesk irrespective of their
technical skills.
A centrally located database should be accessible through the system to maintain records
of client inquiries and their current condition.
Users should be able to evaluate the guidance they received and provide feedback to the
system
Any device, including desktops, laptops and cell phones, should be liable to access the
system.
System Requirements
System requirements are essential in software development, serving as a basis for designing,
developing, and deploying solutions. They give a clear idea of what the system should do and
which hardware, software, and networking infrastructure will be required to get it to work
properly. The IT helpdesk has set the various system requirements which comprises of following
components
as manufacturing, finance, aviation, and human resources to assure data protection, consistency,
correctness, and integrity (Atzeni, 1993).
Entity
Entities are visualized using rectangles that are named after the entity set, they represent. It refers
to the unique object or data which could be physical existence or something with conceptual
existence (Li & Chen, 2009).
Attributes
The attributes are the characteristics or features of an entity. Ellipse are utilized for symbolizing
attributes. Each ellipse denotes one attribute and has a connection to its corresponding rectangle-
based object (Li & Chen, 2009).
Key attribute - Key attributes are unique types of attributes that serve as an entity's primary key
and may be utilized to differentiate one entity from another in an entity collection. Key attributes
must store distinct, non-repeating values (Li & Chen, 2009).
Composite attribute - Two or more basic attributes combine to constitute composite attributes.
It is displayed as an ellipse, which is bound to other ellipses by another ellipse (Li & Chen,
2009).
Multivalued Attribute- A multivalued attribute is one that has more than one possible value.
An ER Diagram indicates it with double ovals. It is frequently used to hold details on the
connections between entities. As an example, the phone number property has multivalued
attribute. Hierarchical data can also be represented by multivalued characteristics (Li & Chen,
2009).
Derived Attribute- They are calculated or determined based on other attributes and aren’t
physically stored as data values (Li & Chen, 2009).
Relationships
A link that exists between two or more tables permitting data to be accessed or altered between
the tables is database relationships. Diamond-shaped boxes signify relationships. Inside the
diamond-box is put the name of the connection. A line connects all of the entities (rectangles)
involved in a relationship.
One- to-one
One-to-many
Many-to-one
Many-to-many
Normalization
Normalization is a database design technique that eliminates data redundancy and prevents
undesired features such as Insertion, Update, and Deletion Anomalies. The objective of
normalization is to break down large tables into smaller tables and link them by relationships.
This helps to reduce the amount of repeated data and ensure that the data is kept in an
appropriate order. Normalization rules are classified into following types (Javatpoint, 2021)
Data Validation
The process of inspecting and verifying data before it is utilized is known as data validation. In
order to attain correct outcomes, every form of data handling operation, whether it is obtaining
data, evaluating it, or scheduling it for display, necessitates data validation. It could be tempting
to skip validation since it takes time. However, it is an indispensable phase to accomplish the
finest outcomes possible (Informatica, 2023).
Output Design
The process of defining the sort of outputs required and creating the requisite output controls and
prototype report layouts is referred to as output design. It is the most primary and basic source
of details for the user. It entails developing drawings, specifications, and production instructions
that specify all of the components, parts, and pieces that go into a product device (Informatica,
2023).
Interface Diagram
Interface diagrams are visualizations of the interaction between several components or systems.
The association of various system elements, such as the data flow between the database, the user
interface, and additional systems that could be connected with the helpdesk system, can also be
shown using interface diagrams. It can be used to upgrade the overall system design and enhance
its versability. In the context of IT help desk system, interface design can be used to portray the
relationship between the user and system requirements (interaction-design.org, 2016).
System Design
The system design for the IT help desk based on the Help Desk scenario is described below
Figure 3 ER Diagram
According to the system requirements I have designed the ER diagram which consists of various
entities such as Helpdesk, Client, Department, Problem, and Specialist.
Helpdesk Entity- The attributes for the helpdesk includes HID, HName, Software/OS Computer
ID, ProblemID. HID is considered as the primary key which is the unique identifier. HName is
considered as the composite attribute which has the first name and last name. ProblemID is the
foreign key. Each helpdesk can handle multiple clients, departments and problems. So, it has the
1:M relationships with these entities
Caller Entity- The attributes for the client includes Caller ID, CName, Email, Caddress, Date of
Call, Phone number, Job title. Caller ID is considered as the primary key. Caller Name is the
composite attribute. Phone number is multivalued attributes.
Department Entity- The DepartmentID is the primary key and there is a one-to-many relationship
between the department and the specialists since a department can have multiple specialists
assigned to it.
Problem- It has problem type, problem details, complain name and complain number, Resolved
Date. Problem ID is considered as the primary key.
Specialist Entity – This entity contains characteristics such as the Specialist Id, Name, Workload,
Location and Contact Number.
Software Entity- This entity includes attributes like Software ID, Software Name, Version,
License and date of manufacture.
Schema Diagram
Data Dictionary
Data dictionaries contain and convey metadata regarding information stored within a database, a
system, or data utilized by applications. For a dataset, data dictionary serves as a reference
manual. A data dictionary's primary objective is to assist data teams comprehend the data assets.
Data administrators, analysts, and engineers implement a data dictionary to fully understand and
trust data assets (Singh, 2022).
A data dictionary providing a comprehensive overview of the characteristics of the Help Desk
database tables is available.
Caller Table
Table Name Field Name Data Type Field Size Constraint Description
Department Table
Table Name Field Name Data Type Field Size Constraint Description
Problem Table
Table Name Field Name Data Type Field Size Constraint Description
Specialist Table
Table Name Field Name Data Type Field Size Constraint Description
Specialist Specialist ID int Primary key ID of
specialist
Specialist Name varchar 30 Name of
Specialist
Software Table
Table Name Field Name Data Type Field Size Constraint Description
System Requirements
I used XAMMP, Apache NetBeans 15 and SQL Server 2021 to bolster the performance of my
application. I wrote the basic framework and design with Java programming language. SQL was
used for the back-end of the application, dealing with data storage and access, while Apache
NetBeans used for the front-end, mainly focusing on the user interface. Both elements have a
significant role and are equally responsible for the success of my application.
Conclusion
Ultimately, we constructed a relational database system that satisfies the wants and requirements
of both the user and the system. The database is comprised of up of four interconnected tables
that were put together with by means of proper design tools and methodologies. The database
tables were designed to appropriately captivate the entities and relationships involved, and the
user requirements were carefully evaluated. During the design phase, system needs such as data
integrity, consistency, and performance were additionally taken into account.
Introduction
Our extensive database system has been developed to organize and address assistance and
guidance needs in an effective manner. This system strengthens productivity and generates an
effortless user experience with a user-friendly interface, data validation, secure architecture, and
extensive querying capabilities. Ticket administration, customer information storage, query
response, and data analysis are all part of it. Security safeguards sensitive data, while
maintainability provides long-term viability and flexibility. Using the Help Desk System, you
can streamline support operations, enhance response times, and maintain high customer
satisfaction. The query language is also implemented in relational database system.
I've been using Apache NetBeans as my IDE. It's really convenient to get started with, as it's easy
to use and works well with other tools. It has great features, like debugging, code completion,
integration, and support for multiple programming languages.
Login page
In Login Page, if we enter incorrect credentials i.e., Username and Password then, we cannot
access the other page. We cannot enter inside the main page. Login will be successful if the
credentials you enter is correct. The data validations are also applied over here. I have shown the
login page and the code for the successful login below.
Home Page
I have included caller information, problem details, software, and specific data for the homepage
so that we can have access the relevant fields.
Caller Details
Initially the details must be added and you will see the data inserted successfully.
For Add
For View
The below provided information about the caller’s is provided when we click the view button.
Problem Details
Like the caller’s details it also contains the add, update and search button. The code is given
below:
For print
For View
Software
For Add
For view
We can view the details we inserted into the table
For Search
We can search by entering the numbers
For Print
For Specialist
For Add
For view
For Search
For print
A data definition language (DDL) is a type of programming language that is used for developing
and modifying the arrangement of databases items. Views, schemas, tables, and indexes are
examples of such objects in a database. Data Definition Language outlines the fields and records
in a database table, defining primary key and field of the table. The commands of DDL includes
create, drop, alter and truncate (Scaler, 2022).
refers to a sublanguage of an overall database language, such as SQL, which incorporates several
of the language's operators. A DML (data manipulation language) is an association of
programming languages capable of providing guidelines for altering data in databases. The
commands include insert, update and delete (Scaler, 2022).
Caller Details
Create Table
Update Data
Delete Data
Problem Details
Create Table
Update Data
Delete Data
Software Details
Create table
Update Data
Delete Data
Specialist
Create table
Update Data
Delete Data
Testing
Testing is a method of assessing the performance of a software program to make sure that it
meets all the specified requirements and is free of any errors. The intention is to guarantee that
the end product is of top quality. Testing is a method of evaluating a software product or system
in order to assess its dependability, security, and performance. It involves assessing the
software's characteristics for any missing requirements, bugs, or errors so as to ascertain that it
fulfills the set conditions. The purpose of software testing is to locate errors, or missing
objectives in comparison to the actual requirements (Ibm, 2016).
Types of Testing
Functional Testing
Functional Testing is a sort of software testing that is performed to check if the functionality of a
software program, and to determine if the function continues to function in accordance to the
requirements. Each function is reviewed in functional testing by offering the value, estimating
the output, and then comparing the actual output to the expected value. Functional testing has
been described as black-box testing as a means of confirming that an application's or system's
functionality is operating as expected. It is done in order to verify that the software works
properly. The overall objective of functional testing is making sure that the key entry function,
which must be useful, including the flow of the screen GUI have all been performing correctly.
The error message occurs during functional testing so that the individual using it could simply
navigate through the application (Ibm, 2016).
Unit Testing
Unit testing involves checking every individual part or section of a software program. It is the
very initial step of functional testing. The main goal of unit testing is to evaluate the functionality
of the unit components. The main goal of unit testing is to validate that individual software
programs are working accurately. White box testing is regularly employed for unit testing and is
typically done by developers. Unit tests are normally automated and are aimed at verifying
particular components of code, such as a certain feature or procedure. Unit testing is done at the
most basic level of the software development process, in which single parts of the code are tested
separately. Unit testing promotes testers and developers become familiar with the foundation of
code, offering them to immediately update defect-causing code. Unit testing is helpful while
creating documentation (Ibm, 2016).
Integration Testing
Integration testing is the second step in the software testing process, following unit testing. Units
or different components of the software undergo evaluation collectively during this testing. The
integration testing is to detect defects through the interaction of integrated components or units.
This testing's primary job or goal is to verify the connections between the units/modules.
Integration testing involves inspecting multiple integrated systems in order to make sure that all
of them run successfully. Not only should the integration interfaces be examined, but the whole
integrated system needs to be reviewed considering into consideration the environment (Ibm,
2016).
Stress Testing
Stress testing is a significant component of performance testing in non-functional software
testing Stress testing is used to evaluate the reliability and robustness of software, beyond normal
operational boundaries. It is primarily intended for important software, although it may be
applied to any form of software application. Endurance testing, fatigue testing, and torture testing
are other names for it (Ibm, 2016).
Technical Documentation
Technical documentation may occur in numerous forms, but the primary objective is to provide
clarification on your product's features and functioning. Details regarding product roadmaps and
targets, the software layout, methodology for design, and scheduled applications are all
mentioned.
Table Name Field Name Data Type Field Size Constraint Description
Department
Table Name Field Name Data Type Field Size Constraint Description
Problem
Table Name Field Name Data Type Field Size Constraint Description
Specialist
Table Name Field Name Data Type Field Size Constraint Description
Specialist Specialist ID int Primary key ID of
specialist
Specialist Name varchar 30 Name of
Specialist
Software
Table Name Field Name Data Type Field Size Constraint Description
ER Diagram of my application
Schema Diagram
Algorithm of my application
For Login Page
1. Start
2. Display the login page with input fields for username and password.
3. Accept the username and password entered by the user.
4. Validate the input fields to ensure they are not empty.
5. If the input fields are not empty, proceed to the next step.
6. Verify the username and password against the stored credentials in the database or any
other authentication mechanism.
7. If the credentials are valid, redirect the user to the main page or perform the desired
action.
8. If the credentials are invalid, display an error message.
9. End.
1. Start
2. Declare the variables for name, doc, job title, email, CallerID, phone and department
3. Display an input field to capture the caller’s information
4. Accept the values
5. If all the input fields are valid, proceed to the next step
6. Insert the caller’s information
7. End
1. Start
2. Declare the variables for problem_id, problem_name, description, problem_type
3. Display an input field to capture the problem’s information
4. Accept the values
5. If all the input fields are valid, proceed to the next step
6. Insert the problem’s information
7. End
For Software
1. Start
2. Declare the variables for software_id, software_name, version, license
3. Display an input field to capture the software’s information
4. Accept the values
5. If all the input fields are valid, proceed to the next step
6. Insert the software’s information
7. End
For Specialist
1. Start
2. Declare the variables for specialist _id, specialist_name and work_load
3. Display an input field to capture the specialist’s information
4. Accept the values
5. If all the input fields are valid, proceed to the next step
6. Insert the caller’s information
7. End
Flow Chart
User Documentation
User documentation provides your end user with the necessary information to understand and
use your product or service. It can help them learn the features and functions of your product, as
well as answer any questions they may have. User documentation can also serve as a reference
guide, helping customers quickly find solutions to common problems.
For Add
For view
For search
For print
For Add
For view
For search
For Software
For Add
For View
For Search
For print
For Specialist
For Add
For view
For Search
For Print
Conclusion
In conclusion, we were successful in developing technical and user documentation for the
database system. This documentation possesses all of the relevant facts and recommendations for
both technical personnel and end users. The technical documentation proposes an in-depth
explanation of the database system's architecture, structure, and implementation. This serves as
details concerning the database schema, table arrangements, linkages, constraints, and indexing
strategies. User documentation is designed to give end users clear instructions and assistance
when working with the database system. This includes user manuals, tutorials, and FAQs to help
users become familiar with the system's capabilities and features.
References
Atzeni, P. a. D. A. V., 1993. Relational database theory. 1 ed. s.l.:Benjamin-Cummings
Publishing Co., Inc..
Javatpoint, 2021. DBMS Normalization: 1NF, 2NF, 3NF and BCNF with Examples - javatpoint.
[Online]
Available at: https://www.javatpoint.com/dbms-normalization
[Accessed 03 06 2023].
Li, Q. & Chen, Y. L., 2009. Entity-relationship diagram. In: Springer, ed. Modeling and analysis
of enterprise and information systems. s.l.:Springer, pp. 125--139.
Scaler, 2022. What are DDL, DML, and DCL in SQL?. [Online]
Available at: https://www.scaler.com/topics/ddl-dml-dcl/
[Accessed 03 06 2023].