Uploaded by mohamedsameeth85

PA90204

advertisement
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title
BTEC HND in Computing
Assessor
Miss Tiyetra
Unit(s)
Assignment title
Student’s name
Internal Verifier
Unit 04: Database Design & Development
Database Solution for Polly Pipe
Mohamed Akthar Kuthubdeen
List which assessment criteria
the Assessor has awarded.
Pass
Merit
Distinction
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded match
those shown in the assignment brief?
Y/N
Is the Pass/Merit/Distinction grade awarded
justified by the assessor’s comments on the
student work?
Y/N
Has the work been assessed
accurately?
Y/N
Is the feedback to the student:
Give details:
• Constructive?
• Linked to relevant assessment criteria?
• Identifying opportunities for
improved performance?
• Agreeing actions?
Y/N
Y/N
Y/N
Does the assessment decision need
amending?
Y/N
Y/N
Assessor signature
Date
Internal Verifier signature
Date
Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken
Give details:
Assessor signature
Date
Internal Verifier
signature
Date
Programme Leader
signature (if required)
Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Mohamed Akthar Kuthubdeen
Unit Title
Unit 04:
Assignment Number
1
Assessor
04 26 2022
Date Received
1st submission
Submission Date
Database Design & Development
Date Received 2nd
submission
Re-submission Date
Assessor Feedback:
LO1 Use an appropriate design tool to design a relational database system for a substantial problem
Pass, Merit & Distinction
Descripts
P1
M1
D1
LO2 Develop a fully functional relational database system, based on an existing system design
Pass, Merit & Distinction
Descripts
P2
P3
M2
M3
D2
LO3 Test the system against user and system requirements.
Pass, Merit & Distinction
Descripts
P4
M4
D2
LO4 Produce technical and user documentation.
Pass, Merit & Distinction
Descripts
Grade:
P5
M5
Assessor Signature:
D3
Date:
Resubmission Feedback:
Grade:
Assessor Signature:
Date:
Internal Verifier’s Comments:
Signature & Date:
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Feedback: Student to Assessor
Assessor
signature
Date
Student
signature
Date
Pearson Higher Nationals in
Computing
Unit 04: Database Design & Development
Assignment 01
General Guidelines
1. A Cover page or title page – You should always attach a title page to your assignment. Use
previous page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.
Word Processing Rules
1.
2.
3.
4.
The font size should be 12 point, and should be in the style of Time New Roman.
Use 1.5 line spacing. Left justify all paragraphs.
Ensure that all the headings are consistent in terms of the font size and font style.
Use footer function in the word processor to insert Your Name, Subject, Assignment No, and
Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing your
assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without attributing the sources in the correct form. I further understand what it means
to copy another’s work.
1. I know that plagiarism is a punishable offence because it constitutes theft.
2. I understand the plagiarism and copying policy of Edexcel UK.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be my
own, and where I have made use of another’s work, I will attribute the source in the correct
way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Pearson, UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the assignment.
Student’s Signature:
(Provide E-mail ID)
Date:
(Provide Submission Date)
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number
Mohamed Akthar Kuthubdeen
Unit Number and Title
Unit 4: Database Design & Development
Academic Year
2021/22
Unit Tutor
Assignment Title
Data base system for Polly Pipe
Issue Date
Submission Date
IV Name & Date
Submission format
Part 1: The submission should be in the form of an individual written report written in a concise,
formal business style using single spacing and font size 12. You are required to make use of
headings, paragraphs and subsections as appropriate, and all work must be supported with
research and referenced using Harvard referencing system. Please also provide in-text citation
and bibliography using Harvard referencing system. The recommended word limit is 3,000–
3,500 words, although you will not be penalised for exceeding the total word limit.
Part 2: The submission should be in the form of a fully functional relational database system
demonstrated to the Tutor; and an individual written report (please see details in Part 1 above).
Part 3: The submission should be in the form of a witness statement of the testing completed
by the Tutor; technical documentation; and a written report (please see details in Part 1
above).
Unit Learning Outcomes:
LO1 Use an appropriate design tool to design a relational database system for a substantial
problem.
LO2 Develop a fully functional relational database system, based on an existing system design.
LO3 Test the system against user and system requirements.
LO4 Produce technical and user documentation.
Assignment Brief and Guidance:
Assignment brief
Polly Pipe is a water sports provider and installer based in Braintree, England. They need you
to design and implement a database that meets the data requirements. These necessities are
defined in this scenario and below are samples of the paper records that the Polly Pipe
preserves.
Polly Pipe is focused in placing aquariums at business customers. Customers can request
several installations, but each installation is tailor-made for a specific customer. Facilities are
classified by type. One or more employees are assigned to each facility. Because these
facilities are often very large, they can include carpenters and masons as well as water
installers. The facilities use equipment such as aquariums, air pumps and thermostats. There
can be multiple computers in a facility.
Below are examples of paper records that Polly Pipe currently maintains.
Staff Management Record
Staff Number
SHA1
SHA8
SHA2
SHA11
SHA23
SHA66
SHA55
Name
Dave Clark
John Smith
Freddy Davies
McCloud
Satpal Singh
Winstn Kodogo
Alison Smith
Type
Plumber
Installation Manager
Aquatics installer
Aquatics installer
Plumber
Aquatics installer
Brick Layer
Equipment Type Table
Type
Tanks
Thermostats
Air Pumps
Filters
Equipment
20 gallon tank, 50 gallon tank, 100
gallon tank, 200 gallon tank
Standard, Super
Standard, Super
Air driven, Undergravel
Instillation Management Form
Installation
ID
Installation
Type
Installation Customer Equipment
Name and
Address
Types of Staff
Required
234
Freshwater Oak
Tropical
House, 17
Wroxton
Road,
Hertfordsh
ire, H5 667
Lee A.
sun
1 x Carpenter
1 x Aquatics
installer
1 x Electrician
654
Freshwater Bayliss
Cold
House,
Orange
Street,
Kent, K7
988
Sally
Dench
767
Marine
Eaglestone
Castle,
Eaglestone
, Kent
Perry
Vanderru
ne
943
Marine
23
Sackville
Street,
Wilts. W55
Eric
Mackinto
sh
157
Freshwater Humbertso Perry
Tropical
n Castle,
Vanderru
Kent, K8
ne
2 air
pumps
200 gallons
fish tank
1x
standard
thermostat
2 air
pumps
200 gallons
fish tank
Large
Gravel Bag
2x
standard
thermostat
s
2 x 200
gallons fish
tanks
500 Wood
panels
5x
Carpenters
1x
Installation
Manager
1 x Aquatics
installer
1 x Plumber
3 x Labourers
Period of
Staff
assignm
ent
From 1st
Septemb
er 2012
1st June
2005 –
1st June
2011
10 x
From
Carpenters
30th June
2x
2012
Installation
Manager
1 x Aquatics
installer
1 x Plumber
3 x Labourers
No staff required
2 air
pumps
200 gallons
fish tank
1x
standard
thermostat
2 air
1 x Aquatics
pumps
installer
400 gallons
fish tank
3x
standard
thermostat
1st
Septemb
er 2005
– 1st
Septemb
er 2012
Activity 1
1.1. Identify the user and system requirements to design a database for the above scenario
and design a relational database system using conceptual design (ER Model) by including
identifiers (primary Key) of entities and cardinalities, participations of relationships.
Convert the ER Model into logical database design using relational database model
including primary keys foreign keys and referential Integrities. It should contain at least
five interrelated tables. Check whether the provided logical design is normalised. If not,
normalize the database by removing the anomalies.
(Note:-It is allowed to have your own assumptions and related attributes within the scope of the case study
given)
1.2.
Design set of simple interfaces to input and output for the above scenario using
Wireframe or any interface-designing tool. Evaluate the effectiveness of the given design
(ERD and Logical design) in terms of the identified user and system requirements .
Activity 2
Activity 2.1
a. Develop a relational database system according to the ER diagram you have created
(Use SQL DDL statements). Provide evidence of the use of a suitable IDE to create a
simple interface to insert, update and delete data in the database. Implement proper
security mechanisms in the developed database.
Evaluate the database solution developed and its effectiveness with relevant to the
user and system requirements identified, system security mechanisms (EX: -User
groups, access permissions) and the maintenance of the database.
Activity 2.2
a. Explain the usage of DML with below mentioned queries by giving at least one single
example per each case from the developed database. Assess the usage of the below
SQL statements with the examples from the developed database to prove that the
data extracted through them are meaningful and relevant to the given scenario.
Select/ Where / Update / Between / In / Group by / Order by / Having
Activity 3
Activity 3.1
Provide a suitable test plan to test the system against user and system requirements.
provide relevant test cases for the database you have implemented. Assess how the
selected test data can be used to improve the effectiveness of testing.
Note:- Learner needs to give expected results in a tabular format and screenshots of the actual results with
the conclusion
Activity 3.2
Get independent feedback on your database solution from the non-technical users and
some developers (use surveys, questioners, interviews or any other feedback collecting
method) and make recommendations and suggestions for improvements in a separate
conclusion/recommendations section.
Activity 4
Produce a technical documentation and a user guide for the developed database system.
Suitable diagrams diagrams (Use case diagram, class diagram, flow charts, DFD level 0 and
1) should be included in the technical documentation to show data movement in the system.
Assess the developed database by suggesting future enhancements to ensure the
effectiveness of the system.
Grading Criteria
LO1 Use an appropriate design tool to design a relational
database system for a substantial problem
P1 Design a relational database system using appropriate
design tools and techniques, containing at least four
interrelated tables, with clear statements of user and system
requirements.
M1 Produce a comprehensive design for a fully functional
system that includes interface and output designs, data
validations and data normalization.
D1 Evaluate the effectiveness of the design in relation to
user and system requirements.
Achieved
Feedback
LO2 Develop a fully functional relational database system,
based on an existing system design
P2 Develop the database system with evidence of user
interface, output, and data validations, and querying across
multiple tables.
P3 Implement a query language into the relational database
system
M2 Implement a fully functional database system that
includes system security and database maintenance.
M3 Assess whether meaningful data has been extracted
using query tools to produce appropriate management
information.
LO3 Test the systems against user and system requirements
P4 Test the system against user and system requirements.
M4 Assess the effectiveness of the testing, including an
explanation of the choice of test data used.
LO2 & LO3
D2 Evaluate the effectiveness of the database solution in
relation to user and system requirements, and suggest
improvements.
LO4 Produce technical and user documentation
P5 Produce technical and user documentation.
M5 Produce technical and user documentation for a fully
functional system, including diagrams showing movement of
data through the system, and flowcharts describing how the
system works.
D3 Evaluate the database in terms of improvements
needed to ensure the continued effectiveness of the
system.
ACKNOWLEDGEMENT
I am proud that I took this assignment. Each and every learning outcomes and lectures improved my
knowledge on database. First and foremost I would like to thank Miss Tiyetra lecturer at the ESOFT
Metro Campus, wattala who helped me to understand the scenario and get a clear idea about it. I
would also like to thank all the lecturers Esoft Miss Menisha Silva branch, my friends and others
who helped me to complete the assignment successfully within the deadline. Finally, a special thanks
to my parents and god for their support, patience and encouragement they gave me to complete this
assignment successfully.
Thank you
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
16
Contents
Activity 1 ......................................................................................................................................... 21
1.1.
Designing a Relational Database System .......................................................................... 23
1.1.1.
The User and the System Requirements of the Polly Pipe System............................ 23
1.1.2.
Designing the ER Diagram ........................................................................................ 25
1.1.3.
Designing the Relational Database Model ................................................................. 28
1.2.
Designing a Fully Functional System ..................... Ошибка! Закладка не определена.
1.2.1.
Normalization .................................................. Ошибка! Закладка не определена.
1.2.2.
Interfaces of the Polly Pipe System ........................................................................... 34
1.2.3.
Validation Mechanisms ............................................................................................. 39
1.3.
ERD vs User and System Requirements ........................................................................... 40
Activity 2 ......................................................................................................................................... 41
2.1.
Developing The Database System..................................................................................... 41
2.1.1.
SQL DDL Statements of the Polly Pipe System ........................................................ 41
2.1.2.
Evidence of Insert, Update and Delete Queries of the System in Visual Studio ....... 44
2.1.3.
Implementation of Validation Methods ..................................................................... 50
2.1.4.
Example for Join Query ............................................................................................. 51
2.2.
Implementing Query Language into the Relational Database System .............................. 52
2.2.1.
2.3.
System Security and Database Maintenance ..................................................................... 53
2.3.1.
2.4.
Usage of DML ........................................................................................................... 52
Security Mechanisms ................................................................................................. 53
Meaningful extraction of data ........................................................................................... 59
2.4.1.
Usage of SQL Statement ............................................................................................ 59
Activity 3 ......................................................................................................................................... 61
3.1.
Testing ............................................................................................................................... 61
3.1.1.
Test plan ..................................................................................................................... 61
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
17
3.1.2.
Test Plan of Polly Pipe System .................................................................................. 63
3.1.3.
Test cases ................................................................................................................... 65
3.2................................................................................................................................................. 67
3.2.1.
3.3.
Effectiveness of Testing ............................................................................................. 67
Evaluating the Effectiveness of the Database Solution ..................................................... 69
3.3.1.
Evaluation from the Feedbacks .................................................................................. 69
Activity 4 ......................................................................................................................................... 78
4.1.
Technical and User Documentation .................................................................................. 78
4.1.1.
User Guide ................................................................................................................. 78
4.1.2.
Technical Guide ......................................................................................................... 80
4.2.
Technical Documentation for A Fully Functional System ............................................... 81
4.2.1.
4.3
Diagrams .................................................................................................................... 81
Ensuring Continued Effectiveness of Database System ................................................... 85
4.3.1.
Future improvements ................................................................................................. 85
Self-Criticism .................................................................................................................................. 85
References ....................................................................................................................................... 88
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
18
Table of Figures
Figure 1:Polly Pipe' ER Diagram ..................................................................................................... 27
Figure 2:Referential Integrity Diagram of Polly Pipe System Ошибка! Закладка не определена.
Figure 3:Login Interface .................................................................................................................. 34
Figure 4:Main Form Interface .......................................................................................................... 34
Figure 5:CUTOMER Interface ........................................................................................................ 35
Figure 6:EMPLOYEE Interface ...................................................................................................... 35
Figure 7:Payment Interface .............................................................................................................. 36
Figure 8:Installation Interface .......................................................................................................... 36
Figure 12:PAYMENT Interface ...................................................................................................... 38
Figure 13:SQL DDL Statement for CUSTOMER table ................................................................. 38
Figure 33:Range Check.................................................................................................................... 39
Figure 34:Presence Check................................................................................................................ 40
Figure 35:Drop Down Box .............................................................................................................. 41
Figure 55:ACID Diagram ................................................................................................................ 62
Figure 56:Database test steps ........................................................................................................... 62
Figure 57:SELECTION test ............................................................................................................. 65
Figure 58:DELETION test ............................................................................................................... 65
Figure 59:UPDATING test .............................................................................................................. 65
Figure 60:INSERTION test ............................................................................................................. 66
Figure 61:Range check test .............................................................................................................. 66
Figure 62:Type check test ................................................................................................................ 67
Figure 63Duplicate primary key check test ..................................................................................... 67
Figure 64:Filled feedback form (evidence)...................................................................................... 71
Figure 66:Insert user guide .............................................................................................................. 78
Figure 67:Delete user guide ............................................................................................................. 78
Figure 68:Delete user guide ............................................................................................................. 79
Figure 69:Update user guide ............................................................................................................ 79
Figure 70:Use Case Diagram ........................................................................................................... 81
Figure 71:DFD Level 00 .................................................................................................................. 81
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
19
Figure 72:DFD Level 01 .................................................................................................................. 82
Figure 73:Flow Chart ....................................................................................................................... 83
Table of tables
Table 1:Primary Keys of Polly Pipe System.................................................................................... 28
Table 2:Foreign Keys of Polly Pipe System .................................................................................... 29
Table 3:Un-Normalized EMPLOYEE Table ................................................................................... 31
Table 4:EMPLOYEE table in 1NF Form ........................................................................................ 32
Table 5:EMPLOYEE Table in 2NF Form ....................................................................................... 33
Table 6:TRANSPORT_UNIT Table in 2NF Form ......................................................................... 33
Table 8:TRANSPORT_UNIT Table in 3NF Form ......................................................................... 33
Table 9:Validation Mechanisms ...................................................................................................... 39
Table 10:Recommendations and conclusions .................................................................................. 77
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
20
Activity 1
Introduction
Polly Pipe is a water sports provider and installer based in Braintree, England which has grown to
a level. Currently they are using a file system to maintain their day to day Installation and records
where they face many problems. Now they have requested to develop an automated system to handle
their day to day operational activities to meet their customer’s demands. Following are some of the
risks/problems they currently face while using the file system.
A database is a collection of information that is organized so that it can be easily accessed, managed
and updated.Data is organized into rows, columns and tables, and it is indexed to make it easier to
find relevant information. Data gets updated, expanded and deleted as new information is added.
Databases process workloads to create and update themselves, querying the data they contain and
running applications against it.Computer databases typically contain aggregations of data records
or files, such as sales transactions, product catalogs and inventories, and customer profiles.
Typically, a database manager provides users with the ability to control read/write access, specify
report generation and analyze usage. Some databases offer ACID (atomicity, consistency, isolation
and durability) compliance to guarantee that data is consistent and that transactions are
complete.Databases are prevalent in large mainframe systems, but are also present in smaller
distributed workstations and midrange systems, such as IBM's AS/400 and personal computers.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
21
1. Data redundancy
2. Data inconsistency
3. Complexity on data sharing
4. Unexpected errors during concurrent access to data
5. Too much time on searching a data
6. Lack of data integrity
7. Difficult to edit an old data
Database
A database is a collection of data that is organized so that it can be easily accessed, managed and
updated. (Rouse, 2017)
Database Management System (DBMS)
Database Management System is a set of programs to store and retrieve those data. DBMS is a
collection of inter-related data and set of programs to store & access those data in an easy and
effective manner. (SINGH, 2016)
Why to Use DBMS
1. To develop software applications in less time.
2. Data independence and efficient use of data.
3. For uniform data administration.
4. For data integrity and security.
5. For concurrent access to data, and data recovery from crashes.
6. To use user-friendly declarative query language.
(DBMS Tutorials, 2017)
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
22
1.1.
Designing a Relational Database System
1.1.1. The User and the System Requirements of the Polly Pipe System
1.1.1.1.
User Requirements
User requirement - They talk about the problem domain, the world of the user. They describe what
effects need to be achieved. These effects are the combined responsibility of the software, the
hardware, and the users.
(Prechelt, 2014)
I have identified some user requirements for the Polly Pipe System based on the brief given. These
requirements should be considered while developing the system for Polly Pipe. The major user
requirements are as follows.
1. The Polly Pipe System shall register and maintain the customers
2. Customer shall request several installations.
3. Admin shall retrieve all the installations information.
4. The system shall generate monthly and weekly reports as needed.
5. The system shall help to manage the payment of the installations and employees.
6. The database should be secured
7. The time taken to process data and respond shall be less
8. The records shall exist till the admin wants it to exist
9. The system should be able to hold a large number of records
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
23
1.1.1.2.
System Requirements
System requirement - They talk about the solution domain, the world of the software logic. They
describe what the software must do (as opposed to the effects in the user's world that this may or
may not achieve).
(Prechelt, 2014)
Similarly, Polly Pipe System too has some system requirements based on the brief given. These
requirements should be considered while developing the system for Polly Pipe company. They are
mentioned below.
1. The Polly Pipe System must be able to work/run on the Windows 10 and other related
Windows operating systems (Software Requirement)
2. The machine where the Polly Pipe System is to be installed should have a processor and a
RAM which can handle a large database efficiently (Hardware Requirement)
3. A best paid antivirus software should be installed in the machine where the Polly Pipe System
is to be installed to protect the system from any cyber threats
4. The machine system should have a backup option to avoid any data loss.
5. The Polly Pipe System shall have a personal account for each customer
6. Admin shall have an option to access all the Installation details
7. Summary of the Installations shall be generated Installation each week
8. The system shall generate the installations report for printing
9. Access to installations confirmation and payments shall be restricted to authorized users
only.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
24
Designing the ER Diagram
1.1.2.1.
Entities and Attributes of Polly Pipe System
The Polly Pipe System must have a set of entities and some attributes related to the entities based
on the user and system requirements mentioned above. I have identified 8 major entities and some
attributes related to them as mentioned below.
Entity:
CUSTOMER
Attributes:
Cust_Id, Cust_Name, Cust_NIC, Cust_Address, Contact_No.
Entity:
INSTALLATION
Attributes:
InsID , Cus_Id, Installation_Type_ID, period .
Entity:
EQUIPMENT
Attributes:
EQU_Id, EQU_name , EQU_type ,EQU_qnty
Entity:
PAYMENT
Attributes:
Pay_Id, Cust_Id, InsID, Pay_Type,Pay_Date,Pay_Amount
Entity:
EMPLOYEE
Attributes:
Emp_Id,Emp_Name,Emp_NIC,Emp_Address,Emp_Type,Contact_No
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
25
Entity:
INSTALLATION TYPE
Attributes:
Installation_Type_ID, type
Entity:
EMPLOYEE _INSTALLATION
Attributes:
Emp_Id, InsID
Entity:
EQUIPMENT_ INSTALLATION
Attributes:
EQU_Id, InsID,Qnty
However, the attributes mentioned above are just an assumption and may differ and also be clearly
explained in the entity relationship diagram (ER Diagram)
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
26
1.1.2.2.
ER Diagram of Polly Pipe System
Figure 1:Polly Pipe ER Diagram
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
27
1.1.3. Designing the Relational Database Model
1.1.3.1.
Types of Keys in a Relational Database
A key is one or more attributes that determine other attributes based on the concept of determination.
There are 5 major types of keys related to the relational database.
1. Super key
- A set of attributes that uniquely identifies each tuple in a relation
2. Candidate key
- Similar to a super key, but does not contain a subset of attributes that is
itself a super key. In other words, a "minimal super key".
3. Primary key (PK)
- Candidate Key selected to uniquely identify all other attribute values in
any given entity. A primary key can be made with multiple attributes
and cannot contain NULL values.
4. Secondary key
-An attribute or combination of attributes that identify a set of rows based
on a value. Generally used strictly for data retrieval purposes.
5. Foreign key (FK)
-An attribute or combination of attributes in one table whose values must
either match the primary key (PK) in another table or be NULL.
(FANDOM, 2017)
Primary keys in the Polly Pipe System
Table
Primary Key(PK)
CUSTOMER
Cust_Id
INSTALLATION
InsID
INSTALLATION TYPE
Installation_Type_ID
PAYMENT
Pay_Id
EQUIPMENT
EQU_Id
EMPLOYEE
Emp_Id
Table 1:Primary Keys of Polly Pipe System
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
28
Primary keys in the Polly Pipe System
Table
Foreign Key(FK)
CUSTOMER
-
INSTALLATION
InsID, Installation_Type_ID, Cust_Id
INSTALLATION TYPE
-
PAYMENT
-
CUS_PAYMENT
Cust_Id, Pay_Id, InsID
EQUIPMENT
-
EMPLOYEE
-
EMPLOYEE_ INSTALLATION
EQU_Id, InsID
EQUIPMENT_ INSTALLATION
Emp_Id, InsID
Table 2:Foreign Keys of Polly Pipe System
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
29
1.1.3.2.
Relational Database of the Polly Pipe System
Entity:
CUSTOMER
Attributes:
Cust_Id, Cust_Name, Cust_NIC, Cust_Address, Contact_No.
Entity:
INSTALLATION
Attributes:
InsID , Cus_Id, Installation_Type_ID, period .
Entity:
EQUIPMENT
Attributes:
EQU_Id, EQU_name , EQU_type ,EQU_qnty
Entity:
PAYMENT
Attributes:
Pay_Id, Cust_Id, InsID, Pay_Type,Pay_Date,Pay_Amount
Entity:
EMPLOYEE
Attributes:
Emp_Id,Emp_Name,Emp_NIC,Emp_Address,Emp_Type,Contact_No
Entity:
INSTALLATION TYPE
Attributes:
Installation_Type_ID, type
Entity:
EMPLOYEE _INSTALLATION
Attributes:
Emp_Id, InsID
Entity:
EQUIPMENT_ INSTALLATION
Attributes:
EQU_Id, InsID,Qnty
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
30
INSTALLATION
Normalization rules are divided into the following normal forms:
1. First Normal Form (1NF)
2. Second Normal Form (2NF)
3. Third Normal Form (3NF)
4. BCNF
1.2.1.1.
First Normal Form (1NF)
For a table to be in the First Normal Form, it should satisfy the following 4 conditions
1. It should only have single (atomic) valued attributes/columns.
2. Values stored in a column should be of the same domain
3. All the columns in a table should have unique names.
4. And the order in which data is stored, does not matter.
Eg:
EMPLOYEE table before normalization
Lorry
Depot
_No
_Name
Driver
0012
Kan
893456782v
Assistant
0031
Batt
0779264890
943286721v
Driver
0010
Col
0768923457
884371839v
Assistant
0100
Batt
Emp_Id
Emp_Name
Emp_Address
Contact_No
Emp_NIC
1001
Aman
Kanfna
0772341567
954391875v
1002
Akther
Colombo
0758923456
1003
Niroshan
Gampaha
1004
Sameer
Gampaha
Emp_Type
0112235748
0652238756
Table 3:Un-Normalized EMPLOYEE Table
This table is not in 1NF as the rule says “each attribute of a table must have atomic (single) values”,
the Emp_Mobile values for employees Akther & Sameer violates that rule.
To make the table complies with 1NF we should have the data as follows.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
31
EMPLOYEE table after first normalization
EMPLOYEE
Lorry
Depot
_No
_Name
Driver
0012
Kan
893456782v
Assistant
0031
Batt
0112235748
893456782v
Assistant
0031
Batt
Gampaha
0779264890
943286721v
Driver
0010
Col
Sameer
Gampaha
0768923457
884371839v
Assistant
0111
Col
Sameer
Gampaha
0652238756
884371839v
Assistant
0111
Col
Emp_Id
Emp_Name
Emp_Address
Contact_No
Emp_NIC
1001
Aman
Kanfna
0772341567
954391875v
1002
Akther
Colombo
0758923456
1002
Akther
Colombo
1003
Niroshan
1004
1004
Emp_Type
Table 4:EMPLOYEE table in 1NF Form
1.2.1.2.
Second Normal Form (2NF)
For a table to be in the Second Normal Form it should satisfy the following conditions.
1. It should be in the First Normal form.
2. And, it should not have Partial Dependency.
The EMPLOYEE table is now in 1 NF because each attribute has atomic values. However, it is not
in 2NF. To make the table complies with 2NF we can break it in two tables as follows.
EMPLOYEE table after Second Normalization
EMPLOYEE
Emp_Id
Emp_Name
Emp_Address
Contact_No
Emp_NIC
Emp_Type
1001
Aman
Kanfna
0772341567
954391875v
Driver
1002
Akther
Colombo
0758923456
893456782v
Assistant
1002
Akther
Colombo
0112235748
893456782v
Assistant
1003
Niroshan
Gampaha
0779264890
943286721v
Driver
1004
Sameer
Gampaha
0768923457
884371839v
Assistant
1004
Sameer
Gampaha
0652238756
884371839v
Assistant
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
32
Table 5:EMPLOYEE Table in 2NF Form
TRANSPORT_UNIT
Unit_Id
Lorry_No
Depot_Name
001
0012
Kan
002
0031
Batt
003
0010
Col
004
0111
Col
Table 6:TRANSPORT_UNIT Table in 2NF Form
1.2.1.3.
3NF
A table is said to be in the Third Normal Form when the following conditions are satisfied.
1. It is in the Second Normal form.
2. And, it doesn't have Transitive Dependency.
Here both the tables are in 2NF.But, Depot_Name is dependent on Lorry_No and, Lorry_No is
dependent on Unit_Id. This violates the rule of 3NF.However, the EMPLOYEE table is already in
3NF form without any transitive dependencies.
To make this table complies with 3NF we have to break the TRANSPORT_UNIT table into two
tables to remove the transitive dependency.
TRANSPORT_UNIT table after third normalization
TRANPORT_UNIT
Unit_Id
Lorry_No
001
0012
002
0031
003
0010
004
0111
DEPOT
Depot_Id
101
102
103
104
Depot_Name
Jaf
Batt
Col
Col
Table 7:DEPOT Table in 3NF Form
Table 9:TRANSPORT_UNIT Table in 3NF Form
DEPOT
Depot_Id
101
102
103
104
Depot_Name
Jaf
Batt
Col
Col
Table 8:DEPOT Table in 3NF Form
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
33
1.2.2. Interfaces of the Polly Pipe System
Login
Figure 2:Login Interface
MAIN FORM
Figure 3:Main Form Interface
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
34
CUSTOMER GUI
Figure 4:CUTOMER Interface
EMPLOYEE GUI
Figure 5:EMPLOYEE Interface
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
35
Installation GUI
Figure 6: Installation Interface
Equipment GUI
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
Figure 7: Equipment Interface
36
PAYMENT UNIT GUI
Figure 8: PAYMENT _UNIT Interface
Installation Type GUI
Figure 9: Installation Type Interface
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
37
EMPLOYEE _INSTALLATION GUI
Figure 10: EMPLOYEE _INSTALLATION Interface
EQUIPMENT _INSTALLATION GUI
Figure 11: EQUIPMENT _INSTALLATION Interface
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
38
1.2.3. Validation Mechanisms
Validation is an automatic computer check to ensure that the data entered is sensible and reasonable.
It doesn’t check the accuracy of data. (BBC, 2014)
Validation Type
Type check
How It Works
Checks that the data entered is
Example Usage
A number or date
of an expected type
Ensures the user can only
choose a predefined option
Drop down box
from a list, reducing the
chances of spelling mistakes or
Selecting one of the subjects of a
course
unwanted responses
The last one or two digits in a
Check digit
code are used to check the
other digits are correct
Format check
Length check
Lookup table
Presence check
Range check
Spell check
Checks the data is in the right
format
Bar code readers in supermarkets use
check digits
A national insurance number is in the
form ll 99 99 99 l where l is any letter
and 9 is any number
Checks the data isn't too short
A password which needs to be six
or too long
letters long
Looks up acceptable values in
There are only seven possible days of
a table
the week
Checks that data has been
In most database a key field cannot be
entered into a field or not
left blank
Checks that a value falls within
Number of hours worked must be less
the specified range or not
than 50 and more than 0
Looks up words in a dictionary
When word processing
Table 10:Validation Mechanisms
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
39
1.3.
ERD vs User and System Requirements
Databases play a major role in the current technical era. Almost every system depends on
databases.so we can say it is almost impossible to develop a system without database. Logical
database modelling is used mainly for gathering information for business needs. It does not involve
designing a database, but the physical database modelling is actually designing the databases.ER
diagram plays an important role in designing the databases efficiently.
The ER diagram I developed includes almost all the user and system requirements gathered from the
Polly Pipe Company. First and foremost, the main aim is to manage service and I have implemented
a form for each and every activity involved in it. Next is managing the reports. Hence, I have created
report generation buttons for daily and weekly report generation. Security is one of the most
important needs and it’s provided to password login option and granting privileges for different user
types. The system I have developed s fully secured and that requirement has been satisfied. Work
details are also being able to retrieved easily by clicking buttons. Combined information of
Instalation and payments are retrieved by using join queries.
As the ERD and logical design contain all the details that we need for designing a database can
implement meaningful information in the database. In my database almost all the attributes are
connected to each other so it’s easy to gain meaningful information. Almost all the user requirements
are satisfied on the database so we can assume that my database is well designed and executed.
Talking about system requirements system requirements, only a medium hardware configuration is
required so the cost of the hardware is less. Here there aren’t any need for storing images or videos
so the capacity of memory used is less however, we can update this in future if needed.by using a
PC with a normal configuration large amount of money is saved and the system is developed cost
efficiently.
My opinion on my database is that it is very efficient and saves money.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
40
Activity 2
2.1.
Developing The Database System
2.1.1. SQL DDL Statements of the Polly Pipe System
DDL stands for Data Definition Language and Create, Alter and Drop are some of the examples of
DDL statements. Following are some SQL DDL statements of Polly Pipe System.
1. SQL DDL Statement for CUSTOMER table
Figure 12:SQL DDL Statement for CUSTOMER table
2. SQL DDL Statement for EMPLOYEE table
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
41
Figure 13:SQL DDL Statement for EMPLOYEE table
3. SQL DDL Statement for EQUIPMENT table
Figure 14:SQL DDL Statement for EQUIPMENT table
4. SQL DDL Statement for INSTALLATION table
Figure 15:SQL DDL Statement for INSTALLATION table
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
42
5. SQL DDL Statement for INSTALATION_EMPLYEE table
Figure 16SQL DDL Statement for INSTTALLATION table
6. SQL DDL Statement for PAYMENT table
Figure 17:SQL DDL
Statement
for PAYMENT
table
Mohamed Akthar Kuthubdeen PA90204
Database
Design
& Development
Assignment-01
43
2.1.2. Evidence of Insert, Update and Delete Queries of the System in Visual Studio
1. Inserting a data
C# code snippet of insertion of data into CUSTOMER table
Figure 18:Insertion C# Code
When we click the INSERT button in the Customer form a message box will pop up to confirm the
registration is successful.
19:Insert Data GUI
Mohamed Akthar Kuthubdeen Figure
PA90204
Database Design & Development Assignment-01
44
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
45
CUSTOMER table data in Polly Pipe database after INSERT operation
Figure 20:Insert Data Table
When we perform view operation after the insert operation the newly inserted data will appear as
shown below
Figure 21:View data after inserting
2. Updating a data
C# code snippet of updating of data into CUSTOMER table
22:Update data
C# code
Mohamed Akthar Kuthubdeen PA90204 FigureDatabase
Design
& Development Assignment-01
46
When we click the UPDATE button in the Customer form a message box will pop up to confirm the
updating is successful.
V
Figure 23:Update data GUI
CUSTOMER table data in Polli pipe database after UPDATE operation
When we perform view operation after the update operation the newly updates data will be updated
and appear as shown below
Figure 24:Update data table
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
47
Figure 25:View data after updating
3. Deleting a data
C# code snippet of deletion of data into CUSTOMER table
Figure 26:Delete data C# code
When we click the DELETE button in the Customer form a message box will pop up to confirm
that the data is deleted successfully.
Figure 27:Delete
data GUI Design & Development Assignment-01
Mohamed Akthar Kuthubdeen PA90204
Database
48
CUSTOMER table data in Poli pipe database after DELETE operation
Figure 28:Delete data table
When we perform view operation after deletion operation, the corresponding data will be deleted
and the table will appear as shown below
Figure 29:View data after deleting
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
49
2.1.3. Implementation of Validation Methods
1. Range check
This checks the data is between an upper and lower acceptable value, within a certain range.
In our system NIC is an example of the attributes which can have only a restricted amount of
digits, hence range check is used to define them.
Figure 30:Range Check
2. Presence check
Checks the user has at least entered something into the field, stopping them from accidently leaving
it empty. This check is used while defining all the primary keys because they cannot be empty and
other attributes which shouldn’t be null as well.
Figure 31:Presence Check
3. Drop down box
It helps to avoid errors based on spelling mistakes and unwanted responses.in our system there are
only 3 types of customers and we shouldn’t select a type beyond those 3, so we have used drop down
box to select the customer type.
Figure 32:Drop Down Box
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
50
4. Type check
Checks that the data entered is of an expected type. For an example, Name should be of
varchar(string) type and the contact number should be in integers.
Figure 33:Type Check
2.1.4. Example for Join Query
The following join query is used to get the payment details with the INSTALLATION details and
the customer details.
SELECT * FROM (
(PAYMENT AS P INNER JOIN CUSTOMER AS C ON P.Cust_Id=C.Cust_Id )
INNER JOIN INSTALLATION AS I ON I.Cust_Id=C.Cust_Id);
Figure 34:Join query output
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
51
2.2.
Implementing Query Language into the Relational Database System
2.2.1. Usage of DML
1. SELECT
SELECT * FROM EMPLOYEE
This command is used to retrieve data from the specified table according to our need.
The resulting data table after the command is executed
Figure 35: SELECT command RESULTS
2. UPDATE
This command is used to update any information that is already stored in the table.
Data table before executing the update command
Figure 36:Data table before UPDATE
UPDATE EMPLOYEE SET Contact_No=009755453445 WHERE Emp_Id='SHA1'
The resulting data table after the command is executed. Here the corresponding data has been
updated.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
Figure 37:Data table after UPDATE
52
3. DELETE
This command is used to delete any unwanted data from the existing data.
Data table before executing the deletion command.
Figure 38:Data table before DELETE
delete
From CUSTOMER where Cust_Id='C004'
The results after executing the deletion command. Here the corresponding data has been deleted
from the table.
Figure 39:Data table after DELETE
2.3.
System Security and Database Maintenance
2.3.1. Security Mechanisms
Database security refers to the collective measures used to protect and secure a database or database
management software from illegitimate use and malicious threats and attacks. It is a broad term that
includes a multitude of processes, tools and methodologies that ensure security within a database
environment.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
53
Database security is generally planned, implemented and maintained by a database administrator
and or other information security professional.
Some of the ways database security is analyzed and implemented include
1. Restricting unauthorized access and use by implementing strong and multifactor access and
data management controls
2. Payment/stress testing and capacity testing of a database to ensure it does not crash in a
distributed denial of service (DDoS) attack or user overload
3. Physical security of the database server and backup equipment from theft and natural
disasters
4. Reviewing existing system for any known or unknown vulnerabilities and defining and
implementing a road map/plan to mitigate them
(Database Security, 2017)
In my system I used two methods to ensure security
1.
Creating user and granting level permissions
For this we have to launch the SQL Server Management Studio and connect with credentials that
have been granted the 'sa' role and continue doing the following steps.
Step 1:
Expand ‘Security’, right-click on ‘Logins’ and select ‘New Login’
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
54
Step 2:
Enter a descriptive ‘Login name’, here I have selected ‘Normal_User’ as the login name
select ‘SQL Server authentication’, and enter a secure password. On the bottom of the page select
the database Polly_pipe will be connecting to as the ‘Default database’
Figure 41::Granting level permission step 2
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
55
Step 3:
Select the ‘User Mapping’ tab, check the box next to the desired database(Polli pipe), confirm the
role membership of whom do you want to give his privilege and click ‘OK’
Figure 42:Granting level permission step 3
Step 4:
Click the ‘New Query’ button and select the database we are connecting to Normal_User.
Type following query into the query window and execute.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
56
Figure 43::Granting level permission step 4
Step 5:
Select and copy the query results into the query window.
Remove any tables or views you do not wish the "Normal_User" to have access to. Here I have
removed employee and payment tables because the payment details and the employee details are
sensitive information which only the admin should handle.
Figure 44::Granting level permission step 5
Then execute the query.
Figure 45::Granting level permission final code
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
57
2.
Password login facility
For this I created a password login form for administrators and the data entry employees to login
based on their user account
Figure 46:Login interface
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
58
2.4.
Meaningful extraction of data
2.4.1. Usage of SQL Statement
1. Group By
The GROUP BY statement is often used with aggregate functions (COUNT, MAX, MIN, SUM,
AVG) to group the result-set by one or more columns.
select count(Emp_Id),Emp_Type from employee group by Emp_Type
Results after using GROUP BY statement on EMPLOYEE table
3
Figure 47:Group By
2. Order By
The ORDER BY keyword is used to sort the records in an order. It sorts in ascending order by
default. To sort the records in descending order we use the DESC keyword. We can also use ASC
to sort in ascending order
select * from EMPLOYEE order by Emp_Name desc
EMPLOYEE table after sorting by employee name in descending order
4
Figure 48:Order By
3. Having
The HAVING clause was added to SQL because the WHERE keyword could not be used with
aggregate functions.
SELECT COUNT(Emp_Id) as No_of_Employee , Emp_Type From EMPLOYEE
group by Emp_Type having count (Emp_Id) >1
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
59
Resulting table after using HAVING clause on CUSTOMER table.
2
Figure 49:Having
4. Between
The BETWEEN operator selects values within a given range. The values can be numbers, text, or
dates. This operator is inclusive, that means the begin and end values are included.
SELECT * FROM PAYMENT WHERE Pay_Date BETWEEN '2/8/2021' AND '2/10/2021'
PAYMENT table after using BETWEEN operator on it.
Figure 50:Between
5. Where
The WHERE clause is used to filter records. It’s used to extract only those records that fulfil a
specified condition.
SELECT * FROM PAYMENT WHERE Pay_Type = 'Cash'
Resulting table after the usage of WHERE clause on PAYMENT table
Figure 51:Where
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
60
Activity 3
3.1.
Testing
3.1.1. Test plan
A test plan for software describes what's going to happen, how long it will take, who is going to do
it, what it will be done to, and what we expect to come of it. Think of it as a very detailed way to
carry out the testing of a piece of software so we can be sure we have covered all the angles. The
overall software testing process also has many other formal procedures, but the plan is where we
begin.
The plan is very important, because it summarizes the testing process. The plan is broken down into
manageable pieces so we know how to deal with each aspect of that process. And it's a record of our
objectives, so we can look back and see how we did.
An Example of a Test Plan
The exact format of a test plan will vary from need to need, but you can bet that there are some
features you will find in most any plan. Here are some of those features:
1. Introduction
2. Objectives
3. Scope
4. Strategy
5. Requirements
6. Risks
7. Schedule
8. Roles/Resources
9. Procedures
10. Musts/Must-Nots
11. Milestones/Sign-Offs
(Meinecke, 2016)
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
61
Why database test is required?
1. Data Mapping
2. ACID properties validation
Figure 52:ACID Diagram
3. Data integrity:
4. Business rule conformity
The general test process for DB testing is not very different from any other application.
The following are the steps to test a database:
Step 1: Prepare the environment
Step 2: Run a test
Step 3: Check test result
Step 4: Validate according to the expected results
Step 5: Report the findings to the respective stakeholders
Figure 53:Database test steps
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
62
Usually, SQL queries are used to develop the tests. The most commonly used command is “Select”.
Apart from Select, SQL has 3 important types of commands:
1. DDL: Data definition language
2. DML: Data manipulation language
3. DCL: Data control language
(Database Testing, 2018)
3.1.2. Test Plan of Polly Pipe System
Test
Case
Short description of testing
Steps follow
Expected results
ID
Click the log in button The main form must appear.
after entering the correct
Log in with the correct username and username and password
1
password.
in the relevant textboxes.
Click the log in button Message box have to show
without
2
3
with
incorrect
both the message “Empty field
username and password detected. Please fill up all
Log in with empty fields.
Login
entries
the fields”.
fields.
username
password or both.
Mohamed Akthar Kuthubdeen PA90204
or
Login
with
wrong Message box have to show
username and password the
entries.
message
“Incorrect
username or password”.
Database Design & Development Assignment-01
63
The information should be
4
Select the insert option
Insert information into a form.
after filling the form.
saved in the database and
the message box must show
a
message
“Inserted
successfully!”
The information should be
Press delete button after deleted from the database
5
Delete an information in a form.
selecting
a
particular and the message box must
show a message
row.
“Data
Deleted successfully!”
The
Press the update button
6
Update an information in a form.
after
changing
any
information
corresponding
information
should
be
updated in the database and
the message box must show
a
message
“Updated
successfully!”
View
7
all
the
information
of
the
Installation/payment/Customer/Equipment
unit.
All
Press the view button.
the
details
of
corresponding form must be
viewed in the data grid view
in the form.
Mohamed Akthar Kuthubdeen PA90204
the
Database Design & Development Assignment-01
64
3.1.3. Test cases
1. SELECT a table
SELECT * FROM CUSTOMER
Expected Output: Displaying the CUSTOMER table
Obtained Output: The CUSTOMER table is displayed
Figure 54:SELECTION test
2. DELETE a record in the table
DELETE FROM EMPLOYEE where Emp_Id ='SHA67'
Expected Output: Deleting the record of customer ID SHA67
Obtained Output: The record deleted successfully
Figure 55:DELETION test
3. UPDATE a record in the table
UPDATE EMPLOYEE SET Contact_No='02152345288' where Emp_Id = 'SHA11'
Expected Output: Updating the corresponding data
Obtained Output: Data updated successfully
Figure 56:UPDATING
test
Mohamed Akthar Kuthubdeen PA90204
Database
Design & Development Assignment-01
65
4. INSERT data into the table
INSERT INTO EMPLOYEE VALUES ('SHA55','Alison Smith','9875642515','Sackville Street','Brick
Layer','97584582525')
Expected Output: Inserting the data successfully
Obtained Output: Data inserted Successfully
Figure 57:INSERTION test
5. Range check test
INSERT
INTO
EMPLOYEE
VALUES
('SHA55002500000','Alison
Smith','9875642515','Sackville
Street','Brick Layer','97584582525')
Expected Output: Not accepting the data inserted
Obtained Output: Statement termination
Figure 58:Range check test
6. Type check test
INSERT INTO PAYMENT VALUES (652,'C003','INFWG',02/05/)
Expected Output: Cannot insert INTEGER data in place of DATE type data
Obtained Output: Incompatible data type, error message received
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
66
Figure 59:Type check test
7. Inserting a duplicate primary key
INSERT
INTO
CUSTOMER
VALUES
('C001','Lee
A.
sun','9858785785','Oak
House17
Wroxton
Road','09666854112')
Expected Output: Cannot insert data for a duplicate primary key
Obtained Output: Violation of primary key message received
Figure 60Duplicate primary key check test
3.2.1. Effectiveness of Testing
Every company has a database of their important data which must be preserved carefully for a certain
period of time or for the life time. These data may be confidential ones or may play an important
role in their day to day activities. It is told that the data of a company is a valuable asset for them
and should be maintained carefully. It is the duty of the database developer to protect and take safety
precautions in order to avoid any unwanted risks. Testing provides the concrete feedback required
to identify defects. Therefore, certain type of tests should be done on the database created by the
developer for a system. Talking about Polly Pipe System, I have done some tests as mentioned in
the previous section (3.1.1) just to make sure that none of my codes have any errors and to know
whether there are any chances for any unexpected errors or breakdowns during the execution of the
system.
The Polly Pipe System is more about storing and retrieving the stored data and doesn’t have much
calculation parts, so I decided to test mainly on SELECT, INSERT, DELETE and UPDATE queries
which are the most used ones in my system. This test helped me to make sure there aren’t any errors
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
67
while registering a new customer or employee and retrieving details about them and the Payment
operation. I tried adding a certain number of data into my database to check the the capacity of my
database. I also did some tests to make sure all my key constraints are correct and runs smoothly,
else there could be difficulties in retrieving data from two or more tables at the same time. So I tried
adding duplicate data for the same primary key value to check all my constraints. The type check
test helped to make sure no one can enter wrong type of information into the database. The range
check I did, helped me to ensure any data which isn’t in the specified range is added into the database.
These tests helped me to present my system and database without any errors and to make it a welldesigned one. All the tests are really effective and helped me to make my system a robust and error
free one.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
68
3.3.
Evaluating the Effectiveness of the Database Solution
3.3.1. Evaluation from the Feedbacks
After finishing the system development and tests it’s is important to find out whether the system we
developed satisfies the targeted people’s expectations. Getting feedbacks from others are the best
way to evaluate our system. There are a number of ways to get feedbacks from people and some of
them are mentioned below.
1. Surveys
2. Questioner
3. Interviews
The main target users of the Polly Pipe System are non-technical users however to make the system
more efficient we also need some tips from the technical side as well. So I chose two methods from
those mentioned above, each to get feedbacks from each type of users.
1. Questioner
The first method I selected was questioner. Customer satisfaction surveys can help us find out what
people think of our system. When we listen to our targeted users, we can make decisions that build
a more efficient and interactive system. As our target users are non-technical users, I decided to give
some questioner to the students from other batch in E-Soft and get their feedback. Therefore, I
prepared a set of questions and answers and asked them to fill it. From their response I got some
ideas to enhance my system.
The questions I prepared and an evidence of the feedback form filled by a student are as follows.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
69
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
Listen effectively to feedback without giving an opinion, reason or clarity to the person giving
feedback. You will learn more from listening to their reason then explaining
……Aman…………….
Signature
Mohamed Akthar Kuthubdeen PA90204
13 04 2022
……………………..
Date
Database Design & Development Assignment-01
70
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
Invest time in developing and agreeing upon objectives and standards or performance with the team
and or individuals to achieve better performance moving forward.
…Akther……………….
Signature
Mohamed Akthar Kuthubdeen PA90204
13 04 2022
……………………..
Date
Database Design & Development Assignment-01
71
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
Understand the objectives and how the company, team, individuals, services or products are
to be measured on their success or failure from the feedback
Niroshan
………………….
Signature
Mohamed Akthar Kuthubdeen PA90204
16 04 2022
……………………..
Date
Database Design & Development Assignment-01
72
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
Concentrate on proprieties of work
20 04 2022
Sameer
………………….
Signature
Mohamed Akthar Kuthubdeen PA90204
……………………..
Date
Database Design & Development Assignment-01
73
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
recognize expertise or successful products and services the companies has from the feedback
Rio
Signature
Mohamed Akthar Kuthubdeen PA90204
04 26 2022
Date
Database Design & Development Assignment-01
74
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
Dissatisfied Neutral
dissatisfied
Satisfied
Very
Satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
company to achieve its objectives and improve where the company seemed weak from the feedback
jude
………………….
Signature
Mohamed Akthar Kuthubdeen PA90204
04 27 2022
……………………..
Date
Database Design & Development Assignment-01
75
3.2 Get independent feedback on your database solution from the non-technical users
and some developers (use surveys, questioners, interviews or any other feedback
collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section.
Very
dissatisfied
Dissatisfied Neutral
Satisfied
Very
satisfied
User
Satisfaction
User
Friendliness
Performance
Interface
Font & Color
Table 13 User Feedback Chart
Comments:
Once you get the feedback clarify the overall direction and the strategy of the company to achieve
its objectives and improve where the company seemed
arshath
Signature
04 26 2022
……………………..
Date
After analysing the feedbacks, the answers in the red font are found to be the most selected answers
by the non-technical user
As per the feedback by most of the students, I made some changes in the interface of my system in
order to make it more user friendly
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
76
2. Interviews
The next method selected was an nterview.as I mentioned above, I also needed some technical
feedbacks hence, I decided to have an interview with some of my lecturers regarding the system I
developed. From their feedback I made some changes in order to make my system more efficient
one of the point they mentioned is to have a button to get daily/weekly evaluation of Payment made
and I created daily and weekly report generation buttons.
Finally, I was able to get feedbacks from both the technical and non-technical users and it helped
me to evaluate and update my system in an effective way.
Recommendation
Make changes in the user
interface
Conclusion
Type of user
Change the colours and style of
the interface to make it more user
Non-technical user
friendly
Add another button to get
Create a button to create daily
daily/weekly evaluation of
and weekly reports of Payment
Payment.
made
Technical user
Table 11:Recommendations and conclusions
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
77
Activity 4
4.1.
Technical and User Documentation
4.1.1. User Guide
Insertion of data
Figure 62:Insert user guide
To insert any data into the database the user must fill all the details asked in the form, and after
filling the form the user should press the SUBMIT button as shown above.
Viewing the data
Figure 63:Delete
user guide
Mohamed Akthar Kuthubdeen
PA90204
Database Design & Development Assignment-01
78
To view the data stored in the database the user must press the VIEW button as shown above.
Deletion of data
Figure 64:Delete user guide
To delete any data that exist in the database the user must select the view button and then, select the
corresponding row he/she wants to delete and then press the DELETE button as shown above
Updating the data
Figure 65:Update user guide
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
79
To update any data in the database the user must fill the data which he wants to update and mention
the corresponding id for which the user wants to update and then should press the UPDATE button
as shown above.
4.1.2. Technical Guide
To develop this system, I used C# as the language. Microsoft Visual Studio is the IDE I used to
develop my system interfaces and code. For the database development I use SQL and I also used
SQL server to run the database. These soft wares helped me to develop an efficient system for Polly
Pipe Company with database to satisfy their needs.
Roles and responsibilities
Admin – can access the whole database and can insert, delete or update any data as needed. This role
is recommended to be given to the manager of the company
Normal user- the access is restricted. This role can be given for data entry employee.
Security
SQL is a secured type of language and data cannot be easily stolen by any one.
We also use password login facility, so the data is protected
System requirements
A machine with a minimum requirement of windows 7 with a medium capacity hard disk is needed.
System features
3. Insert data
4. Update data
5. Delete data
6. View data
7. Create reports
8. Encryption
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
80
4.2.
Technical Documentation for A Fully Functional System
4.2.1. Diagrams
1. Use Case Diagram
Figure 66:Use Case Diagram
2. Data Flow Diagram
DFD Level 0
PP
S
Figure 67:DFD Level 00
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
81
DFD Level 01
Figure 68:DFD Level 01
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
82
3. Flow Chart
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
83
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
84
4.3
Ensuring Continued Effectiveness of Database System
4.3.1. Future improvements
As time runs the both the business and technical environment evolve, as a result our system may get
useless or in efficient if it doesn’t adapt to those changes on time. For our system to sustain we
should make some improvements time to time. Talking about changes, the main thing is the software
and hardware changes. Our system should be updated at least once 6 months to adapt those
changes.as time passes, the main problem we could face is the capacity of data, because of some
safety precautions and legal issues we should preserve our data without deleting so, for this we
should have a more efficient backup option. The backup is also needed to avoid data loss. Sometime
some customers might be currently inactive, creating a new account after they become active after
years will add additional storage space, so we shouldn’t delete any data, but can improve the capacity
of our hard disk.
In future our system should be able to be accessed from several devices simultaneously. For this we
should update our system into an online system connected with internet and should also improve
some security features. We should also add some more privileges to number of users types so that a
set of employees can work with or access the system. Updating it into an online system also helps
real time transactions and backups so that our system would work more efficiently.
Following these improvements would ensure continued effectiveness of the Polly Pipe System and
the system would sustain for a long time.
Self-Criticism
I was able to complete the assignments before the deadline because of the concern and interest
towards the subject. There were some factors that affected my completion of the assignment, some
were the strengths and some were weakness.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
85
Strengths
1. Starting the assignment on time
2. Defining my own deadlines to complete the tasks
3. Motivation I got from my lecturers and friends
Weakness
1. Time management
2. Misunderstanding of the concept of some tasks
At the beginning I struggled to do my assignments and faced some difficulties after the guidance
and the help of the above mentioned strengths finally I was able to complete my assignment on time.
I learnt to fix my own deadlines for finishing each task and to finish the final assignment as well.
Now I have a good knowledge on doing assignments.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
86
CONCLUSION
This assignment has been written and processed up to my knowledge I got while studying Database
Design and Development in HND of Computing and Systems development. Furthermore, this
assignment consists solutions which has been described with the problems stated in the scenario
given in the assignment brief and explained by the lecturer.
Solutions which has been stated with proper evidence and some other criteria of actions should be
taken from the side of the assignment creators.
Moreover, this assignment has been affiliated to the terms and conditions which have been described
with the rules that have been learned from our class room and existing assignment documentations.
Some solutions have been described and evaluated from some users and some staffs of my institution
to get positive feedback regarding the solution, and I assure that there will be some modifications
and re-configurations in the system to increase the performance of the system configuration and the
management of the system related to the assignment brief.
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
87
References
BBC, 2014. BBC. [Online]
Available at: http://www.bbc.co.uk/schools/gcsebitesize/ict/databases/3datavalidationrev1.shtml
[Accessed 13 04 2022].
Database Testing, 2018. Software Testing Help. [Online]
Available at: https://www.softwaretestinghelp.com/database-testing-process/
[Accessed 13 04 2022].
DBMS Tutorials, 2017. W3Schools. [Online]
Available at: https://www.w3schools.in/dbms/intro/
[Accessed 13 04 2022].
GURU 99, 2017. Guru99 - What is Normalization? 1NF, 2NF, 3NF & BCNF with Examples.
[Online]
Available at: https://www.guru99.com/database-normalization.html
[Accessed 21 04 2022].
Meinecke, L., 2016. Study.com. [Online]
Available at: https://study.com/academy/lesson/what-is-a-test-plan-in-software-testing-examplesdefinition.html
[Accessed 22 04 2022].
Prechelt, L., 2014. Software Engineering Stack Exchange. [Online]
Available at: User requirements talk about the problem domain, the world of the user. They
describe what effects need to be achieved. These effects are the combined responsibility of the
software, the hardware, and the users.
[Accessed 21 04 2022].
Rouse, M., 2017. TechTarget. [Online]
Available at: https://searchsqlserver.techtarget.com/definition/database
[Accessed 22 04 2022].
SINGH, C., 2016. DBMS Tutorial. [Online]
Available at: https://beginnersbook.com/2015/04/dbms-introduction/
[Accessed 22 4 2022].
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
88
Mohamed Akthar Kuthubdeen PA90204
Database Design & Development Assignment-01
89
Download